什么是软件行业的工程经理? - DZone Agile


一位作者分享了他第一次担任工程经理的经历。它会成为你的下一个职业吗?
最近,我加入 Nextail Labs 担任工程经理。这是我第一次在软件初创公司工作并担任工程经理。
工程经理角色有很多定义,但这在很大程度上取决于公司。去年,我参加了几次招聘流程,但公司对同一职位的描述有所不同。同时,如果我们向其他工程师询问这个角色,他们之间的答案可能会有所不同,并且取决于他们的经验。
在我看来,工程经理的 主要职责必须是面向人员和团队, 而不是项目、产品或架构。 

  • 如果我们主要关注技术领域,我们可能是首席/员工工程师、技术主管、架构师或技术总监。
  • 如果我们主要关注交付过程,我们可能是交付经理。
  • 如果我们主要关注产品,我们可能是产品经理或产品负责人。
  • 另一种选择是人们专注于领导所有领域,在这种情况下,他们可能是英雄!我喜欢没有英雄的球队。

 
工程经理管理的是人员和团队
在我的职业生涯中,我一直相信“伟大的软件是由伟大的团队构建的。 ”我一直努力关心人和团队,不仅是为了实现目标,而且是帮助他们发展自己的职业生涯并使他们的日常生活更轻松。
我很幸运,因为我有很棒的经理,也有糟糕的经理,他们让我了解行动如何影响人和团队。今天,我可以理解我的大多数经理并没有关注人员或团队,因为他们没有时间支持我作为工程师或团队的需求。如果我们不能每周、两周甚至每月与他们交谈,我们就无法支持团队和人民。
支持团队和人员需要大量时间。不仅是我们有多少“一对一”会议以及它们的持续时间,我们还需要通过审查上一次会议、行动计划或报告来提前准备会议。
例如,如果某个工程师想增加他/她的数据架构知识,而我们建议他/她阅读一本特定的书,我们应该有时间与他/她讨论他/她正在学习的内容以及这对他/她有何帮助他/她进化与否。有时我喜欢阅读同一本书并与他/她讨论其中的一些章节,因为与其他人讨论有助于提高理解。这只是一个例子, 重要的是有时间提供高质量的支持。
 
工程经理范围
工程经理不仅关注人,而且我们还有其他次要职责。这些职责的范围将取决于许多因素,例如公司规模、公司组织、人员和工程经理的知识或团队的成熟度。
作为工程经理,我们必须灵活适应每个团队和人员的特点。以下是一些示例,具体取决于团队。 
  • 高级和高绩效团队

如果我们成为一个由具有丰富经验的人组成的高级团队的工程经理,能够实现所有目标并能很好地合作,我们作为工程经理的角色将是提供他们需要的所有支持并尝试向他们学习. 
最重要的是,尽量不要打扰他们。
  • 有高级和初级成员的团队

这是最常见的情况,我们必须帮助他们:
  1. 促进新成员融入团队和公司文化。
  2. 为复杂用例的架构解决方案提供另一种视角。

  • 新团队

有一些初级成员的新团队需要工程经理的更多支持:
  1. 如果工程经理有很多技术知识,工程经理将提供技术顾问。
  2. 如果软件工程师具有技术知识但不遵循任何方法论和流程标准化,则工程经理将通过提供流程顾问来支持他们改进。

 
 优秀的工程经理是那些能够留住团队并且其他人都愿意与之共事的人。 

最棘手的事情
据我的经验,工程经理是全球贡献者角色之一,拥有最多的灰色地带,而且自我实现更难以实现。这有时会导致我们犯一些错误:

  • 当团队有很多任务时,尝试获取任务而不是分析为什么会这样。
  • 做出很多决定,避免人们成长。
  • 希望团队按照我们希望的方式工作,而不是支持他们改进薄弱环节。
  • 当我们变得与团队和人员实现目标无关时,不了解我们实现了目标。

就我而言,由于我的技术背景,最困难的是以下几点:
  • 避免做出技术决定或过多地参与这些决定。
  • 弄清楚如何在不对团队产生负面影响的情况下参与团队的日常工作。一个常见的场景是工程经理在遵循 Scrum 方法的团队中的角色。

 
作为一名技术专家,我很幸运,因为我热爱自己的职业生涯,而我的职业生涯与角色无关,而且我生活在技术领域的特殊时刻。有这么多的机会和挑战,所以我可以选择未来几年想要做什么。
我总是喜欢帮助别人,继续学习和新的挑战。 我希望有足够的时间来支持团队和人员,帮助他们成长,以及一家重视这一点的公司。