如何快速鉴别“菜鸟”级别与“大神”级别的程序员水平?靠的是发量吗?

如何快速鉴别“菜鸟”级别与“大神”级别的程序员水平?靠的是发量吗?_第1张图片
我觉得第一要看新领域的上手和学习能力。比如,从来没有用过go,让你用go实现一个东西要花多长时间?一个纯陌生的codebase,要实现一个需求要花多少时间?去一个新的公司或者新的部门,第一个项目要花多少时间?

我把这个放第一,不光因为技术更新换代快,不停要学习新技能。更是因为,第一印象太重要了。我曾经有个超级厉害的实习生。周一入职,我给她介绍了一下项目要做啥,给了一个code pointer,然后她就去参加为期一周的培训了。周五结束培训的时候,她跑来找我,给了我一个一千来行的end to end的整个项目的原型系统。她后来提前一年本科毕业,入职Google,并为入职9个月从3升4,是我见过的最快的人之一了。

而对应的,差一点的程序员,上手真的需要手把手的教,得把任务分解得很细很细,甚至每个很细很细的任务都得把伪代码或者code example给他写好。再差的程序猿,拿着code example和tutorial也都看不懂,入职两个月一行代码也写不出来,我也是醉了。

第二是领域的熟悉程度。如果负责的产品出现了奇怪现象(bug),你能很快反应出哪儿可能出问题吗?公司里面别人有这个方面的问题,第一个会想到来问你吗?

举个例子,以前一个回答也提到过。某天下班前,突然发现了一个惊天大bug 。我当时debug了半个小时毫无头绪,于是找老板汇报。老板马上说这个问题可能出现在A或者B或者C,C是最后可能的,你马上去看一下这个地方验证一下是不是C。最后问题很快解决,按时下了班。

第三是解决问题分解问题的能力。比如debug,假设有人在论坛上讨论你们产品的奇怪现象,你能根据论坛上的讨论直找出bug 吗?一个性能优化目标,你会如何着手找出bottleneck?一个open problem,如何把问题简化?

我就真遇到一次Twitter 上大家讨论我们产品的奇怪现象,一群领导们一脸懵逼无法复现bug甚至不能确定这是一个bug,PR不准我们去直接找Twitter讨论的人,技术支持那儿也没收到任何bug report。我那天看到那么多领导在讨论,冲动了一下想刷visibility,就写了个脚本来搜log,猜了根据Twitter描述猜的一些条件sample了一堆可能出现bug的账号。然后手动后台登录看看这些账号有没有这些奇怪现象。十来分钟我就找到第一个出bug的账号。然后根据这个账号改进了一下脚本,更精确地sample出来了几千个受影响的账号。然后再一个小时写了个脚本抓了这几千个账号的live traffic。再然后领导们都知道我了,根据我的推测找到了对应部门拿着我的东西接着debug了,还给我发了个几千美刀的spot bonus。感觉这是我hourly pay最高的一次了。顺便,出bug 的这个系统,我从来一行代码都没碰过,整个过程纯黑盒的。

我收集整理了一些资料,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你。

关注微信公众号:【软件测试小dao】免费领取
更多软件测试资源请加软件测试技术交流群:1033482984

第四,领导力。领导力不是领导才有的能力。领导自己也是领导力。比如自己的项目,自己能自信地做出正确技术决断吗,甚至能说服领导,还是必须请示领导怎么做决定?自己项目能规划好工期,给出准确的时间预估吗?知道自己下一步应该做什么吗?

我的期待,初级程序员能规划自己一周做啥。中级程序员能规划一个月。特别优秀的程序员老板把任务布置下去后,就可以不用操心,等着直接收成果了。如果要每天去告诉这个程序猿今天该做啥,做完第一步永远想不到下一步,作为领导表示这种程序猿也不算不能干活,就是带得真的很累。

第五,团队协作沟通能力。比如你的领导,你的团队,知道你的进度和进展是否顺利吗?你能处理和团队成员的冲突吗?你和领导,团队意见不一致的时候如何处理?你能推动夸部门合作吗,跨部门的沟通顺畅吗?你能带新人培养新人吗?你能临危受命去救火吗?你能带团队吗?

第六,产品/业务认识。你知道你的部门做什么样的产品和业务是有意义的吗?产品提出不靠谱的要求你能有理有据把他打回去,而且大佬们都觉得你更有道理而不是产品更有道理?你有能力和客户直接沟通聊需求吗?

我觉得一个优秀的程序员,尤其是级别特别高的,由于对领域特别熟,会参与和拍板产品相关的很多方面,很多时候会和产品重叠。所以市场调研,客户采访,需求分析什么的,不说做的比PM好,至少会做并且不会被不靠谱的PM带入坑。不说跳槽能拿到同级别的PM职位,跳槽做个比平均水平高的的同领域的PM没啥难度。

燃烧秀发输出内容,如果有一丢丢收获,点个赞鼓励一下吧!

不要只做收藏从未停止,行动从未开始的人,很多事情,做着做着就无师自通了。如果在做的过程中还能稍微加点思考,稍微看一些别人的经验和做法,成长会更快,效果也会更好!加油吧,测试人!路就在脚下,成功就在明天!

你可能感兴趣的:(软件测试工程师,软件测试,程序员,测试工程师,软件测试,单元测试,程序员,白箱测试)