老板该如何正确的犒赏程序员
你手下有一群很出色的程序员,他们都非常想在事业上取得进步。你的这个团队成绩斐然,这是他们双手创造的,你知道这些,你想奖赏他们——为他们所做 的努力。最直觉的做法是提拔他们,让他们成为管理者/经理,事实上,他们一直是这个团队的真正负责人。但是,这是他们真正想要的吗?或者说,你应该认为他 们是这样想的吗?
管理工作是一种完全不同的技能
总所周知,在一个程序员的职业生涯里,他的技术水平会积累到一个相当的高度,而现在要求他去花整个时间去研究一种全新的东西——人际交往、软技巧等 管理工作,这些是他们在过往的岁月里完全忽略的。学习编程技术占用了他们全部的时间,那些是需要反复尝试、反复失败的过程。现在,他们的时间却需要用在非 编码的事情上,是一些跟他受奖赏的工作完全不同的工作上。于是,他们一下子从擅长的工作转移到了不擅长的工作。自信心,工作满足感都受到打击。
问题的根源是,技术大拿/技术带头人跟团队管理/经理是完全不同的技术工种。你对他们奖赏,是赏识他们是出色的带头人,卓越的执行者,要把他立成榜 样,让其他人学习,追随。而不是让大家都想当经理——都是经理后会来干活?除此之外,你不能向大家暗示这样一种信号,就是作为一种事业,编码工作跟其它职 位比起来是低等的。
理解一位技术首领
一个技术首领的职责和工作有很多方面。参考一个典型的技术负责人的工作——每天有很多的技术问题需要决策,给需要解决的问题排优先级,找到解决问题的方案。程序员的工作最有趣的部分是,他们每个人都会在项目的某一方面起着重要作用——某种程度上的领导地位。
程序员的另外一部分工作是,回答为什么有些东西有问题,为什么不能这样使用软件。找bug,修改bug。写文档。代码审查。项目评估。总之,一个程序员在一个公司里待的越久,他就越难找到一个较长的不被打搅的时间段。这些是他们工作中最讨厌的部分。
程序员最快乐的工作发生在不被打搅的时间里,而这些不被打搅的时间却不能说因为大家找不到你而影响了他人的工作。程序员思考问题时通常需要将整个问 题装入大脑,这需要他们的注意力承载相当大的负荷来分析和研究问题。对于性格内向的程序员,这需要安静,而对于外向的程序员,这需要在一间屋子里和志同道 合的人共同讨论。
但是,为什么有些程序员不高兴?为什么优秀的程序员不能从工作中获得更多的快乐?核心障碍是权力——程序员能够说“不”的权利。这无关勇气。这是一 种实权问题 – 技术负责人必须要把客户提出的问题解决,如果他对自己手中的软件有责任感,他们会觉得这个软件会一辈子和他休戚相关,这是一种个人担当,但也是一种拖累。
如何让技术领袖更有地位和权力
随着项目的发展,团队中的人会越来越多,最终会出现团队成员管理问题。技术负责人会必然的要处理一些团队中出现的人员问题。这方面工作做不好就很可 能导致很大的问题。应该鼓励技术负责人提早设定目标,让他们多想想最终目标是什么,是搞技术还是做管理,不要断然的向他们发送如果不当上领导就不受人尊重 的错误信号。如果一个优秀程序员有志于成为最伟大的程序员,有志于想开发一个能承受10亿人访问的系统,或者深入探索一个操作系统,那你就应该帮助他实现 他们的理想,这都大家都有好处。