近日一则「中兴42岁员工欧某坠楼身亡」的消息被置于舆论顶峰,甚至引发了一场中年程序员危机的讨论。很多人认为,一个35岁以上的程序员相比较一个20来岁的毕业生,精神状况、身体状况必定是不如刚刚大学毕业的年轻人,所以要尽早转行。

那么问题来了,程序员是吃青春饭的吗?程序员的职业发展到底如何呢?

首先,我觉得时至今日,相比其他职业,程序员仍然是一个投入产出比比较高的职业。程序员不是一个「吃青春饭」的职业,而是一个常青的职业。程序员其实也并没有我们想象中那么累。

图片

很多互联网公司的工作环境、工作氛围、员工福利都是非常不错的,比如:弹性工作呀,定期团建呀,免费健身呀;一日三餐、零食饮料应有尽有。对于头脑灵活、思维敏捷,但还没有明确职业目标的理工科毕业生而言,把程序员作为职业生涯的起点,应该会是一个不错的选择。以北京为例,应届毕业起薪在8000-10000元,比其他职业高出不少。

程序员在职业生涯第一个阶段,通常是3-5年。这个阶段要以职业探索和职业体验为主,脚踏实地写好每一行代码。只有快速学习和成长,掌握过硬的专业技能,这样才能在职场立足,走好未来的路。

现在程序员的职业领域已经细分到了令人发指的地步,比如:大数据工程师、云计算工程师、某某语言工程师、系统架构师、web前端工程师、H5前段工程师、后端工程师,嵌入式软件工程师、数据库开发工程师等等。

在每个专业领域又衍生出很多需要学习和掌握的知识技能。就拿编程语言来说吧,光是常用的编程语言至少就几十种,什么动态语言、静态语言、脚本语言、过程式编程、函数式编程、面向对象编程等等;主流的移动平台就有iOS,Android,WindowsPhone。

在这种情况下,程序员即使只是掌握一门技术,仅仅是掌握它的语法特性和函数库还远远不够。拿我们常见的Java来说吧,它的虚拟机、性能、集群、并发编程、分布式、垃圾收集、日志服务、异常等都需要深入了解。

程序员职业生涯第二个阶段,是在已经工作了几年,对这个职业有了充分的了解,技术也突飞猛进的时候。这个阶段是程序员职业发展的交叉口,到了开始决定,还要不要继续从事这个职业的时候了。

如果你觉得自己最喜欢、最擅长的事情还是做程序员,特别享受两周出一个功能、三个月出一个应用;特别愿意看到代码成为产品、产品一点点变得完美的过程的话,那么在职业发展方面,有2条路径可以选择:

第一条路,就是走精深路线,做资深技术专家。就拿阿里为例吧,可以沿着技术岗P序列,从P5高级工程师,到P6资深工程师,P7技术专家,P8高级专家,P9资深专家,P10研究员,这样一路走下去。既然选择技术路线,工作上就需要继续全情投入,深度参与产品研发过程,并且根据用户反馈意见不断优化产品。

第二条路,就是做一名技术管理者。从项目经理、产品经理、部门经理,再到技术总监、技术副总、首席技术官CTO。这个时候,就需要横向拓展,逐步完善自己的知识结构。除了技术,更需要掌握必备的管理技能,比如:团队激励,目标管理、绩效管理,有效决策等等。

技术管理并不意味着放弃技术的提升。其实呀,真正想做程序员这一行,技术和管理是密不可分的。真正做出伟大产品的程序员,都是既有管理能力,又始终参与一线产品设计的人。

就拿「微信之父「,腾讯的张小龙来说吧。他是那个时代南方最好的程序员。在腾讯的时候负责QQ邮箱,觉得自己应该做一个管理者,就把产品的事情完全交给了团队,结果栽了跟头。有了这样的教训后,张小龙彻底改变风格,重回一线,全程参与到每个产品的每一个功能体验中。最终做出了微信这个产品。

那如果做了几年程序员以后不想再做了怎么办?那就转型尝试其他的角色。这里我列了四个方向:

第一,技术转销售,做技术销售工程师。可以考虑做技术销售工作,比如面向国企和政府部门等客户。做得好的话,收入还是非常可观的。更重要的是可以在行业内逐步树立个人品牌,积累自己的客户资源,等时机成熟的时候可以跳槽做销售管理,或者自己创业。

第二,做售前工程师。需要具备良好的沟通表达能力和演讲能力。要负责项目售前咨询服务,在项目售前确保技术竞争优势;要根据销售重心,深入挖掘客户的潜在需求,做出相关的解决方案和宣传材料;还要协助销售与客户进行方案沟通和讲解,最终帮销售拿下订单。

第三,做售后工程师。需要给客户提供技术支持,收集整理客户问题,及时排除疑难故障,解决客户的各种问题。这个岗位对技术本身要求并不是特别高,但对实践经验要求比较高。另外这个岗位属于产业链后端,有些公司不会特别重视。

第四,做商务拓展,也就是常说的BD。拓展,就是要在原有的基础上加深关系,比如把你的男朋友拓展一下,就成老公啦;当然也可能会有副作用,变成陌生人哈。比如我们会看到滴滴今天和这家合作送个药,明天和那家合作送个外卖;小米手机和腾讯合作在QQ空间首发……这些普通大众可以从中受益的合作,如果没有BD的发掘、联络、维系和促成是不会出现在我们的生活中的。

BD主要的工作内容就是:确定商务拓展计划,根据计划完成商务合作伙伴的找寻、洽谈和合作,并且维护好现有合作伙伴的关系。这样的工作内容,要求BD对自己的产品和产品推广思路,有深刻的理解和认知,要能充分挖掘自身的资源和优势,还要善于处理人际关系。

如果你想继续做程序员,可以朝着技术专家、技术管理的方向发展;如果想要转行,还有四条职业发展路径:销售工程师、售前工程师、售后工程师和商务拓展。