part 04:
找到适合自己的学习路径,明确路径方向,什么是明确路径方向呢?
我也准备一些方法论教给大家,主要是4个明确,我逐一讲解。
明确领域:
根据自身所在的领域或者自己感兴趣的行业领域,进行技能和成长的抽象提炼。
我举例子,电商行业,可能需要你掌握支付相关的前端流程实现,购物车,购物详情页(评论组件,商家端的富文本编辑器,sku面板,放大镜,web版IM),商品多级关联搜索,搜索提示,商品订单正反向流程。
除了这些可能你还需要知道,大量的促销活动,前端如何支持那么多的活动页面,一些促销或者活动的cms相关的开发,甚至(cms本身的开发),或者静态活动页面的通用组件管理方式。
广告相关的前端技术,埋点收集统计相关的前端技术等等和电商相关的一些必备的属于电商行业比较独有的一些技术解决方案,尤其是前端的。
再举例子,社交相关的,对图片,图床相关的功能开发,比如瀑布流的实现,比如图片查看器的实现,比如长文微博的实现,当然也包括富文本编辑器的实现,各种评论组件加feed流的实现,同样通用的,广告投放,数据收集,用户识别追踪,多图上传的实现,sso的实现等。
当然有些技术点,并不是某个行业领域中特有的,但是我举例来说,就是在你所在的公司的行业领域中,和你部门的业务里,自己学会抽象技术点,把这些功能和技术实现总结抽象出来一套方案,当然很多已经是业界统一的标准了,这样自己短期近期的学习路径就一目了然了。
明确技能:
这个从2个方面来说,一个端来说,有些公司前端可能是做壳内的工作,比如electron,比如webview内的开发,比如c++做端上的开发,那么可能你需要就掌握除了前端开发之外一些端上的语言和开发学习了,比如学习c++,学习ios开发和android开发,或者nodejs开发,选对自己工作帮助最大的去学。
除了端相关的还有就是目前团队的技术栈,如果你不熟悉一定要在尽快短的时间内熟悉团队所用的技术栈,我这里不是说会开发,而是说,如果新开一个项目让你负责,你能否快速把团队现在的技术栈进行优化,复用,甚至升级的能力。如何快速在团队中脱颖而出的一个办法就是快速找到目前系统的缺陷,并快速帮助修复。这也是提升前端架构和工程化能力的一个阶段。
深度学习指的是什么?其实就是对目前已有的工作技能进行深入加强的一个过程,比如我们的架构目前是由许多第三方开源库进行拼凑组装的,阅读他们的源码,进行bug fix或者升级,制造一些轮子进行局部替换,开发新项目的时候,改变之前的一些架构。这些都算是深度学习,对已有框架做升级我觉得是最有意思的一件事,如果一旦做成,是非常对个人技能点出彩的一笔。
参见面试经典题目:你对团队最大的贡献or简述一个你觉得最自豪的技术成功或者技术实现。
明确目标:
长期目标和短期目标,其实结合上面的领域和技能2个方面来说,已经足够一些初中高级别的程序员自我进行总结归纳的了。我在这里特别说一下长期目标的指定吧,我拿我个举例子,我2013-14年的目标是成为一个业务线的前端负责人,或者技术负责人。2014-16年的目标是在前端领域做出一定的个人知名度。当然,指定完计划肯定是需要分解目标,把大目标拆分成小目标一步一步迭代的。比如成为前端负责人,首先你得技术能服众,二来,公司有新业务一定要第一时间去响应和支持,因为只有有了新业务才会有新负责人。。哈哈。比如在公司内部产生影响力,这个套用我大学的做法,就是不断的加强外接对你的标签化,大学时候大家对我的标签就是做私活,做网站找小爝,工作后我的标签就是,有搞不定的找我,我一直是致力于做一个问题终结者,这在我知乎回答的问题上也可以看出来。比如说要在前端领域做个人知名度,回答问题,写专栏,加技术群做管理,做live,做外部分享等等,其实都是短期目标,这些短期目标组合到一起长久积累就能帮你实现长期目标了。
我也建议大家前端开发工程师都给自己订一些1-2年的长期目标,比如学习全栈,自己做出一个独立web站点,比如学习app开发,自己在一年时间内做一款独立app,比如说做专业的前端技术博客,公号等等可能对于目前阶段来说非常难做到的一个目标制定。
不好意思的说,很长一段时间我的目标都是,今年月薪要超过XXX,明年月薪要超过XXX。如果达不到,我就会选择决策和指定计划来达到,总之目标感非常重要,除了公司的,一定要自己明确的长短期目标激励。
明确定位:
一个前端工程师在自己团队的定位,其实之前我们过的职级和能力模型已经说明了常见的一些阶梯职责,这里有一个小技巧,我相信很多leader,都是希望自己的team的人能够自主进步的,所以首先要先跟自己的leader明确自己在团队里的定位,职责,分工。
在团队对你的预期上,做到超出预期,可能很多人说,怎么超出预期啊,这个很难做啊。其实简单也困难,超出预期确实非常难,但是也不是没有办法。首先,我们先定义什么是超出预期,超出预期就是你的工作结果和表现超出了你目前团队对你的定位。
很好,如果是一个业务性团队,承接更多的业务和项目管理,时间管理工作,是不是就超出了leader对一个普通开发的预期?
如果是一个技术型团队,打造团队品牌,提升团队技术氛围,主动进行创新和已有项目优化,算不算超出预期?
如果这些都有人在负责了,那很好,你有了目标和榜样,跟他们交流,参与进去是否也算超出预期?
初级工程师的职责是完成业务模块的简单开发,那么独立负责一个模块开发算不算超出预期?帮助中高级工程师带其他初级工程师进行开发和技术攻关也算是超出预期。
其实超出预期很简单,就是多做,少推诿,手里,眼里有活而已,相信我,我这么多年工作的经验和秘诀其实也就是这个。
搞定自己的定位,明确下一个定位的要求,不断的超出预期,即可。
ok,说完了这4个明确的具体方法论,我相信,初中高级的工程师都能找到适合自己的成长学习路径了。我不怀疑每一个工程师的自学能力,如果自学能力不合格,是不可能走到这一步的,但是如何突破自我,确实是真的需要人来点破和指导的。