能够拿到100万年薪的程序员都具备哪些能力?

几周前,微盟爆了个大雷,数据库让内部员工删库跑路……

很明显,微盟的技术体系是有严重问题的, 主要体现在:运维权限管理、数据库备份、上云而不上云方案,这三点。看起来有点耸人听闻,其实你永远不知道一个人或者一家公司的技术会低到什么程度,不少人可能从来都没用过GitHub和GitLab。

程序员这个行业,是一个区隔度特别高的行业。 不少人短短几年就可以成长为高级工程师、资深架构师、首席架构师,而另外一部分人很可能工作10年还是初中级工程师。

程序员行业还有一个特点,优秀程序员的产出是普通程序员的好多倍,甚至是10倍! 这是因为编程不是一门「线性科学」,而是一门「非线性科学」。

「线性科学」,比如跑步的速度就是,世界冠军的速度也不可能是普通人的10倍。「非线性科学」是指很多种因素交汇在一起,极大增加了系统的复杂度。

程序设计和实现不是一种线性能力,像经验、编码能力、工程能力、知识、学习新知识的能力、对无用部分的识别等这些就不仅仅是线性优势,汇聚到一起会对编程产生倍增级效应。

优秀的程序员能达到百万年薪,而入门级或者初中级程序员可能只能拿10万年薪。输出的10倍差距带来的是收入上的10倍差距!

很多时候,遇见复杂系统问题,派多少个初中级工程师都于事无补,而一个资深架构师就可以轻松搞定。

过去11年的职场生涯,我带过过百名程序员,见过非常优秀的也见过平庸的。以下是我认为程序员和普通程序员拉开巨大差距的7个关键点:


裸编程能力

裸编程能力:处理程序实际实现部分的子任务,实现函数或者算法之类的能力。 听起来很简单对吧?实际上很多程序员缺失这样的能力。

不知道大家有没有见过「CV 工程师」,Review他们的代码甚至会发现一些网上的注释,又或者其他人的编写错误。

并不是所有程序员都具备利用必备的基本编程结构有效的实现某个产品或者某个模块。

不少工作多年的程序员甚至连一个简单算法排序都没有考虑,当然这并不影响普通工作的输出,但在面临调优或者攻坚,这类型的程序员的表现甚至比刚毕业的优秀程序员还要糟糕。

在工作中遇到过一次将代码时间复杂度降低几个数量级的情况, 在压测模拟过万人同时使用的情况下,没优化前服务端程序直接卡死,优化后能流畅的运行。

在这个复盘过程中,我发现实现这个功能的程序员缺乏基础的算法基础。for循环的嵌套,简直是触目惊心。

BAT大厂招聘高级工程师,为什么总是要求手写各种算法,恐怕也是基于考察裸

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值