一个程序员的成长之路 - 剖析别人,总结自己
张云龙:现为全民TV技术总监,前UC浏览器导航团队前端技术负责人,前FIS团队技术负责人。
1.中年危机
在大平台,有健全的体系、优秀的同事、完善的职级制度、优厚的薪资待遇,你在舒适的环境下做那么一小块事情。背靠大平台,做出的成绩80%是平台赋予的,如果又有一天你发现你这20%可以被更低成本的人给替代,你说公司会作何选择呢?
所以程序员的中年危机根本原因在于不可替代性不够了。随着年龄的增长,你的体力会不如更年轻的人,如果你做的事,能够被其他人合力完成并且加起来还比你的成本低,那么很可能就要被替代了。
所以要让自己变得不可替代,到了中年不应该再拼体力了,这时应该是让你的大脑发挥更多的作用。
所以其实只要你让自己变得无法替代,让公司只要没了你就会大伤元气,始终在公司发挥重大的作用,那么你就不用担心中年危机。
如果资质有限,做不到不可替代,就没有办法了吗?那么主动降低自己成本,不再要求那么高的工资,可行吗?如果都降价,你能拼得过年轻人吗,年轻人可能都是一人吃饱全家不饿的,而你还背着家庭呢。人到中年,还有靠工资养家,没有存款,没有其他收入来源吗?延伸下去,好像又会变成家庭资产配置和家庭投资的话题了。
所以人活在世,到底要掌握多少本领技能,才能活得好呢?人生艰难啊。
2.职业生涯
整个职业生涯可以分成三个阶段:
- 一技之长。深耕你的专业技能,你的专业技术。
- 独立做事。当你的一技之长达到一定的深度,需要开始思考如何独立做事。
- 拥有事业。选择一份使命,带领团队实现它。
一技之长:栈内技术、栈外技术、工程经验、带人做事、业界发声。
检验栈内技术的标准就是看你是否能最终形成技术上的写轮眼——那种看到任何前端产品都有能独立复刻和洞察它的自信。
栈内技术是安身立命的根本,不要轻易换方向,一旦换行,又要重走一遍技术沉淀的过程。
前端绝对是可以长时间坚持的领域,现在新型的软件生态,无论是小程序、快应用、甚至区块链,都会首先瞄准JS开发者,因为有庞大的开发者群体,工具链也比较完善,所以长期坚持从事前端工作,在可预见的未来都不会"过时"。
栈外技术,是指栈内技术的上下游,领域外的相关知识,包括但不限于服务端技术、运维、CDN、测试,甚至UI设计、产品设计等等,充分理解你的工作在整个技术研发体系中处于怎样的环节。前端想要做的深入,往往会涉及到缓存、模板渲染、用户体验等知识,没有相当的栈外技术积累,很难为自己的团队争取到足够的话语权。
工程经验,建设专业技术体系的解决方案。做事的套路,掌握从0到1,1到60,60到100分阶段建设专业技术体系的过程。工程经验涉及到技术选型、架构设计、性能优化、CI/CD、日志监控、系统测试等,这些事跟工程相关的方法论。
你们觉得自己工作了两三年和刚毕业的学生有什么差别?那些"今晚查完明天就会了的"不叫技术。决定你比别人更有专业价值的,其实是领域工程经验。你看过再多的文章也没有用,没真正实操过都不能称之为掌握。要想掌握足够丰富的工程经验,需要在业务中多争取实践的机会。
工程经验才是技术水平的分水岭。
用五年的时间做一技之长,三年的时间独立做事,最后具体什么时候拥有事业,目前看来还是未知。
3.我们的方向应该是什么?
先深钻自己的栈内技术,深深扎根,足够了之后展开上下游栈外技术学习,一专多能,这时大概类似全栈。做久了转管理,实质上不是转行,而是以前端为根,做管理方向的事,带领团队做事。