为什么还要使用过时的技术?
有些人可能会觉得,大公司IT力量强一些,技术应该也是不错的;想象中的大公司,项目应该都会用到前沿的技术,开发流程也会很规范...其实,很多时候并没有。
人员问题在十多年的工作过程中,我对一句话的理解越来越深刻:“不是自己多牛,都是同行的衬托”;在很多大公司里,混日子的程序员真是不少,并且在大公司待的时间越长,你就会发现,身边的牛人都跳槽去了更好的公司,留下来的都是“资质平庸”的人,而这些资质平庸的程序员大多都有几个特点:
一个功能,可以在自己的系统做,也可以在别人的系统做的时候,一定会找各种理由“不接活儿”,而不会考虑这个功能【应该】做在哪里;
功能实现就行:满足于能满足需求即可,对代码规范、扩展性从来不关心;
只是做好本职工作,不关心技术(或其他能力)的提升,工作十年,但实际工作能力只相当于工作三四年的程序员,另外这些年都是在做“体力劳动”;
当公司里面这种程序员多了,能把需求开发好就不错了,哪还会想着优化代码,研究点儿新技术应用到项目中。
重构成本一些大公司业务极其复杂,在经历了一代又一代人的“努力”,代码的复杂程度会超过你的想象;很多时候,程序员接手了别人的项目之后,宁可增加新的方法,尽量不改老代码;甚至一些祖传代码,是没有人敢动的;
业务没有那么大的压力,虽然是开发多年的系统,加点儿CPU和内存还能再战几年,很少会有人主动重构一个庞大的系统;
很多IT的领导也抱着不求有功,但求无过的想法,系统重构,不属于业务发起的需求,重构好了不算你的功劳,万一有问题,那就真的有问题了。
绝大部分公司都是业务驱动的公司相信这样的场景大家都遇到过:
业务:这个需求什么时候能上线?
IT:开发加测试,估计要两周。
业务:什么?不行,下周必须上!
IT:时间太紧了,肯定开发不完...
然后...业务让业务的领导去找IT的领导,最后的最后,就是周末加班,下周上线。
长期在这样的环境下,就算你代码能力再强,也很难有发挥的空间,最后很容易就变成了“代码能跑就行了”,至于专研一下前沿的技术,哪会有这么多时间。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有