在工作中,什么样的程序员是一个好的程序员,什么是一个差的程序员,怎么划分,是不是技术好的程序员就是好程序员,一个好的程序员需要哪些技能,在此楼主结合自己的工作经验,做一些总结,下面就楼主遇到的程序员从低到高来一个分类
一、最优秀的程序员
在此我们就不说那些获得图领奖,或者国外的比尔盖茨,国内的李彦宏、马化腾这种事业有成的一方大佬了,因为这样的人也是属于时代的产物。
我们从6个方面来评论
- 沟通:良好的沟通是一个优秀程序员的必备素质,否则再好的技术,再好的方案也难以施展。楼主就见过一个沟通能力不错的程序员,公司的几次技术革新就是在他的促进下完成的,那时他还是一个普通程序员。
- 技术:一个好的程序员,技术方面其实不是最重要的,但最起码要能将需要的技术讲明白,搞清楚。最起码要能让别人通过代码的注释就看懂你的代码,你解决不了的问题,要自己尽力试着解决,实在无能为力也可请教他人。
- 解决问题的能力:程序员最开始的诞生时候的使命是什么?是为了解决问题,你觉得一个个的搜索文件中的汉字很费事,于是做了个有搜索功能的程序,这就是解决问题的能力。
- 性格:一个好的程序员,性格一定是与人为善的,楼主见过一些程序员,技术不大,脾气挺大,觉得自己技术比别人牛,就瞧不起别人,这样的程序员其实很多的,因为觉得自己白天黑夜的去学习知识,而你呢游手好闲,他不仅要跟你合作还要把自己学习的只是教给你,他的确实不情愿。这其实可以理解,但如果想成为一个好的程序员,让自己的意见想法得以推动,这样的性格会得罪人,会给自己制造层层麻烦,阻碍,记得,保持良好的情绪是一个优秀程序员,职场工作人员的要素。
- 分享:有句古话,“独学而无友,则孤陋而寡闻”,把自己学习到的东西藏着掖着,怕人看见,其实第一阻碍了这个技术的发展,第二个也让自己无法知道这个技术的缺点和局限,自己也就无法获得成长,把自己得到的东西分享给别人,自己也会获得成长进步。
- 影响力:这里说的影响力不是说你要在圈子里有多大的影响力,就在你的部门,你的小组,大家对你的技术认可,对你做的东西都持相信的态度,给了同事信赖感,这也是影响力。
在以上6个方面都做的不错的,算是最为优秀的程序员了吧。
二、优秀的程序员
以上6项都做到极致算是最优秀的程序员,如果不能完全做到如何区分优秀的程序员呢,良好的沟通能力,符合岗位的技术能力,解决问题的能力,好的性格是比不可少的。
三、还不错的程序员
- 沟通:别人能听懂你要表达的含义
- 技术:满足岗位要求
- 解决问题的能力:不是特别刁钻的问题都可以解决,就算解决不了也会及时向上级反馈
- 性格:好的性格依然必不可少
四、一般的程序员
- 沟通:可以表达,让人听懂
- 技术:满足岗位需求
- 解决问题的能力:能解决一般问题,解决不了也会及时向上级反馈
- 性格:不会暴躁如雷,言语上攻击别人
五、差的程序员
- 沟通:说的话总是模棱两可,别人总是不明白
- 技术:自己岗位的工作,技术都无法满足
- 解决问题的能力:一般的问题都解决不了,遇到问题也遮掩,不向上级反馈,导致问题出现在线上才暴露出来
- 性格:这样的程序员有的性格也挺好的,但是其他方面水平太低了。
这是楼主自己的程序员经验总结分析出来的,也许不够充分,不够完整,也未必完全正确,欢迎大家一起探讨
在此处引申一句,差的管理者会事无巨细,样样过问,你会感觉他闲着没事,就是在管理别人,然后还会分给你一大批任务。好的互联网工作环境是比较宽松的,这样才有利于创新开发的生态。