程序员为啥要做副业(04)-新技术落地的最佳实践!

159 阅读3分钟

即使你就想循规蹈矩地在一个固定的职业象限里发展,它也能提供非常大的帮助。

首先,副业可以成为新技术的练兵场。

1 面试造火箭,上班拧螺丝

现在社区里边吐槽得很多的一个现象是「面试造火箭,上班拧螺丝」。去面试一个前端岗位,问一些前端框架的最新版细节、底层原理,这是合理的,属于前端的业务范围。但如果把深度学习、大数据、云原生、容器编排、区块链甚至量子计算都拿来面试,就有点装。

但面试本质就不是合格考试,而是极致内卷下的竞争!是要在一群人中选择最好用的,所以这也还可以理解。但最不好理解,当我们过五关斩六将入职以后,发现这家公司还在用十年前技术栈,代码管理SVN!

不光是小公司、也不光是传统行业;甚至在一些互联网行业的大公司的某些部门里,也会出现这种情况。吐槽规吐槽,但为什么这种情况相当普遍呢?这是因为「技术债务驱动的架构更新」。

2 技术债务驱动的架构更新

五年前,有一业务要上线,用当下(五年前)最新技术构建这套系统。

随时间过去,新技术涌出,但线上系统依然能用,业务团队要求稳定;产品团队需不断加新功能;根本没机会对技术栈本身大幅更新。虽技术栈逐渐陈旧,但「又不是不能用,理解万岁」!

于是,技术债不断累积,直到有天,技术债务快把整个架构压垮,甚至业务被迫中止一两天后,公司终于决定重新整套系统。于是,又选用当前时间点最先进技术重新开发一套全新系统。所以你会发现很多公司的系统,它并不是持续不断地更新、不是随时保持最新;而是在新旧之间反复横跳。

由于五年中,业务变动的可能性和幅度都非常大,所以对公司来讲,重写系统是可能比维护系统更合理的。但对于那些在五年里一直用原来技术栈持续不断地维护旧系统的同学来讲,他们的技术栈被迫变旧了。

而当决定开发新系统的时候,公司又希望使用当下最新的技术栈。这就要求原系统的程序员在一瞬间学会新技术,并开发出一套稳定的系统来。大部分人是做不到的,但从公司的角度讲没有关系,淘汰掉,招聘新人组建新团队就好了,说不定成本还能更低点。

所以在这种结构的架构更新里边,如果程序员自己不想办法去学新技术,不去找地方去应用新技术,那么就像温水里的青蛙,最后终会用后即弃。

一种新技术一旦开始流行,你要么坐上压路机,要么成为铺路石。 —— Stewart Brand

残酷,但真实,也时时推动着我去学习最新的技术。

副业给了我们一个坐上压路机,避免被碾压机会。程序员跟其他行业不一样,它对新技术要求并不只是认知,光知道新知识、了解新思路不够,还要实打实练手环境,花上相当长时间去踩坑,才能稳妥做出稳定线上方案。

而副业,就能提供了一个真实业务,让我们把最新技术用到上面,随时保持技术栈最新,增强主业职业竞争力!