写这篇文章前的我,刚刚整顿完开发项目组。望着透亮的蓝天,泡着一杯热茶,打开一本软件工程的书,反思着早会上的自己,是否在做一件正确的事情。在一些公司,应该也有和我一样的人,处于同样的困境,在没有任何资源和权利的状况下,艰难的运转着一支研发队伍。
我也是一个工程师,我深知开发工作的不易,深知需求变更的痛楚,也深知重构代码没有文档时的手忙脚乱,但是这次我想说:
你们想做好程序员,请有一点追求。
自我定位
码农?程序员?工程师?你属于哪一种。
大学同学聚会遇到老同学时,问我:做码农很苦吧。我会率先纠正他,我是工程师,不是码农。
(软件)工程师是我的职业,我通过构建一个软件来提供服务,服务于社会发展和人类活动。虽没有hacker那样的野心和欲望,但也有想通过自己的能力改变世界的一点追求。
程序员是一个不错的定位,但更多定位在软件工程和程序设计上。掌握一门技术,实现软件设计,完成任务,达到业务部门的需求。
码农在百度上的定义是种代码的农民。简单的复制粘贴,写代码不计后果,产出的软件不可维护。
如果你还有一点自尊心,有对得到尊重的那么一丁点追求,你就没理由心安理得的被别人嘲讽为码农。
对工作的态度
找每个人聊天的时候,每个人都说希望做的好啊,希望更优秀啊,成为更出色的工程师啊。但是实际行动并不是这样,而真实的内心独白也不一定一样。
很多人想着理想的工作就是“钱多,事情少,离家近”,最后没有几人达成。那我就拆解一下这个公式吧。
“钱多事少离家近”等于你单位时间内提供的剩余劳动价值高且产出内容不受空间限制的工作。能够单位时间提供高价值输出的劳动者,要么是某个领域的专家(大师级工程师),要么就是冒着极大风险的行家(掘金者)。
成为专家,需要的是常年的钻研和努力。就是那一次次练习设计模式,一次次跑数据模型,一次次修改UI,在挫折中不断前进得到的收获。多少人,遇到一时解决不了困难就置之不理,又有多少人遇到需求的变更就叫苦连天。
最初的时候,都会抱怨人艰不拆。直到有一次,硬着头皮恨不得把汇编代码摆出来分析,在需求变更时及时修改方案应对未来可能的变化,才发现并没这么难。
勤学好问,刻苦钻研,严谨求实。
这些品质才是拆掉工作里的墙的好方法。
当整个世界都不一样
区块链很火,AI很火,机器学习很火。
就像一两年前,python很火。
就像5-6年前,Android很火,iOS很火,PHP很火。
就像多年前,java,C#......
多少人去追了这些很火的方向,又有多少人在这些方向上精通和成功。
再高的平均工资,落到自己头上,都无法平均;再新的技术热点,浪潮褪去,拍在沙滩上的总归是数不胜数。
只有优秀的选手,能在每次逐浪中展露头脚;只有顶尖的工程师,才能在每次技术浪潮中,披荆斩棘,拔得头筹。
在有生之年还有机会成为开拓型的程序员,创造更多的价值,完成出色的产品。对大师级的程序员更多的是仰望和尊重。
沉下心,读文档,写代码,做工程,总结反思。
在这个不一样的世界,好好做自己。