程序员的发展之路1

本文转载自公众号《包包的明天》,已获得原作者许可,原文链接

首先,星包包也是一个程序员,早年的程序员,在那个dos界面,win95的年代,滚打摸爬打了很多年。

记得我刚毕业后加入的那个公司。我的上司张小龙跟我说,(这个张小龙就是你们所认知的那个张小龙)你为什么要做技术了?为什么要去写程序了,他是很崇尚代码之美的,大家也知道他,他一直以来,也很倡导这个文化。当时,我想了想,其实当时来说,这个公司他有两个方向可以给我选择,一个是做销售,一个是去写代码。做销售的老大其实更希望我去那边,原因知道可能是因为我有代码的基础做,写过技术的人更好做销售,但是我个人的话更喜欢做代码工作,因为毕竟我确实是喜欢学习代码。

所以,你从事了代码行业,其实跟你的爱好,和认知更大关系。

我上司跟我说,其实程序员的发展道路就两方面,一个是广度,一个深度。广度的话,就是你从上到下,比如说从市场研究产品分析,到测试细节到上线运营,怎么把部署这些都可考虑清楚,这个对于技术来说是一个广度的考量,整个链条都熟悉的话,实际上你更多的就是,在整个研发或者是研发体系,管理都清楚了,这是广度的一个考究;另外还有一个是深度,就是你对某一个技术往深里面去钻研,比方说你对音频或者视频的压缩专研的很深,做出了很牛逼的压缩算法,这个也就是一个深度的考量。实际上这两方面,对于一个程序员来说,都是有很大的一个提升空间。

当然现实生活中可能程序员在这两方面摇摆,有时候在广度上受到一些挫折,转到去做深度研究,有时候在深度研究里面觉得一些疲惫了,乏味了,然后去去做广度的热度,其实我觉得都可以,关键就在于,有没有得到一些提升,而不是在原地里面的原地面踏步,我们最常说的一句话,千万不要十年写了一样的代码。(你的十年代码总归有一些提升)
程序员的发展之路1

国外来说, 机会对这两方面都会有很大的宽容度,有60岁还在写代码的,也有四十岁就转成管理的,其实我觉得国外的话对程序员的发展的路子还是相对宽容一些,国内的话就比较难一些,除非大厂,否则小公司的话,基本上你40几岁还在写代码的话呢,也不是不可以,但基本上你得要骨干一下了,并且让上司觉得你不可替代。

那在国内的现实环境中,程序员怎么发展呢?如果你是走技术深度路线的,你一定要有自己的作品,所谓作品是指你要么有一个出名的开源的作品,得到了很多的高的评价,比如,android, tensorflow; 要么你做过一个产品的研发,并且这个产品是很受到社会欢迎的,比方说你是微信的开发人员。那么这样你在应聘啊,或者在跟别人说起的时候,你会受到重视很多,包括你的工资啊待遇啊,也会相应的提升很多,所以我觉得如果你是在追求技术深度的话,你一定要把有一个作品,一个成功的作品作为首要位置的目标。

如果你是以广度的话,那么其实我建议你各方面都可以尝试一下,比方说说,星包包在腾讯里面做高级架构师的时候呢。其实架构师和方方面面都要涉及到,产品设计方面,然后程序架构层次的设计,代码编写,测试代码编写,测试用例,然后测试怎么走,部署怎么做,自动化运维怎么做,开发效率如何提升,这些全部都涉及,那么这个实际上对你做管理的视野是非常有好处的,剩下的就是你管理思维层次上的改变,就是你不再为做一个细节而努力,而你是为整个团队负责,当你为整个团队的目标负责任的时候,你能理解这一点,那你基本上就已经可以在管理岗位上。
程序员的发展之路1

如果你已经有了一个比较好的作品,或者你已经有一个比较好的管理履历的话,那恭喜你,你已经踏入了第二个阶段,这个阶段,我相信你的月薪已经达到了一定程度以上了,那么你的未来其实有两个方向,一个的话,再回去大厂区再锻炼,第二个的话,你可以领导一个团队要做出一个业务层面上的好产品,比方说你做出了一个头条。

这个时候,我相信你另外一个方面上也有了一定的进展,比如说你已经有了家庭,或者你那个小孩,或者你有个房子要月供,那么这时候你要考虑的事情就更多了,是不是奋力一博去创业,还是说在大厂里面去安定地拿月薪工资,再来考量自己的未来,这个都是跟你自己的个人的情况强相关的,要落实个人情况。

然后,你来到了一个境况,准备好,当你40以后,不再需要工资来生存,你需要有工作外的收入,并且逐年增加到,你不需要工资为止。

从收益最高的角度看,一个人最好的收益是, 你是强人(马云)> 你跟着强人干 > 你投资强人(早期),而这三者,其实都是需要运气的,你需要有上帝视角。

未完,待续。
程序员的发展之路1