如何从工程师成为技术团队领导

常柱 架构未来  

本文大部分内容为工具翻译,部分内容根据个人理解做了调整编辑,不太准确地方请见谅,阅读原文见文末引用。

成为技术团队的领导,不是一蹴而就的。需要我们有良好的意愿和愿景,多维度能力的持续的提升,对团队有持续的价值贡献,成为领导只是早晚的事情。领导力是关于人的,所以真诚地帮助人们成长,并做好他们的工作。

如果软件开发只是你职业目标的一部分,也许你应该考虑成为一技术领导。一个技术领导可能意味着要做不同的事情:一个团队领导或者一个经理(例如,技术经理是负责团队及其项目的人)他们要负责员工的成长,业务的增长,项目的交付期限、团队文化建设,代码标准制定和落地,技术债务清理等等。

 

如果你是一名开发人员,可能不清楚如何从现在的位置获得技术领导的地位。如果你的目标是很快成为一名经理,你需要问问自己为什么想要这个职位,成为一名经理可能符合也可能不符合你的长期目标。

我进入了软件开发领域,因为我觉得和电脑打交道比和人打交道更舒服。但过了一段时间,我发现自己越来越多地帮助其他开发人员。我喜欢领导项目和推动更好的代码标准。对我个人来说,这是一个显而易见的选择。

对于许多软件工程师来说,作为个人贡献者成长可能是更合适的途径。许多公司为个人贡献者提供管理的替代方案。这些备选方案包括普通工程师、高级工程师或资深工程师。这些都是非常高级的技术角色,但没有人会像向经理汇报一样向他们汇报。

那么,你想成为一名技术经理还是另一种类型的团队领导?坦率地说出是什么驱动着你是很重要的:是编写代码还是架构软件?或者,它是否帮助其他人获得更好的结果,与利益相关者协商最后期限,并说服您的业务团队代码重构不是浪费时间?你对这些问题的回答将帮助你决定哪条路更适合你想要的结果。

如果你仍然相信技术领导的道路是适合你的,那么你还有一些工作要做。考虑与你的经理或导师一起工作,让他们在你不太熟悉的领域帮助你。以下是10个重点关注的领域:

加快步伐

一个真正的领导者可以在没有头衔或权威的情况下领导。任何人只要有一个漂亮的头衔和组织结构图赋予的足够权力,就可以发号施令。但这不是领导力——领导力在于你做什么。

因此,你应该从小处着手:在困难的项目中承担更多的责任;通过拉请求提供反馈来帮助你的同事;主动承担起汇报项目进展工作;对团队或产品工作流程提出改进建议;指导一个同事开展工作等等。

现实中有足够多的机会,人们要么不想看到,要么没有足够的专业知识或信心去抓住。确定你的同事正在努力做什么,然后挺身而出去做一些帮助他人的事情。

Ownership

当你承担责任的时候,要对你做或不做的每件事负责。领导者要承担责任,避免因错误、错过最后期限或错误而责备他人。

与其抱怨某人引入的bug,不如帮助他们修复它,并告诉他们如何在将来避免它。找借口帮不了任何人,花点时间去实现你的承诺。如果有必要,和你的经理协商一个更好的期限。像经营自己的事业一样经营一个项目,并且真正关心项目的一切。

最近,我们团队的一位技术主管把最新的master分支撤了下来,他们看到了单元测试覆盖率的大幅下降。他没有抱怨,而是补充说缺少测试覆盖率。然后介绍了如何正确地检查覆盖率以及如何为复杂的特性编写单元测试。他主动提出如果有人需要帮助,他不会责备任何人,团队对此表示赞赏。

人际关系(或政治)

有时人们会误解人际关系,称之为“政治”。它们是一样的东西。如果你不想与“政治”打交道,那么如果你想在一开始就进入领导层,那就再好好想想吧。

建立有意义的关系是技术经理的职责之一。管理就是通过他人来做事情,开始与其他技术经理建立良好的关系,他们是你未来的同伴。

有几种方法可以做到这一点,比如在技术讲座上发言,举办研讨会,指导团队之外的开发人员。技术经理会欣赏你通过这些任务建立的关系。

技术专长

技术经理首先应该是工程师。他们必须具有强大的软件工程背景和实践经验。成为团队中最强大的工程师之一是必要的。不能编码或不理解技术细节的经理不能参加技术讨论。一旦你成为了一名经理,你应该始终保持你的技能足够尖锐,以胜任更高级别的架构。

指导能力

团队中任何“真正优秀的开发人员”如果不是团队中的一员,将会是有害而无益的。如果你技术很强,那么你应该帮助别人达到你的水平。结对编程、代码审查、演示文稿、开放源代码或内部源代码项目都是开始指导他人的好例子。

很少有人会来找你,请你指导他们。然而,通过标榜自己为“专家”,并积极主动地做上述事情,人们自然会开始向你寻求建议。通过帮助别人,你建立了有意义的人际关系,赢得了别人的尊重。希望他们也能以同样的方式回报并指导他人。

项目管理

按时交付项目是任何领导者的核心职责之一。作为一名开发人员,如果你经常错过最后期限并低估任务,别人就不会信任你。你必须有条理,并对自己的任务了如指掌。

我们都知道评估软件项目是困难的,因为有很多不确定性。然而,通过正确的过程,这也不是不可能的。不断地与你的经理或利益相关者沟通项目的进展和期望。

例如,我的团队正在做一个每周的状态报告,其中项目技术负责人有机会交流进展情况,提到任何阻碍因素或提出没有按时交付的主要问题。

沟通能力

清晰、简洁的沟通是任何一个领导者的重要特征。如果你不能清楚地解释你想从你的团队中得到什么,那么在任何工作开始之前,你就已经失败了。

交流有多种形式,包括口头、书面甚至肢体语言。始终致力于提高你所有的沟通技巧。

我的团队错过了一些最后期限,因为我没有及时清楚地传达需求。很少有这样的例子,沟通的缺乏在团队中造成了混乱,谁应该做什么。我了解到依靠项目经理或业务干系人来解释项目细节是行不通的。一个技术经理必须理解这个项目,然后解释它,并把它卖给团队。并激励他们想要为之努力。

向上管理

管理你的上级(或者他的上级)。这意味着要不断地与他们沟通,管理他们的期望。经理们很少喜欢惊喜,不管是好是坏。与你的经理建立信任关系。成为重要且引人注目的项目的关键人物,并在预算之内按时完成。然后更多的项目会跟进,你可以重复这个过程。

冲突和危机

不管您有多少单元测试或集成测试,都会出现生产问题。是的,您希望最小化项目中的bug。更重要的是如何处理生产问题。一个在压力下开始惊慌失措的人,在别人眼里,立刻就失去了当领导的资格。团队和其他管理者希望看到一个冷静的人,即使在压力最大的情况下,一切都在他的控制之下。

我以前的技术主管总是很冷静。没有任何冲突或压力会让他崩溃。至少没人看到他有压力。在凌晨3点处理生产问题时,他没有让人失望。这个问题在几分钟内就解决了,他上班时表现得若无其事。

另一位技术主管在我们发布这一功能的最后期限前打电话请了病假,压力太大了。他非常焦虑,这让他周围的每个人都觉得和他一起工作很不舒服。

尽管这两个完全相反,你可以猜出哪一个更成功的技术领导。

愿景

对于他们所负责的每一件事,领导者都应该明白“为什么”。他们还负责确保其他人理解他们在一个项目中工作的“原因”。一个领导者必须解释(通常是很多次)为什么这个项目会发生,为什么特定的人会在这个项目上工作,以及这个项目是如何融入“大局”的。一个团队必须相信他们所做的,只有这样他们才能有效。

从今天开始,引领前进的道路

领导力不局限于一两个人,所以不要等待许可,今天就行动起来。成为你所在领域的专家,在人们陷入困境时帮助他们。提高你的沟通技巧,即使是一些小事情,比如技术文档。与你现在和未来的同事建立良好的职业关系。确保你明智地管理你的时间,并在项目的最后期限之前完成。不要忘记,领导力是关于人的,所以真诚地帮助人们成长,并做好他们的工作。

引用:https://www.freecodecamp.org/news/the-path-to-technical-leadership-how-to-go-from-developer-to-team-leader-8c544f15a431/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值