爬天梯:计算机工程师之路
“码农”就真的无法解除 35 岁魔咒吗?计算机工程师是否存在正确的打怪升级之路?这篇《计算机工程师之路》帮我们认清自我与现状,坚定职业发展的信念,找到独属于计算机工程师的直升通路!
备识别学科边 界的能力,发觉“新蛋糕”和判断“出手时机”,在空间和时间上对计算机科学有深刻的理解,持续追求 SOTA 解法。认清自己当前的位置,然后坚定的在计算机领域走下去,我们的打怪升级之路可以走得很远很远。
引子
有一次偶然听到公司一位领导说,“写代码其实是最简单的事情”。我不经思考,“写代码”说的应该是所谓“技术岗”的工作,这句话的意思不是不说,技术岗做得都是最简单的工作?
这位领导其实是一位长期“不在工位”的研发组长,已经有段时间没有关注过技术工程落地方面的细节了。正在占据他的主要精力的,是一些产品形态探讨会议、客户沟通、内容策划与运营之类的工作,还有便是一些管理上的事情。这里关于沟通与决策的内容可能占据了他大部分的注意力,相比较“安稳”写代码的工作内容,他整天需要面对的都是不确定的场面,解决没有标准答案的问题,某种意义上确实是困难了许多的。
那么说回来,技术岗的工作就真的这么没有深度了吗?或者换一个更关乎计算机技术从业者个人发展的问题,计算机工程师的职业发展之路是怎样的呢?
“码农”能走多远?
先用吴军老师在《计算之魂》里的话给出肯定的答案:如果不断努力而且方法得当,能走得很远。
国内的 IT 行业有个 35 岁危机的说法,意思是说 ,到了 35 岁,如果你还是一个一线的“码农”,那么你的职业发展很可能就”到头了“。这个说法的背后,是对技术岗位的职业发展路径的一种普遍认知。社会现实一定程度上也确实如此。
然而,这并不能证明技术岗位的职业发展路径就是”死胡同“。技术岗位的职业发展路径,其实是可以很有长远的。同样是“码农”,不同人的水平、贡献和影响力是可以有天壤之别的。真正想要在“码农”这条路上长远走下去,你需要认识到这些不同之处,并按正确的方式努力成为更高级的“码农”,人力市场上实际是严重缺乏这样真正的“计算机工程师”的,高级“码农”的 35 岁职称危机魔咒会自动解开。
计算机工程师的五个等级
吴军老师在《见识》一书中将计算机工程师分为了五个等级,我们可以通过这个等级划分,清晰的认识到我们自己在整个技术职业天梯上所处的位置,从而启发我们找到在技术领域突破自我上限,打开职业上升缺口的路径。
五级
能够独立工作,并很好地完成工程任务,从而真实解决了问题。这里强调的是独立完成工作
、真实解决问题
这两个维度,需要注意的事,完成了工作不一定就真实解决了问题。
IT 业内很多写代码的人可能连最低的五级水准都没有达到,换句话说,可 能都“算不上”计算机工程师,这可能就是“码农”这一略带贬义色彩的名称的由来了。
四级
能够用一直的最优方式(state of the art,SOTA)解决工程问题,领导或指导团队已通完成具有影响力的工作。这里强调了寻求问题的 SOTA 解法
、个人对团队影响力
、成果对外界的影响力
这三个维度,这是四级工程师与五级工程师的最大区别。
能够达到四级水平的工程师,已经算是领域内的技术专家与具备硬实力的大牛了。
三级
能够独立设计和实现产品,解决前人未解决的问题,并让产品在市场获得认可,取得商业上的成功。这里强调了独立设计与实现
、解决前人未解决的问题
、商业上的成功
这三个维度,往往只有突破了 SOTA 解法,才能引爆市场,快速取得商业上的成果。
三级工程师已经是一个很小众人群了,他们至少可以做到企业的总工程师或总架构师的位置。
二级
能够提出重要的计算机理论或实践方面的新问题,并解决它们,设计和实现别人做不出的产品。这里强调了提出新问题
、解决新问题
、将新问题的解应用到产品
这三个维度,这需要在计 算机理论体系之上做出突破。
二级工程师已经是无可取代的人了。
一级
奠定一个学科
,或者开创一个产业
。比如创造了算法分析的领域的高纳德(分析算法计算复杂度的大 O 法就是他提出的),他们的贡献往往是面向全人类的。
“码农”的两个等级
吴军老师的五级工程师理论参照了朗道对物理学家的分级准则,每提升一级,其产生的贡献、影响力以及难度都是成量级(10 倍)增长的,这是一个非常严格甚至苛刻的等级划分,每突破一级都很困难,但是突破后的成就也是同等重大的。
行业里很多正在努力写代码的人真的都能达到最低的五级工程师的水准吗?这个问题我们可以扪心自问。
如果达不到工程师五级水准,那么我们就只能是“码农”了。“码农”的等级划分可以是五级工程师理论的延伸。
七级
学过大学计算机专业本科的标准课程内容,可能还没有在工作实践中真正落地过工程项目。这里强调的是具备计算机专业本科水平的配套知识
。
六级
在七级的基础之上,能够在他人指导或带领下完成计算机工程项目落地。这里强调的是具备了工程落地的能力
。
国内计算机工程师的现状
截止到 2021 年 10 月,国内所有上市的企业级软件公司的市值总和还不如 Adobe 一家,我们的计算机软硬件水平还有非常大的想象空间。虽然国内的从业人数巨大,但其中优秀的专业人士的占比是极低的。
回到引文中的话题,其实说“写代码是最简单的事情”是不大对的!
国内很多写代码的人都是没有到达五级入门水平的,他们经验尚处于“开荒阶段”,而稍微有些经验的人已经开始不干具体的技术工作。“工程师”们对计算机科学的理解大多是肤浅且急躁的,他们急于获取短期的利益,放弃了对计算机工程“品味”上的追求,从而得出来“写代码是最简单的事情”这样的结论,这也造成了 35 岁魔咒的事实。
打怪升级之路
如果你已经是一名优秀的计算机工程师,却还一时不知如何突破领域上限,吴军老师给出了几个不错的思路:
- 要学会判断哪些事可做,哪些事不可做,即具备识别学科边界的能力,不要对不可能的事存有妄念,将有限的精力聚焦在边界内。做到这一点可能需要我们对数学这样的基础学科有足够深刻的理解。
- 要学会判断什么时间点可以去做什么事,即具备发觉“新蛋糕”和判断“出手时机”的能力,最好可以站在风口处,保持谨慎的态度,这样即使是“猪”也能飞上天。
- 要在空间和时间上对计算机科学有深刻的理解。空间是指对知识理解的深度和广度,时间是指对领域内的发展历史与未来变化趋势的把握。
- 持续追求 SOTA 解法,掌握计算机科学的艺术,体会计算的美感,从工匠升华成为一名艺术家。市场往往是赢家通吃,而山巅的成败仅在毫厘之间。
认清自己当前的位置,然后坚定的在计算机领域走下去,我们的打怪升级之路可以走得很远很远。与君共勉!
PS:感谢每一位志同道合者的阅读,欢迎关注、点赞、评论!