查看原文
其他

自由魔法:论软件公司的技术领导力

Deepak Karanth 21CTO 2020-11-17

21CTO社区导读:本文中我们重点介绍关于软件公司领导力的分享,包括开发人员的心理以及如何做技术团队的魅力领导者。



最近,我受邀作为国际科技行业3000多名关键决策者的会议,为科技公司、初创企业和投资者等,谈到“软件公司之技术领导力”这个话题。这次演讲受到了观众的好评,并提供了一些有价值的想法和解决方案。


谈到软件开发人员的管理方式与其他行业的人员不同,因为他们工作的本身就是知识分子。


我们需要具备激励软件开发人员的技术领导力,让人们以卓越的状态来投入工作中。


当然,如果我和大家讨论只是理论上的领导技巧或者编排的故事,这样纸上谈兵没有任务价值。我分享的内容都是基于自身的一手经验。


作为技术团队领导者,仍然要和普通员工一样和其他同事一起工作,然后在技术领导角色帮助和激励团队。必要的时候还需要编码。


开发人员的心理


1、在尝试激励开发人员之前,要了解开发人员的心,面部背后的男人和女人都很重要。他们真正想要的是什么?


2、开发人员最喜欢什么?解决问题。可能从童年开始,他们就开始喜欢编程,因为他们喜欢把问题搞定。


3、他们对想要解决的问题有选择自由,如何解决问题以及什么时候解决问题。


4、新鲜或无中生有的感觉。很多开发人员希望每天都有这种感觉。


5、他们从来不是为了钱工作。激情是由创造力、学习力与为自己设定的卓越标准驱动的。


6、在一天结束时,最重要的是成就感。犹如雕琢工艺品的匠人般的自豪感。


传统管理方式的弊端


1、传统的管理方式并不去关心开发人员的心理。这些管理人员不在乎的两个可能原因:一是他们不知道如何照顾开发者;第二可能他们真的不在乎。


2、有一件事传统管理者肯定关心,那就是底线。决定关系到他们是否以积极的方式影响底线。


3、在清晰强硬的目标驱动下,与开发人员认为在何处是关键点的内容背道而驰。


4、传统管理人员的性格特征:魅力型、直言不讳型,外向型等,都是积极外向的性格特征。在大多数情况下,这些性格与典型意义的软件开发人员特征完全相反。


5、有哪些方法经常会在开发团队中使用:


1)我能怎样想办法让团队做得更多

2)我能做些什么减少资源浪费

3)我能做些什么来增加利润


6、对于开发人员来说,这些不再是重要的事情:


1)他们不再关注代码质量

2)他们不再考虑可维护性

3)他们不再追求技术上的领先


7、经理们只关心


客户比任何人都重要...


8、它不再需要程序员的匠人工艺:


1)开发人员的荣誉感将被剥夺

2)他们觉得与传统管理的目标脱节严重


决策与结果之间的差异


你真的认为经理人不注重软件质量吗?你真的以为顾客不喜欢高质量的软件吗?不,他们绝对不想要低质量的产品。


那么,为什么我们的行业中却经常出现低质量的软件产品?为什么救火式的快速修复,是经理们经常干的“解决方案”?这其中的缘由是决策-后果的差距。


什么是决策-后果的差距 ?就是决策者并不面对决策执行的直接后果。因此当经理“指导”员工开发低质代码的解决方法时,他/她不必直接面对后果,因为他并不参与代码开发。团队务必缩小这种差距,才能做出正确的事。


这就是为什么我们给别人提建议时比自己做容易,这也是相同的原因。


黄金圈


我们如何解决公司界限的问题,能满足开发人员的需求和客户或经理的需求?我们的管理如何让每个人都快乐?


答案就是Simon Senek的黄金圈。请看下图:



黄金圈之基本原则:


  • 人们从来不会为其他人工作,但他们积极的为了自己的利益而努力工作。

  • 人们给外部客户工作,所以无法达到激励人们。这是团队领导的常规管理方法。

  • 开发者不会受公司财务目标的激励,因为它为别人的梦想服务。


为了有效激励人们,他们需要从内部获得灵感。这来自于WHY和HOW。

这个模型在软件开发领域的成功故事在于FOSS - Free和Open Source Software。

- 在没有经理,敏捷开发Scrum大师们的情况下,开源项目如何做成功?

- 为什么开发人员愿意使用开源项目?


答案在于,开源项目关注开发者的 WHY 和 HOW。


WHY与HOW 基于和支持开发者的心理,由内到外的工作,确何开发人员每天都有成功的成就感。


改善我们的开发过程


我们应该尽可能多的提供对开发人员有意义的WHY和HOW。


将公司的业务目标(WHAT)转换为 HOW 和 WHY。


我们从哪里培养一种团队技术文化:


- 卓越的价值

- 鼓励创造力

- 捷径和解决方案并不受欢迎 

- 质量是第一目标,而不是最后期限 

- 能量是由内而外引出的


基于传统软件开发管理的管理者,会有大部分人认为你可能拖延了项目最后期限,或者觉得开发进度失控。但是,如果按上述的文化来做,你一定不会错。


我们想象一下有一条高速公路,还有有一条拥有快车道但拥堵的路。你会不会要求别人去走那条充满障碍的捷径?我想肯定不会。


高速公路可能是一条较长的线路,但它可以更快的到达目的地。


公路的比喻也可以应用到软件开发领域。在短期内,高速公路看起来可能不是一个好选项,但是正确的开发,考虑软件质量的事情总是会弥补更久远的时间。


技术领先:有高素质的人带团队


开发人员的角色模型是团队里都是相仿的人。开发人员的榜样更应该是技术员而不是商业人士。


拥有技术角色模型的重要原因是开发领导团队,而不是技术人员不喜欢技术人员。


有一位以身作则而不是权威的领导者。你需要技术领导力,而不是管理者。


强制人们与领导们合作并不是他们需要,而是因为他们真的想要。


我们需要记住,我们将永远吸引像你一样的人,而不是像你想要的人。


团队里不要产生竞争


不要在团队是培养竞争型的文化,它只会阻碍团队的凝聚力形成。

当人们必须相互竞争时,他们只为个人事务而努力,而不是为了团队或公司的共同目标。

不要根据个人表现,评估绩效和任何奖励的事情。


将开发者视为负责任的成年人


这点我受到 Netflix 的团队政策发生的改变和启发。现在是时候把开发者当做能够负责任的成年人了。在大多数公司中,开发者最宝贵的知识资源处理层次结构的底层,每个人都随着自己的曲调起舞。


Netflix并不关心员工的工作方式、工作方法、工作时间,只要维护高绩效。他们甚至有无限的假期,可以在没有通知或上级批准的情况下进行。有一家公司 Hubspot最近采用了类似的操作风格。希望今后在更多的公司看到类似风格。


真正的最后期限 


有合理的期限,有真正的最后期限。

不要改变开发人员给出的项目估算值,他们才是提供正确估计的最佳人选。如果你这样做,就会降低士气。因为我们在迫使人们在用他们不想要的方式工作。


你还记得前面的公路比喻么?


小结


通过这些简要总结,希望能够给你一些想法的启迪,也希望有更好的东西激发出来。请您记住,开发者因为热情而工作,他们喜欢解决问题,喜欢相伴的是创意和思考过程。给开发者们心理支撑,辅以实现业务目标。


给开发者一个追求自己激情的理由,培训自己的技术领导力,关心编程技巧。很快就能看到新魔法的诞生。


作者:Deepak Karanth

编译:任之谦


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存