程序员之两年之痒

程序员之两年之痒

从这些年身边观察来看,程序员两年内跳槽的概率很大,越趋近两年这个时间点,概率就越大;反而在一家公司超过两年之后,大概率还会呆更久。我觉得这大概算程序员的两年之痒了。

跳槽的原因有很多,有人想先到国企银行啥的拿个户口然后转互联网;有人想到大厂镀镀金,两年刚好是一个不长不短的时间;有人受不了薪资倒挂,后面招的人那得比两年内靠每年涨幅高得多,于是通过跳槽提高薪水;有人受不了996摧残,身体吃不消,没时间约会,想换个不需要修福报的环境…

除了上面那些,还有一个我觉得很重要的原因,那就是受够了糟糕的代码库,经过两年时间也看出来了优化无望,于是选择逃离。毕竟程序员每天的工作大部分时间是跟代码打交道,如果所在的团队的代码很糟糕,新的需求一个一个砸过来,不断打补丁,越来越难维护,越来越迷,新的技术因为风险太大无法引入,连升级依赖库的版本都不敢,每天只能在陈旧腐朽的代码库上折腾,对于一个有上进心的软件工程师,还有比这更闹心的事情吗?

当然,大多数代码不是从一开始就糟糕的。很多一开始设计的很不错,由于缺少开发规范和有效的代码review,团队迅速扩张水平参差不齐,缺乏经验的成员在排期的压力下引入了坏味道代码;随着新的业务属性不断涌现,数据量爆炸增长,原有设计不再适用,没有认真从全局想清楚,就随意调整了设计对付一下;兄弟团队提出不太合理的接口和消息需求,没有分析是否合理就勉强提供,导致越来越多不合理的依赖产生… 这样的事情日积月累,积重难返,糟糕的代码库就这样产生了。如果没有一个自上而下重视软件工程规律的研发部门,大概率这种事情就会发生。

那什么是正确的姿势呢?我也不知道,不是因为技术上没有应对之道,而是不知道正确的方法论如何有效执行。比如敏捷开发、测试驱动、代码review、重构、领域驱动、微服务、云原生等等,这些都有成熟的方法论,但主要问题是人的问题,人的问题又跟公司战略愿景盈利以及创始人基因有关。如果公司本身都不行,我想好的程序员是留不住的;如果公司基因就不重视研发,不是技术驱动型公司,软件工程的科学与规律就很难受到尊重;如果招聘就没有很高的门槛,进来越来越多没有技术追求和实践的人,情况就会越来越糟,劣币驱逐良币…

待过的公司,所经历的代码库,貌似都没有做的很好的,但貌似那些公司在外面看来也是不错的公司。所以,是不是我太理想主义了?做到五六成是不是也足够驱动一家优秀的公司了,可能吧。更可能的是,我是井底之蛙,外面有很多优秀的公司有着优秀的代码库,只是国内的公司才这样,所以996也在所难免吧。

然后怎样's Picture

About 然后怎样

软件工程师 / ❤️篮球 / ❤️文学 / ❤️摇滚乐 / 女儿奴

Zhuhai, Guangdong, China https://archerwq.cn/

Comments