姚冬程序员
赞给他安排debug的任务,最好是崩溃问题或性能问题,观察他面对大量复杂的代码,在信息不全的的情况下,看他怎样一步步抽丝剥茧缩小范围,最终定位根本原因,并且给出一个不错的fix。如果能独立完成工作,那么以后必然成为高手。如果经过少量提醒点拨也能完成,以后会是个不错的程序员。如果需要不断提醒,只能按照我给的思路去反复测试调查,那么只能说是个踏实肯干的人,但天赋不高,可以委派些普通任务。如果以上皆非,我基本就放弃对他的治疗了。之所以选崩溃或性能问题,因为这种问题没什么玄学,行就行、不行就不行,结果好验证。这种问题很考察基本功,可能对操作系统,语言,编译链接器,内存,进线程,网络,存储,图形学都要有深刻理解,也很考验逻辑推理能力,在一堆证据中构建合理的证据链推导出最终结果,懂得大胆假设小心求证的工作方法,也考察耐心和毅力,有的问题需要构建复杂的测试场景,还要反复多次测试才能重现,考察沟通能力,复杂的bug可能涉及多个部门开发组,可能还要对最终用户做访谈。EmilyL,BuySideEquityResearch/HFT赞判断别人水平的最好方法是提高自己的水平。一个程序员可以容易的判断比自己水平低的程序员的能力。当你看到一个程序员犯过多少自己当年犯的错误的时候你就很清楚了,不然他很可能比你强,不过你很难判断他比你强多少。think,不能只埋头码砖,还得抬头看看天赞依我看来:评论一个程序员技术的高低,不是看他会多少技术,又懂多少技术。参加过什么大型的项目,也不是看他有没有自己的博客,github有多少star。而是看他解决问题,定位问题的能力。这个很重要,真的很重要。技术可以很快上手使用,但是解决问题定位问题的能力不是轻易就行的。特别是在高压下解决问题的能力。举个例子:小天:老大,这里怎么没有执行成功呢?代码我从其他地方拷过来的呢!老大:报异常了没有?小天:报了,说的是文件导入失败,可是我的文件写入的方法没有问题呀!老大:你看看人家怎么写的小天:人家没写这一块,只有我这里才需要对文件内容进行特殊处理老大:那么问题就在这一块儿了。(缩小问题范围了)小天:我只是把文件内容写好了就导入了数据库了呀!老大:数据库导入文件那个我看了是公共的sql,没问题。小天:你看我文件写入这一块的代码嘛,没啥问题呢,我看了文件内容都是正常的。老大:既然如此,那么肯定是导入的时候存在问题,但是公共方法是可行的,肯定是你的文件格式有问题,你调整一下文件的编码试一试。。。。。。。。。。。。。。。。。。。小天:老大,搞定了,果然是文件编码的问题,不同的编码读取的字节长度不一样,数据库总是以它认为的编码去读取,保持编码一直就行了。老大:好的,我知道了。从始至终,老大没有看过代码。phpdragon,编得码、修得脑、翻得墙、上得床。吴水永,