转眼间,我也已经工作了快两年了。两年,在互联网行业,是一个尴尬的时间点。一方面,你不再是一个新人,意味着你的潜力已经渐渐被挖掘得差不多了。另一方面,你又还没完全成长,你会承担一些责任,但也许还没办法掌控全局,做到游刃有余。
回想起刚入职,由于自己完全没有工程经验,心里相当忐忑。机缘巧合, leader 给我分配的第一个任务是爬虫。 Python 对于新手来说相当的友好,我很快就上手并能够做出一些简单的成果。之后又熟悉了 Django ,了解 MVC 。之后再尝试空闲时间读一些库的源码,并最终自己用 Python 写了一个开源项目 Elric(基于 Apscheduler )。这些经历极大得提升了我的自信心,也锻炼了我的代码能力和少部分的架构能力。
第二年的时候,我给自己的计划是多学习新的知识点,重在求广。因此我学了 Golang ,写了个小项目 SuperScripter 练手(最终这个项目的进化版用在了工作中);学习了 iOS ,写了一个简单的 ToDoList, 对客户端有了些了解;读了 NSQ 的源码,大致了解消息队列的实现;还读了一段时间的非技术类的文章(读书笔记:水滴石穿),希望自己的思维可以更宽广,可惜后来没坚持下去。
到了今年的年初,我感觉自己在技术上到了一个瓶颈,对于职业发展也有些迷茫。总会觉得自己在原地踏步,会的更熟练,不会的还是不会,让我有些急躁,心情也不是特别好。有一阵子我每天一闲下来就会想:“到底怎么做才能更进一步?”,始终绕不出这个困扰。后来我发现想要驱除内心的恐慌,取得让自己满意的进步,唯一的方法就是花时间做一些更深入的研究,而不是浮在表面。浮在表面让我非常没有安全感,如果你很快就能学会的,别人也可以。所以我不再把重心放在新知识上,打算打牢基础,并在自己感兴趣的领域做些探索。
想清楚后,我规划了接下来这一年的学习路线:
回归语言的本质
学再多语言,不深入思考的话,也只是学到皮毛。不应该止步于会用,而是要深入到编程语言的设计哲学。我希望之后在这方面有一些理解。
网络框架读源码,造轮子
在公司工作,都有了现成的框架。就算自己做项目,也有很多开源框架可以使用。和编程语言类似,我希望自己能够再深入些,比如读读协程/异步/同步框架的代码,比较他们的适用场景,最好是能够自己造一些轻量级的轮子加深理解。
巩固操作系统 /编译原理 /网络基础
看书学习理论,造轮子加深理解。也许工作中 90% 的情况下不需要这些知识,但总会有 10% 的概率会出各种奇奇怪怪的问题,这时就是考验基本功的时候了。
我觉得第两年到第三年,是一个关键点。希望这一年,不仅是代码能力、架构能力,还有工程素养都可以有更大的提升。
刚工作和工作了好几年的 V 友一起分享下经验哇~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.