程序员常常为本身的工做和职业而感到自豪,一些软件开发公司甚至以为优雅的编写代码是一种艺术形式,由于,不少人自称本身为“软件工匠”。可是我相信,写代码只是一个正常的职业,但在不少软件开发的状况下,程序员会抄袭别人的代码,若是每一个人均可以看到你写的代码,你以为还有些代码的必要吗?html
因此,在万众创新的大环境下必需要反思:你是一个优秀的程序员吗?你是高于平均水平的软件开发人员?也许你是在排名前20%,甚至最高的10%?程序员
我几乎能够确定,不少程序员的答案是,高于平均水平。大多数程序员这样的感受。可是,固然,若是大多数程序员认为他们是高于平均水平,不少都是错的...编程
虚幻的优点学习
感受“高于平均水平”这一广泛现象称为虚幻优点,并已研究了社会心理学家。下面一段是维基百科的定义:3d
“虚幻的优点是致使人们高估了积极的素质和能力,低估其负面的素质,相对于其余认知误差。”htm
这里是由在该领域的研究人员观察到,一些具体的例子:blog
“MBA学生在斯坦福大学,87%认为本身的学习成绩中位数之上。”开发
“对于驾驶技术,美国调查的93%的人群将本身的技术置身于前50%。”get
可是,MBA学生和司机只是两个例子,一样的现象在不一样的环境中被观察到。若是你有软件开发经验,你也会这么认为,程序员也不例外。效率
可是,为何这个虚幻的优点是错的呢?自尊无疑是一件好事。一个好的专业应该有本身的能力有信心,以处理他的任务。你们都喜欢优秀的程序员为一个团队工做,但他老是认为本身比其余同事优秀的多,这个时候也特别危险。
尊重和承认
如何治愈程序员虚无缥缈的优点?咱们怎样才能使一个团队程序员互相尊重,甚至欣赏,由于认可彼此的经验和技能?
我认为,尊重和认可,关键是联合工做,尽量接近。而且,在这种状况下,敏捷开发比传统开发合做提供更多的机会。
联合工做能够以最接近的形式一块儿编程。在这种状况下,软件开发人员一块儿工做,编写代码在一块儿。几个研究已经证实,对编程对系统的质量产生积极影响。可是,在我看来,另外一个重要的好处是增强团队合做的程序员之间的配合默契能力。
真正的优点
可是当你的上级给你派任务的时候?你应该如何表现,你是最有经验的开发人员在一个团队中,或者当你是惟一一个有特殊技能?何时在你的队伍里有程序员在编写代码不好发生什么呢?
我相信,当你在一个团队中最有经验的开发者,这应该给你一种特殊的责任。或者,借用一句名言:“能力越大,责任越大”。
在工做环境中,其中有团队成员之间真正的合做,你出色的写代码能力将很快获得认可和尊重。而后你就能够发挥领导做用的天然做用,至少在你有特殊技能的领域。假设这技术领导地位是指:
教学:若是你是惟一一个与特定的技能,教别人。
共享:若是您是经验最丰富的,分享你的知识。
评论:若是其余程序员编写不好,检查他们的工做。
帮助:若是你能提升生产效率,帮助人们处理他们的任务。
但你必须记住的是,即便你是“高人一等”,也能够随时向别人学习。“道德的父亲”曾经教过咱们:
“谁是聪明?谁向每一个人学习。”
本着这一精神,你才会是一名优秀的程序员。
本文首发:http://column.iresearch.cn/b/201606/772044.shtml