📜  成为优秀技术领导者的 7 个基本技巧

📅  最后修改于: 2021-10-19 04:35:03             🧑  作者: Mango

技术领导力……当你听到这两个词时,你会想到什么……?

理解这两个词的意思并不复杂。顾名思义,技术领导角色是两个主要职责的组合……技术责任和领导活动。

您可能已经在您的大脑中想象了一个具有领导角色的技术经验和良好沟通技巧的人。在某处确实如此,但技术领导者的责任很难定义。对于任何开发人员来说,这都是一个艰难的过渡。

作为开发人员,您大部分时间都花在设计和编写代码上,但作为技术领导者,它不仅限于这两项职责。您还对整个开发团队负责,不再处理您的问题。您将不得不与技术人员和非技术人员打交道,并且您将处理更多任务。

在这个博客中,我们将详细讨论这个话题,我们将发现一些最重要的技巧,以成为一名有效的技术领导者。

成为优秀技术领导者的 7 个基本技巧

什么是技术领导力?

技术领导者是具有技术经验和强大沟通技巧的人,可以指导整个开发团队。他/她将负责项目或产品的技术方向,并且还将成为其他利益相关者(例如您的业务、项目管理等)的首选人选。如果您是技术领导者,那么您的团队成员需要有你站在他们一边的感觉。让我们讨论一下技术主管的一些主要职责。

1. 技术指导

技术领导者负责某些领导活动,例如指导技术愿景。例如,我们需要在特定项目中使用哪种技术我们如何需要提供和部署项目?在哪个项目等中需要使用哪种模式

一个技术领导者需要知道产品 要求系统设计以及不同的技术适应不同项目的要求。在你为你的项目做出技术决定之前,先问问自己……为什么需要选择一个特定的 技术?为什么特定的设计是首选等?

您还应该了解系统的不同部分,谁在系统的哪个部分工作以及这些部分在系统中的作用。

2. 分析风险和需求

在选择特定的技术、语言、框架或编程方法之前,您需要了解应用程序的要求。在现有应用程序中实施某些新技术、语言或框架之前,还要分析和降低风险。如果您冒着在系统中引入新技术的风险,将对您的应用程序产生什么影响?

3. 教育经验不足的人

在一个团队中,许多开发人员在构建项目时都会参与其中。有些是高级开发人员,有些是初级开发人员,具有不同的技能水平。所以很可能你的团队中的人会有不同的经历。
技术主管也有非常重要的指导作用。为了使项目具有成本效益,他们需要通过在团队中培训经验不足的开发人员来混合和匹配技能和经验。

4. 弥合沟通鸿沟

业务涉众无法理解应用程序中使用的项目的技术术语或某些技术事物。技术人员和非技术人员之间的大部分对话变得非常混乱。业务人员感到困惑,而开发人员则认为他们没有被理解。

作为技术领导者,您有责任找到有效的沟通方式。您需要使用不同的语言与利益相关者进行协调,以使他们理解。

您将与他们密切合作,您将检测他们的需求,并且您将根据正在进行的实施不断映射这些需求。有效的沟通对于了解业务需求很重要,因为之后您必须将需求与项目的技术愿景相匹配。

技术主管的重要性

我们已经讨论了技术主管的主要职责。现在您可能认为团队中没有必要拥有技术主管。开发人员可以自己管理工作,但是,您能想象一个没有技术主管的团队的运作吗?将如何做出决定或谁将优先考虑某些重要工作的事情?团队成员将如何彼此分享对某事的看法以及他们将如何达成一致的解决方案?

如果我们将上述所有事情都留给开发人员,那么他们之间可能会发生冲突,并且不会花费太多时间来破坏团队的微妙平衡。因此,在团队中拥有一名技术负责人来管理上述所有事情并处理此类问题非常重要。

作为一名开发人员,您迟早会被技术领导角色所占据,因此做好准备并在这个角色中尽最大努力很重要。我们将分享一些技巧,让您在您的组织中成为成功的技术领导者。

成为成功技术主管的秘诀

1. 营造积极发展的氛围

如果您曾经与一些大公司合作过,那么您可能会在该组织中看到一些冲突或愚蠢的事情。作为技术领导者,您有责任倡导变革。无论环境多么消极,你都需要学习并创造一个积极的环境。如果你观察到一个过程很慢或者事情朝着错误的方向发展,那就试着让它变得更好。

创造一种心态,不断改善情况。了解并体验团队中其他人所经历的同样痛苦。但问题是如何在团队中创造更多的效率和快乐?我们如何倡导变革?

您能做的最好的事情是遵循 OODA(观察、定位、决定、行动)循环,这是一种四步决策方法。考虑这样一个场景,在您的项目中,有时测试失败,有时却能正常工作。现在 OODA 循环的工作方式如下。

  • 观察:在这个阶段,你需要观察项目中发生的一切。为什么测试有时会失败而有时会起作用。
  • 东方:在这个阶段利用你的经验或你队友的经验来看待那个特定的问题。为什么这些测试有时会失败?这可能是竞争条件或类似的事情。  
  • 决定:一旦确定了问题的原因,您就需要决定如何解决问题。也许您需要指定某人来查看问题,或者您需要进行研究 靠你自己。
  • 行动:一旦你做出决定,你就需要付诸行动。

OODA 循环最好的一点是它是一个可重入循环。如果你采取某些行动,它可能会导致一个新的观察。所以也许过去失败的测试不再失败,但所有其他测试都失败了。现在在这种情况下,您需要做出不同的决定。

2. 庆祝成功并学会处理失败

失败:作为一名技术领导者,你需要明白事情不会像你期望的那样运作。软件开发人员在构建应用程序时经常会遇到失败。你的团队和你会看到很多失败。有时功能不起作用,有时应用程序的部署会产生问题。构建将失败,您的应用程序可能会实时崩溃或错过时间表。

您需要做好准备以应对上述所有故障或重大问题。保持冷静,不要太担心失败。如果您发现某事有问题或团队成员犯了错误,那么与其责怪对方,不如礼貌地告知对方并询问他们对问题的看法。您是技术主管,因此您需要拥有解决问题的所有权。

你的团队成员的问题也是你的问题。贡献你的时间并用你的精力来解决手头的问题。从失败中吸取教训,解决问题,您将因成为一名优秀的团队合作者而受到赞赏

成功:当您的团队有成就感时,与您的团队成员一起庆祝成功。欣赏你的团队成员,鼓励他们,激励他们,他们会很乐意和你一起工作。如果您团队中的某个人提出了解决特定问题的新想法或某种方法,并且该解决方案或想法有效,那么该人应该受到赞扬和奖励。这将在您的团队中创造和谐、合作和创造力。

3. 精通技术

当然,你 如果您的工作角色包含“技术”一词,则需要精通技术。许多新的技术领导者努力在他们的编码和非编码职责之间找到正确的平衡。他们要么全职编码,要么根本停止编码。作为技术领导者,您必须花一些时间在代码库中并且不要忽视技术活动。

获得各种技术堆栈和生态系统的经验。了解每一种的优缺点。如果你停止花时间在编码上,那么你很快就会停止获取代码逻辑,这会产生很多问题。

如果您停止编码,那么您将无法理解项目的真正含义、实施或维护。您可能会在解决一些技术问题时遇到困难,并且您可能会做出一些错误的决定,这会增加您的软件系统的复杂性。这将导致破坏与开发人员的信任。

技术负责人

  • 您参与编码、代码审查或任何其他技术工作取决于团队的技术知识水平。您编写代码、进行概念证明、更改次数、技术指导的责任一切都取决于团队的成熟度。
  • 您还需要考虑应用程序的技术愿景。它应该与客户需求保持一致,并且需要与团队成员共享。您需要引导他们实现这一愿景。
  • 密切关注代码库中不断实施或更新的代码。及时了解它,保持对系统及其技术限制的认识。

4. 随时作为导师

工作角色名称“技术负责人表明您需要扮演导师的角色,并且您需要始终为您的团队提供帮助。获得所有权,支持您的团队成员回答问题,指导他们并做出决定。

一个好的技术负责人拥有三个最重要的品质……什么时候提供意见?何时以及如何做出决定,以及何时将所有权授予您的团队成员,具体取决于技能或能力

查看代码并向您的团队成员清楚地解释所有内容。为什么某种方法是好的,为什么你要以特定的方式做某事?您需要将精力投入到某些任务中,例如……

  • 为您的团队准备完整的技术设计,并确保需要实施什么以及如何实施。此外,还要注意质量属性,例如网络、安全性等。
  • 成为调解人,对讨论持开放态度。你和你的团队有相同的目标,所以听取每个人的意见并接受它很重要。与团队成员讨论问题并听取他们的意见以达成一致的共同解决方案。
  • 为了实现组织的更大目标,您需要匹配开发人员的个人目标。这个目标可以是动态的,因为它可以改变。与开发人员开诚布公地沟通,指导他们并获得所有权。

5.做开门人,而不是看门人

如果您是技术负责人,那么在我们继续之前,我们想先问几个问题……

  • 您认为检查代码库的每个更改对您来说重要吗?
  • 您认为对所有决定拥有最终决定权并参与每一次技术讨论对您来说重要吗?
  • 您认为参与每个工作项的创建、分配和完成对您来说重要吗?
  • 您认为技术负责人可以是唯一获得基本服务的人吗?
  • 您认为技术负责人是唯一可以维护或更改代码库某些区域或调试系统某些部分的人吗?

如果您对上述所有问题的回答都是肯定的,那么您就犯了一个错误,并且会降低团队的整体生产力。当技术领导认为只有他们可以对所有事情做出决定时,就会出现这个问题。你需要表现得像个领导者,而不是犯这个错误,像父母一样行事。

你参与做出关键或艰难的决定确实是,但你不应该试图承担所有的责任。你不需要参与每一个小决定。将所有权转移给其他开发人员,指导他们,并授权他们自己做出一些决定。此外,当他们与您分享决定时,您应该理解并尊重他们的决定。如果您发现有问题,请礼貌地让他们知道为什么某个特定的事情是错误的,以及对此的替代决定或解决方案是什么。

6. 学会好好委派

这是新技术领导者面临的最大挑战之一。作为技术领导者,您有很多责任,因此不可能专注于每一项任务。您需要找到一种方法来委派某些活动并仍然参与其中。这样,您将能够专注于更重要的任务。

委派任务对于团队和项目的顺利运作很重要。如果您不能将事情委派给开发人员,您将被如此多的任务压得喘不过气来。这将导致整个过程变慢。以下是在开发人员之间委派任务的一些有效技巧……

  • 委派任务比通常的职责多一点。
  • 询问志愿者。允许您的团队成员提名自己并负责某项任务。这样,您将通过有偏见的行动来保护自己,而您的团队成员将享受他们的责任。他们会伸展自己,他们会乐于接受更多挑战。
  • 确保没有团队成员一直在处理某些任务。否则,如果此人请假很长时间,那么任务将无法完成,您将面临更多问题。

7.缩小

作为技术领导者,您有责任缩小一切。您应该意识到您的工作如何连接到更大的系统。可视化整个架构并找出每个人的工作如何融入更大的图景。

请记住,如果您的团队成员就像船上的水手,他们专注于拉绳、管理风帆维护 船舶然后技术负责人应该花时间在乌鸦巢中观察地平线上的潜在危险。

他/她需要照顾好船,确保船在水中漂浮良好,并在岛屿和周围其他船只的环境中保持良好的平衡

向您的团队成员展示您的应用程序的更广泛视图。代表架构的不同视图,例如逻辑、部署等。根据这些视图确定个人任务如何适合该架构。与开发人员会面或白板会议将有助于审查整体情况。也不要忽视质量属性,如可扩展性、性能、可用性问题等。

结论

对于技术领导者来说,有效地管理所有职责是非常具有挑战性的。他们需要不断地提高自己的技能和能力。成为技术领导者需要对技术和设计有深刻的理解。他们需要处理双重复杂性。应用程序的复杂性和一群人一起工作的复杂性。处理这两件事是具有挑战性的,但如果你相信自己和你的能力,那么你就会成功。