2016年总结
总结
2016年匆匆过去,时间无声无息的流逝着,总结是必须的,为的是更好的自勉,对自己有更清晰的认识,也为将来希望达成的目标做好新一年的准备。
总览回顾
2016年的回顾,大体上可以分为生活、工作和学习三个维度上的总结,总体上来说,工作和学习上有较大的变化,但今年生活方面的变化是最大的,但碍于隐私,生活方面的事情暂且不表。
工作方面,经历了一段短暂的创业历程而后进入一家稳定的企业,职业并没有变化,行业发生了变化,职位也发生了变化,对于工作当中获得的收获随后具体总结。
学习方面,主要集中在技术学习、读书、方法论、时间管理和思想上的演变。
工作
关于创业经历
之前年前有一篇文章讲述了创业的一些感悟,其实对于创业来说,我内心一直心存憧憬,但依旧茫然,可我却明确了一个事实,创业是一种生活方式,假如对创业还有迷茫和顾虑,那就说明你现在的状态不适合创业。你隐隐约约感觉到,创业是一种选择,同时也需要你有一定的能力,很久以前,听说过一个说法叫”创业所需要的人是浓缩果汁型的,不仅仅需要你有胆略更需要你有全面的能力和非常人一般的格局“,随后的经历也验证了这一说法,我不知道我距离这个要求有多少差距,但我知道这将是指引我前进的明灯。随后,我意识到,一定要以创业的心态去面对自己的工作和学习,尽可能的做到极致,前期阶段可能需要借助外力压榨自己的能力和推动自己成长,但我希望这种驱动力能由内产生,从而养成一种习惯。
对于创业这部分,我总结为,你需要时刻锻炼自我驱动的能力,不断补足自己的短板,从技术修炼、职业素养、为人处世、组织能力等方面努力寻找锻炼的机会并大胆尝试,同时技术、政经、社科与哲学方面全面提高自己的认知水平。
行业、职业与职位
其实大部分技术人员的思维仅仅停留在职业选择上,比方说,一个工程师在选择一家公司的时候,往往关注的是公司招聘的职位要求,JAVA高级工程师、前端工程师、移动端工程师、DBA等等,只要自己的技能与职业匹配、薪资合适或者平台可以,大部分人基本上就能确定自己要不要接受这样一份工作,对于公司也是一样,但现实往往不是这样。现实的情况是,到了一年或者两年,你总觉得自己似乎并没有在工作上获取足够多的成就感而公司总觉得自己招不到合适的技术人员,实际上程序员往往只关注与自己的技术学习,总会觉得掌握了哪门技术,研究了哪个算法进阶到一个专业的程度算是成功,而且现在市面上的技术强的开发者很多,技术行业一点也不缺乏专业人士但企业还是感到非常难以找到合适的人才,为什么呢?其实公司往往关注的是技术能否在自己所处的行业中发挥关键作用,真正懂得某一个行业的开发者少之又少,举个例子,可能你对各种推荐算法了然于心,但这些算法和技术对于电商这个行业的应用你知道多少,应用推荐算法对于提高电商的用户交易转化率有多少提高,你是否有关于电商方面推荐系统的行业解决方案,其实企业有时候不是需要技术多么高超的人但需要深刻了解本行业的技术人员能够带来实际的影响和效益。
关于这点的认知使得我今年变换行业以后,在技术学习的道路上更加关注于如何将专业的技术能力应用到行业中,所以,16年我总结的一些技术文章都或多或少的提及一些具体的业务场景,为某个具体的行业设计技术解决方案是一个比较大的转变,我希望在今年能更好的结合自己所处的行业总结和实践出来一些行业解决方案。多深入了解行业知识,锻炼自己在某个行业中能够创造的技术价值。
关于职业,目前仍从事移动开发这个职业,但今年明确的从移动互联网的发展中感受到,这个行业已经从以前的增量市场转变为存量市场,以前所有行业都在解决自己要有移动端的布局而现在则演变为怎么能够更好的发挥移动端的优势,这点双十一的移动端成交量和流量占比已经明显说明了移动端已经占据主要位置,而后大家拼的是在移动端方面的体验、成熟的商业模式实践以及更加全面移动端技术整合。作为一名移动端从业者,只开发App已经不能满足这个职位的需要,从技术上你需要了解目前发展空前爆发的前端以及日益成熟并且呈现出极致分工的后端技术,在具体的工作中,还要思考设计、营销和产品多种维度下的移动端综合实力,结合iOS与Android平台如何设计A/B Test系统、灰度测试系统,如何设计后端推送服务与App的各平台的推送机制相结的系统,推送服务如何配合数据收集,移动开发的工程化方案等等,你如何从这些方面更好的支撑产品、运营和业务的发展。这些都是今年在职业上获得的思考与一些经验。
关于职位,以前的职业经历中曾任一个拥有产品、设计、移动端开发、后端开发、前端开发等完整App团队的负责人,现在因为公司的变动则有所变化,责任范围收窄,更专注与技术团队,涉足管理方面与技术设计方面的工作,这方面我大概每周会有一到两天的管理工作,涉及到跨部门合作、项目管理、技术培训与预研、新人帮带等。收获的经验有一下几点:
- 跨部门合作要注意其他部门的工作方式和工作节奏,在配合过程中步调协调比工作分配与职责划分更重要,制定一套高效的沟通机制是团队合作的基础,以技术优势给予其他部门更好的支撑是来散发部门影响力,得到正向反馈的最佳途径
- 项目管理中,合理分配资源和关注资源瓶颈的同时,需要更加关注资源利用率和单个资源的效率问题,有时候瓶颈不在于资源够不够,而在于资源是否有效
- 团队技术建设要考虑到长时间范围内的需求增长,要有预见性,要估算试错成本
- 新人帮带过程中,要培养新人的工作态度、学习态度与思维方式的培养,主动放手信任新人才能够获取良好的成果
- 建立制度并不是解决问题的根本方式,培养团队习惯与团队技术氛围则是重中之重
工作态度的转变
关于工作态度的转变,曾经我把工作简单认为是凭借自己的技能领一份薪水,为了谋生一头扎进写代码的世界里,觉得只要技能足够强,随时可以转换到另外的地方,实际上这种态度是有害的,这会让你从心态上认为自己只是为某个公司打工,让你的整个职业生涯都固化为某一个角色。现在的心态则是将自己看作一个企业,而你的公司则是你的客户,拥有如此心态来看待目前的雇佣关系会让你从听从安排和完成任务的状态转变为自我治理和自我引导的地位,从公司领取薪水就变成是你客户为购买你的产品而支付薪酬。学会想企业一样思考,把自己当做一个企业,首先你要搞清楚当你是一个企业的时候,你提供的是一个产品或者是服务,不能提供有价值的产品和服务的企业是不会赚钱的,作为开发人员,也许你并没有一个实体的产品但是你却能提供诸如开发软件的服务、行业技术解决方案、管理方案以及其他的个性化服务,实际上你提供出来的是实现客户业务需求的能力与服务,作为一个企业,你必须时刻思考你提供的服务有什么样的价值,你需要不断改进和完善自己的产品和服务,你不仅仅要表明你带来的产品和服务的价值,你还要传递出你带来的与其他成千上万款软件开发人员所提供的服务有何不同。这样,其实你在工作中就学会了如何营销自己,如何提升自己创造价值的能力,你要想赚到钱,就必须使潜在客户了解你的服务和产品,大部分工作的人员都在专心致志的码代码,从而简单的满足工作合同上面规定的职责需求,而当你将工作态度转变成如此这般的时候,你不能像他们一样,你需要做到如下几点:
- 专注于你正在提供怎样的服务,以及如何营销这项服务
- 想方设法提升你的服务
- 思考你可以为哪一特定行业的客户提供特定的服务
- 集中精力成为一名专家,专门为某一特定的客户提供整体服务,不仅仅是开发的服务,专注某一类会大幅度的让你从工作中获得提升并且在未来拥有更好的工作机会和职业发展
工作中的正向反馈
以前我的观点认为,坚持正确的事情很难,工作中有太多不合理的方案和不合适的决策,你需要与此斗争并坚持自我,才能够保持良好的状态。实际上过分的去区分对错则会使你站到你本想达成的目的的对立面。在工作中带来正向反馈则比区分对错和划分责任有意义的多,因为毕竟你是希望达成你的目的的。在工作中你需要坚持付出,主动承担责任,你需要成为团队中行动力最强的人,而不是最正确的人,举个例子,你希望你认为对的技术方案能够实施,并不是通过强行说教来推行的,你需要立刻能够行动,拿出Demo或者是试验后的数据来表明你的方案有效性,当别人在质疑你的时候,最有效的和最有决策效率的方式是,你动手做出来,并且扫除别人实施这套方案的障碍,举个例子,你希望iOS和Android同时用一套解决方案,如果对方一开始拒绝,那么努力说教是没有用的,你可以直接作出代码实践,甚至将前端、后端或者是其他移动端使用的第三方库或者是代码实践给找出来,提供出来,扫除这些障碍,久而久之,你的以身作则会在团队中带来正向反馈,你的方案的效果大家都看在眼里,这种正向的反馈的积累会变成他人对你日益增长的信任,这种信任会使得你在后期更加轻松愉快的做正确的事情。
学习
技术学习
本年度学习的技术大概分为三块:
- 前端技术与后端技术
- 工具化
- 拥抱开源
前端技术
前端技术主要掌握了JavaScript这门语言,熟悉了最新的ES5和简单了解了ES6,通过学习NodeJS理解了CommonJS规范,眼花缭乱的前端工程化发展也粗略的了解了NPM、glup.js、Bower等工具,能够使用NodeJS构建WebService,H5、HTML、CSS3等技术在不断使用中进行积累和实践
后端技术
掌握了Python这门语言,通过构建webservice学习了关于API服务、路由系统、nginx原理,后端消息分发,中间件概念,底层系统服务化,分布式程序的部署和服务器运维等相关知识
工具化
- 移动端开发搭建CI服务器
- 日常工作中使用脚本语言编写开发工具
- 自动化发布与自动化打包
- webhock的系统连接
拥抱开源
目前开源了一个移动端iOS端路由库,尝试着使用开源社区来与其他开发者交流经验与技术,维护开源库来提升开发能力
读书
本年度读了以下几本书
- 《 世界秩序》
- 《必然》
- 《一网打尽》
- 《软技能-代码以外的生存指南》
- 《奇特的一生》
- 《MacTalk 人生元编程》
- 《黑客与画家》
- 《马克吐温短片小说精选》
- 《简约至上》
- 《简单逻辑学》
- 重读《人性的弱点》
- 《swift进阶》
- 《NodeJS深入浅出》
- 《深入理解计算机系统》30%
- 《JavaScript DOM编程艺术》60%
- 《人月神话》
方法论
从《软技能-代码以外的生存指南》这本书中学会了一个叫做十步学习法的学习方法,有一篇文章进行了总结,使得自己在学习中找到了一个高效可复用的学习方案
时间管理
根据自己的目前的状态迫切地感觉到时间资源的紧迫性和自我时间管理的缺乏,读了一本《奇特的一生》,开始实践时间统计法,使用了很多时间追踪App,包括aTimelogger、Timetrack.io、日历、时间块等App来进行时间统计,结果如下:
时间管理牵扯到量化人生的概念,目前从中受益的是可以从时间的整体分配上寻找到一些问题,比方说工作有效时长、TimeKiller浪费时间的多少和娱乐锻炼的缺乏,从中发现,其实并不是时间不够用或者是忙碌,而是时间的分配存在问题,在统计某一细小事件的时候,可以对照自己的计划找到实施的瓶颈在哪。另外,可以从时间投资的角度上去观察,自己的时间分配投入与产出比,从而寻找到一个更加合理的平衡。
以上,就是年末的马马虎虎总结,其实有很多地方值得思考,后期也会慢慢深入研究。