百科知识

揭秘IT民工这个词的真正含义及背后故事

1. 避免成为单纯的代码执行者

王成录将“码农”(亦被称为“IT基础劳动者”)定义为:那些在不同情境下反复执行相同任务的软件开发人员。

笔者对此观点深表赞同。当前软件行业中,项目制企业占据了相当比例,而从事基础编码工作的程序员数量众多。企业高层可能对技术细节缺乏了解,一旦接到项目便急切要求推进,客户提出需求后,程序员就必须立即修改,且需无条件配合,销售部门则关注款项的回收。程序员可能认为需求总是临时变更,于是简单地进行代码修补即可完成任务,而忽略架构设计、框架应用、代码复用及设计模式等关键要素,也往往没有足够的时间去深入思考。项目一个接一个,上一个项目的代码被复制后再进行修改,重新进行测试和打补丁,尤其当上一个项目尚未完成时,下一个项目又已启动,整个流程更加混乱。这种循环导致无效代码不断累积,修改的风险越来越大,最终导致几乎没有人敢改动原有的代码,一层层的补丁叠加上去。如果换一批程序员来接手,他们通常会对老板说这些代码太差劲无法修改,需要重新编写一套,然后新的循环又开始了。

作为程序员,绝对不能让自己沦落为码农的角色,否则你的职业生涯在40岁时很可能就走到了尽头。

2. 避免从事辅助性软件开发

王成录强调:“软件产品本身具有复杂性,特别容易变成辅助性的产品,根据不同需求开发的软件并非正确的方向,而是辅助性的工作。”

笔者真诚地建议各位程序员同行:既然选择了软件行业,应当避免加入那些软件仅作为辅助产品的公司。在这些公司工作不仅容易感到压抑,而且对你的职业发展也不利。相反,应该选择那些以软件产品为核心业务的公司,最好是操作系统、中间件或通用软件的开发企业。专注于行业应用软件的公司很容易变成项目型公司,容易被产品经理和项目经理轻视,更容易遭受甲方客户的折磨和测试人员的责备。当然,以上建议主要针对那些立志成为优秀程序员的从业者。如果你只是希望在软件行业暂时谋生,年轻时赚取较高的工资,那么选择哪个行业都无所谓,但你需要提前为40岁时可能面临的就业问题做好准备。

3. 将代码复用贯彻到底

王成录指出:“软件开发的最大挑战在于如何将一个需求真正抽象提炼到其本质,始终要考虑是否能够实现更好的通用性(即代码复用)。”

作为程序员,尤其是优秀的程序员,你是否将“复用”这两个字深深刻入脑海?不要抱怨需求总是不断变化,时间还非常紧张,产品经理有时也无法清晰地表达需求。一个程序员如果不能做到极致的代码复用,就不可能成为真正的优秀程序员。代码复用就是生产力的体现,也是程序员价值的关键所在。请不要继续做一个单纯的码农,减少一些游戏和视频的娱乐时间,哪怕是在午休或晚上回家后,也要回顾一下今天写的代码是否可以进行优化,是否可以抽象成可复用的模块,久而久之,你会变得越来越出色。请不要等到40岁时才感叹找不到工作,老板为何如此残酷地解雇你,如果你养成了代码复用的习惯,相信在软件行业你仍然能够找到自己的位置。年轻的程序员朋友们越早认识到“复用”的力量,对你的未来发展越有益处;大龄程序员朋友们从现在开始也不晚,让我们一起将代码复用进行到底!

总结

从小的角度来看,作为一名有志向的程序员,首先不能成为码农,不要让自己的青春在为老板创造高附加值的劳动中白白浪费;其次,不要加入那些软件仅作为辅助产品的公司,这样容易成为牺牲品并陷入无休止的内耗;最后,要想成为优秀的程序员,就必须将“复用”这两个字牢记在心,并将代码复用进行到底。

从大的角度来看,尽管我们已经有了华为、鸿蒙和欧拉等优秀的企业和产品,但我国的软件行业仍然相对薄弱。要想从传统的砖头经济转变为数字经济,要想在软件行业不被西方限制,超越西方甚至引领潮流,需要成千上万的程序员变得更加优秀,需要大家共同努力,用代码复用的力量为行业的发展做出贡献。

与君共勉!

​​​​​​