工作两年记

Posted by Masutangu on July 13, 2016

转眼间,我也已经工作了快两年了。两年,在互联网行业,是一个尴尬的时间点。一方面,你不再是一个新人,意味着你的潜力已经渐渐被挖掘得差不多了。另一方面,你又还没完全成长,你会承担一些责任,但也许还没办法掌控全局,做到游刃有余。

回想起刚入职,由于自己完全没有工程经验,心里相当忐忑。机缘巧合,leader 给我分配的第一个任务是爬虫。Python 对于新手来说相当的友好,我很快就上手并能够做出一些简单的成果。之后又熟悉了 Django,了解 MVC。之后再尝试空闲时间读一些库的源码,并最终自己用 Python 写了一个开源项目 Elric(基于 Apscheduler )。这些经历极大得提升了我的自信心,也锻炼了我的代码能力和少部分的架构能力。

第二年的时候,我给自己的计划是多学习新的知识点,重在求广。因此我学了 Golang,写了个小项目 SuperScripter 练手(最终这个项目的进化版用在了工作中);学习了 iOS,写了一个简单的 ToDoList, 对客户端有了些了解;读了 NSQ 的源码,大致了解消息队列的实现;还读了一段时间的非技术类的文章(读书笔记:水滴石穿),希望自己的思维可以更宽广,可惜后来没坚持下去。

到了今年的年初,我感觉自己在技术上到了一个瓶颈,对于职业发展也有些迷茫。总会觉得自己在原地踏步,会的更熟练,不会的还是不会,让我有些急躁,心情也不是特别好。有一阵子我每天一闲下来就会想:“到底怎么做才能更进一步?”,始终绕不出这个困扰。后来我发现想要驱除内心的恐慌,取得让自己满意的进步,唯一的方法就是花时间做一些更深入的研究,而不是浮在表面。浮在表面让我非常没有安全感,如果你很快就能学会的,别人也可以。所以我不再把重心放在新知识上,打算打牢基础,并在自己感兴趣的领域做些探索。

想清楚后,我规划了接下来这一年的学习路线:

  • 回归语言的本质

    学再多语言,不深入思考的话,也只是学到皮毛。不应该止步于会用,而是要深入到编程语言的设计哲学。我希望之后在这方面有一些理解。

  • 网络框架读源码,造轮子

    在公司工作,都有了现成的框架。就算自己做项目,也有很多开源框架可以使用。和编程语言类似,我希望自己能够再深入些,比如读读协程/异步/同步框架的代码,比较他们的适用场景,最好是能够自己造一些轻量级的轮子加深理解。

  • 巩固操作系统/编译原理/网络基础

    看书学习理论,造轮子加深理解。也许工作中 90% 的情况下不需要这些知识,但总会有 10% 的概率会出各种奇奇怪怪的问题,这时就是考验基本功的时候了。

我觉得第两年到第三年,是一个关键点。这一年,我希望兑现全部潜力,大幅度提升自己的能力,不仅是代码能力、架构能力,还有工程素养。我希望三年级的我,可以扛起重任。就像 NBA 的球员一样,经历了两年的磨砺,三年级,也该去争取进入全明星,争取一阵,争取属于自己的总冠军了!