问题:如何辨别一个程序员水平的高低?
工作3-5年,大家都做过点什么?但是有的程序员只是技术迁移、完全没解决问题的能力啊?大家盘点下,在你眼中,高工作年限的程序员,技术水平差是什么样子?
问题一来让大家了解下,技术差是给别人是怎样的一种体验,二来是告诉大家如果自己有这些方面的问题,赶快成长,努力修补。
回答者:姚冬,程序员
给他安排dbug的任务,最好是崩溃问题或性能问题,观察他面对大量复杂的代码,在信息不全的的情况下,看他怎样一步步抽丝剥茧缩小范围,最终定位根本原因,并且给出一个不错的fix。
如果能独立完成工作,那么以后必然成为高手。
如果经过少量提醒点拨也能完成,以后会是个不错的程序员。
如果需要不断提醒,只能按照我给的思路去反复测试调查,那么只能说是个踏实肯干的人,但天赋不高,可以委派些普通任务。
如果以上皆非,我基本就放弃对他的治疗了。
之所以选崩溃或性能问题,因为这种问题没什么玄学,行就行、不行就不行,结果好验证。
这种问题很考察基本功,可能对操作系统,语言,编译链接器,内存,进线程,网络,存储,图形学都要有深刻理解,也很考验逻辑推理能力,在一堆证据中构建合理的证据链推导出最终结果,懂得大胆假设小心求证的工作方法,也考察耐心和毅力,有的问题需要构建复杂的测试场景,还要反复多次测试才能重现,考察沟通能力,复杂的bug可能涉及多个部门开发组,可能还要对最终用户做访谈。
回答者:EmilyL,BuySidEquityRsarch/HFT
判断别人水平的最好方法是提高自己的水平。一个程序员可以容易的判断比自己水平低的程序员的能力。当你看到一个程序员犯过多少自己当年犯的错误的时候你就很清楚了,不然他很可能比你强,不过你很难判断他比你强多少。
回答者:吴水永,北京白癜风哪里医院好消除白癜风