优秀技术领导者的修成之道

来源:互联网 发布:国境以南太阳以西知乎 编辑:程序博客网 时间:2024/04/28 17:01
曾就职于谷歌、Square、DoubleHelix等公司的资深软件工程师及创业者David Byttow撰文阐述如何成为一名伟大的技术领导者:丰富的知识积累、对问题的迅速处理、大局观意识、能动性和对不必要的功能说“不”等。

最成功的项目都有一位优秀的技术领导者,来推动项目前进,同时确保正确制定每一个技术决策以及树立团队成员的信心。

日前,曾就职于谷歌、Square、DoubleHelix等公司的资深软件工程师及创业者David Byttow撰文介绍了他从一介草根到被谷歌录用的经历,在谷歌度过了精彩非凡的五年,作为一名工程师的他不断学习和成长。他在文章中总结了自己的工作经历,并分享成为优秀技术领导者的修成之道。

David Byttow认为成为优秀技术领导者可以从三个方面来说,属性、活动、行为。

属性(指工作本身所具有的各种特性)

在你的工作生活中,随着时间的推移,你应该不断加强三个属性:知识、速度和意识。

1. 知识

如果团队成员问关于一个特定的组件或系统工作原理的问题,你应该能够足够细的去解释它或者介绍给能回答这个问题的人。

想要提高专业知识水平,要做三件事情(按先后顺序):

  • 评审代码
  • 阅读设计文件
  • 写代码

优秀的技术领导者应该掌握多种技术,如:Java、JavaScript、C++、分布式存储系统、Web客户端等。

2. 速度

你应该努力做到迅速反应并做出即时的决定。若工程师来向你反映问题,都期待你能做出迅速的反应。David Byttow最擅长的就是利用邮件,工作上涉及到问题跟踪、代码审查和软件生产等事情,都会及时的发邮件通知给团队成员,并能够让他们通过邮件发表评论。

3. 意识

你应该保持在任何时候对项目都有整体把控的意识,否则你就不可能知道即将遇到的问题。如果存在有一个内部或者外部的力量威胁项目放缓下来,那么你应该知道它。同样,在这方面电子邮件整合起到关键作用。理想情况下,所有项目有关的状态或改变,都应该以某种形式通过电子邮件知晓,即使是线下的聚会。

能动性

1. 阻止

阻止需要高水平的意识和在战略决策的高度。技术领导者需要认识项目到底是什么,在做出一些差的决定之前,事先直接阻止,通常都会有一个更好的解决方案,没有最好只有更好。若一个工程师把自己的代码给另一位工程师进行审查,这可能是很正常的一件事情,但事实上,这极有可能引入新的错误。你可以加入他们的审查,并提醒写代码的工程师,这对整个项目都是有益的。

2. 疏通

与阻止相反,疏通也同样主要。如果有人遇到一个问题,你应该给出一个答案,或者寻助能解决问题的人。对于一个实习生而言,如果他们没有得到答案,往往就会被卡住,或者更糟糕的是感到沮丧。你不得不一直学习,并加强自己各方面的知识来给出正确答案。

3. 重新导向

不管你有多优秀,总有你不知道的地方,你不能回答他人提出的所有问题。即使从技术层面来讲,你是可以做到,但这几乎会花掉你所有的时间。其实,你完全可以不用这样,你可以建立一个知识库,这个库有你解决问题的方法、可以请教的人等,这势必会给你节省大量的时间。

4. 决策

你的部分职责就是做决策,而你的团队凡事也都依靠你。你越快的做出一个决策,别人就可以更快的采取行动。

在做决策的时候要注意以下几个方面:

筛选自己的决定,直至剩下两个选择。问题的复杂性随着可选择的方案增多呈指数增长;

快速做出决策最好是基于一定经验和科学的数据;

如果你在某个点上做不出正确的决策,那么你要考虑是否去找能解决这个问题的人来做决策;

如果仍然没有最佳的选择,那么有可能是没有足够的数据或被错误的问题误导。最后,要么停下来,要么就凭自己的直觉。

5. 楷模

技术领导者最重要的一点,他们自身就是一个楷模,即领导者要做到以身作则、可以被别人学习。技术领导者通常不是管理人员,因为他们的精力主要用在代码上而不是人。因此,对团队成员的尊重和信任是极其重要的,这有益于工作的开展和项目的进行。

大多数的领导者可能会发现很难腾出时间写代码,这样是不可取的。有些时候,你写的代码没有多大的作用,可能只是修复一些小Bug或添加一条有用的代码片段,你这样做比代码本身更有价值。

行为

下面列出了一些事,可以帮助技术领导者推动项目的前进。

制定产品启动、测试、发布计划
高效地主持工程师团队会议
确保会议是有用的、短暂的、必要的
找出优先项目
对不必要的功能说“不”
对遇到的问题要及时跟踪解决
学会协作解决Bug
维系好各个职能部门之间的关系
将目标细化,定下达到目标的日期
保持你所使用的工具一直是最新的
培训工程师
从其它的团队招募工程师
审阅代码,并提供有用的反馈
读、写,并给他人的设计文件给予反馈
在合适的时间写合适的代码
要学会和其它的工程师团队相互协作
经常思考并寻求更好的解决问题方案
……

David Byttow认为想要成为一名成功的技术领导者,没有捷径可言,需脚踏实地做好每一件事,慢慢的积累,并保持信念。

原创粉丝点击