去年在关于程序员的中年危机里分析过这个问题,最近又有朋友找自己聊这方面的问题,因此又再思索了下。

危机的核心点在于,技术这一行真的能一直做下去吗?或者进一步,也许技术本身可以,但能一直像现在这么拼加班下去吗?

从过去的经验来看,很难。计算机相关技术研究向或偏底层的职位并不多,更多的其实都是各种工程类的项目。这意味着很多方向能够深挖的东西有限,或者说实际的市场并不需要你去做这种深入的事情。那种每个团队都需要去做底层或有技术含量的事情是不现实的。很容易在工作几年后就达到一个技术上的瓶颈期,这种情况下随着年龄的增长,职业竞争力是在下降的。不是每个人都能一直不断学习进步,或早或晚,都会步入一个相对停滞的时期,普通人的通病。

同时还有一点,技术含量高并不代表着收入高。市场才是决定收入的决定因素。过去几年移动互联网的火热再到最近一年AI的浪潮,相应职位在对应当口的收入都相当可观,但当需求平稳之后,坑就少了,收入也会相应回落。很难说资本家们是为技术难度买单,更多的是为稀缺性买单。很多有技术含量的事情,都没有对应的收入水平,计算机相关的职位也不会例外。另外一方面,那些技术含量没那么高的工程类业务类的事情,坑虽然多,但可替代性却也是高的。同样也造成了议价能力的不足。本质上来说,作为程序员的我们是希望不断提升自身的不可替代性,但公司却是需要不断减少这种不可替代性的。公司不希望被依赖在一个产品、一个团队、一个个体身上,对于企业来说,分拆风险是天然的诉求。

那么究竟怎么才能有效渡过危机呢?

除了之前提及的几点,在职业生涯中可能需要多关注下团队。作为普通人的我们,在浩浩荡荡的大势面前基本都是不堪一击的。但如果能以团队的形式来面对呢?可能会好很多吧。对于大公司来说,公司内几十上百个团队,我们需要关注的是自己所在的团队。判定下团队是否值得加入,是否值得坚持。人与人之间的协作、磨合、信任,不像代码那样那么容易复制。作为团队中的一员,完成本职工作是本份,如果力所能及的话,最好去推动团队整体的进步。公司再大实际是和自身无太大关系,所处的团队是更重要的。因此如果在大公司中一直在切换团队,某种程度上来说是很不利的。只是不断的磨合再磨合,融入再融入,重复再重复。

所以,做好自己,提升团队,这些是可以去做也值得去做的事情。