程序员如何“变轨”

前言

笔者干了3年多web测试开发(lamp)、2年java开发,最近有感于个人成长,遂作此文,望与诸位大牛共勉。

程序员的展望

笔者信管专业毕业,一直觉得可以比测试同学做得更多,便转了开发,还制定了一个目标:

  • 第一年靠谱:代码无bug
  • 第二年熟练:效率高
  • 第三年牛逼:融会贯通,专治各种疑难杂症

除去主动学习spring视频的1个多月,后面基本是靠项目中的被动学习来走。2年已经过去,随着头发的不断减少,之前的目标基本实现,但距离“牛逼”还有不少的距离。最近一直在思考,为啥成长的速度略慢......

程序员的工作轨道

程序员的沼泽

咱们程序员换工作面试时,通常会要去xx年工作经验。很多人(包括hr,甚至技术主管)都只考虑实际的工作年限,而实际上体现程序员工作经验积累的往往是工作能力,这是很难用年限去衡量的。一个很明显的例子就是某程序员工作5年,做的事情跟第1年基本一致,积累基本为0,只会重复地实现需求,成为真正意义上的“码农”。

程序员如何“变轨”

如上图所示,在实际的工作中,很多程序员小伙伴一不小心就陷入了里面的蓝色小圈子,一直被业务拉着推着跑,焦头烂额,周而复始,最终的成长只是遇到问题时被动学习的小点,既没有深究,也没有沉淀积累……如果一直意识不到这样的工作方式其实是在不断地滑入沼泽,最终只会成为“温水中的青蛙”,而这其实是一个有追求、有情怀的程序员所不愿看到的,也是团队和主管所不愿意看到的。

 

理想的天堂

团队和个人最终的诉求肯定是一致的,即在个人技能提升、效率提升的同时,更好地满足业务的需求。相对理想的工作方式上图中橙色外围圆圈,是一种良性循环。一边满足业务需求,一边不断主动学习,提升技能和效率。

如何变轨

这个问题我考虑了很久, 觉得最终的钥匙就是“主动学习”,程序员中间的差距一定是上班8个小时、睡觉8个小时之外的那8个小时。

程序员如何“变轨”

从工作学习方式上来看,我们要从最基本的完成业务需求、偶尔的被动学习延伸为:以被动学习为契机,主动深挖,不断地学习某个点的知识,最终串连成面,打通“任督二脉”。

从个人情感体验来看,就是要勇敢面对各种问题,将“延伸区”扩展为自己的“舒适区”,积跬步以致千里。

如何实施

实施需要一个很重要的前提条件——发自内心的想要去提高技能。当然,如果你觉得当前的技能已经够用,或者你不想花这份心思,可能接下里的内容可能都与你无关。

 实施最终落地时需要一个学习计划,这里面包括两点:学习内容、时间进度安排。实施时按照这2点来做即可。这个计划一定要适合你自己的,切实可行的。

学习时间哪里来?

学习的时间主要还是那8个小时如何分配。如果有了家庭,宝宝,可能会比较困难一些。

总之项目或者日常的时间评估一定要尽量合理,保证上班时间内可以完成,并且应对风险,有一定的buffer。我给自己时间的要求就是下班之后不干活(只学习或者娱乐)。

学习内容如何确定?

主要是跟着学习计划系统整理,过程中也会掺杂着以项目中遇到的问题为点,将被动学习延伸为主动学习。

再好的学习计划还需要扎扎实实地实施和跟进,附一份我给自己制定这一年学习、整理计划,与小伙伴们共勉,也欢迎大家与我交流。 

程序员如何“变轨”