作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
卡尔·休斯的头像

卡尔•休斯

卡尔曾是一名软件工程经理和CTO,后来成为作家. 他目前是Draft的创始人.dev.

分享

在我担任工程经理的八年时间里,我定期记录自己的时间是如何使用的. 作为一个创业公司的工程经理, 我负责的职责范围很广, 所以记录我在哪些方面花了最多的时间有助于我适当地计划和安排时间.

例如, 我知道我通常花三分之一的时间帮助我的团队解决技术问题或与队友结对. 知道这一点后,我为他们预留了一些空闲时间. 如果我的整个星期都是会议和大局观规划, 我成了团队的阻碍,他们需要我在具体问题上提供意见.

因为许多未来的软件工程经理问我关于我的工作和它的要求, 我决定详细描述我是如何度过我的时间的. 虽然每个公司和角色都是不同的, 我希望这篇文章能让你对工程经理的日常生活有一些第一手的了解.

工程经理是做什么的?

第一个, 关于我作为工程经理的角色:我的第一个管理角色是在Packback, 大学教授的问答平台.

I joined the team when there were just four people in the company; it was essentially myself and the founders. 在这中间的三年里, 我看到这家公司筹集了近500万美元,员工人数增长到近30人. 我的工程团队相当精简——2016年我离开时只有5人——但在公司的这些年里,我的角色发生了很大变化.

在我离开Packback加入The Graide Network之后,我以工程经理的身份重新开始. 最初, 我的团队只有一个承包商和我, 但在格雷德的四年里, 我雇了另外三名工程师,承担了更多的产品管理职责.

这些年来,我的日常工作发生了很大的变化, 作为软件工程经理, 我最终负责帮助我的团队交付按预期工作的软件, 在计划和预算范围内.

这里比较棘手的词是“帮助”.这到底是什么意思? 这是否意味着工程经理编写代码? 或者他们只是确保团队中的每个人都在编写代码?

简短的回答是:视情况而定.

工程经理必须精通技术

一般来说,工程经理编写的代码比团队中的高级开发人员少,但是 他们应该写一些代码来保持他们的技能. 他们还需要善于帮助团队成员“摆脱困境”.有时这意味着回答技术问题, 有时还意味着解决团队成员之间的纠纷.

工程经理可能在培训新工程师方面发挥作用, 以及在技术和人际关系方面对候选人进行评估.

工程经理必须善于与人相处

“善于与人相处”是一个很难确定的标签.

许多人认为你必须是一个外向的人才能成为一个有效的管理者, 但这并不一定正确. 对你的团队感同身受,帮助他们克服挑战——无论是技术上的还是个人的——是工程经理的主要职责之一.

但工程经理也必须“向上管理”. 这意味着当老板要求他们提供反馈时,他们需要考虑团队的最大利益, 这意味着如果团队成员没有完成工作,他们可能不得不解雇他们.

工程管理最难的部分

当我第一次担任管理职务时, 最具挑战性的部分是调整自我评价的方法. 尼古拉斯·米恩斯在他的书里说得很好 关于管理者的元生产力的精彩文章:

时不时地, 有一天,在最后一次会议结束后,我抬头一看,感觉自己什么都没做. 我一整天都在忙着聊天, 阅读文档, 与同事和团队成员交流. 我累坏了,但却一事无成.Nickolas意味着

这是 相对 作为一名软件工程师,我很容易就能说出我的工作效率有多高. 我通常会在发布功能或打开拉取请求方面取得进展, 但作为管理者, 我真的很难判断我的一天是否高效.

这就是我开始记录时间的原因. 然而,花在一项任务上的时间并不是衡量效率的完美标准, 它帮助我确保我在工作的每个方面投入了足够的时间.

工程经理是如何打发时间的?

工程经理往往有广泛的责任范围, 这些责任根据雇主的规模和组织结构而有所不同. 来帮助你了解一个工程经理是如何打发时间的, 我把我的时间分成四类:

  • 技术(35%)
  • 管理(35%)
  • 招聘(15%)
  • 行政管理(15%)

在本节中,您将看到我是如何度过作为工程经理的时光的. 我将提供一些关于每个领域所包含的具体任务以及为什么它是我日常工作的重要组成部分.

在我8年的管理生涯中,我严格地记录了自己的时间, 为了简单起见,我决定将每个类别四舍五入到一个漂亮的整数. 在每项任务上花费确切的时间并不是这里的重点, 但我发现,了解某一领域在一周内是否飙升,或在另一周内是否急剧下跌,是很有帮助的.

技术

35%的时间

技术工作包括编写代码, 代码评审, 寻找虫子, 与队友结对, 阅读软件更新和最佳实践. 随着我的团队不断壮大, 我花在编写和审查代码上的时间减少了, 但我确实认为,对于工程经理来说,至少花费 他们的一些时间都花在代码上了.

管理

35%的时间

这包括直接的人员管理, 创建时间, 战略规划, 以及与技术和非技术团队成员的会议. 确保我的团队开心, 在商务会议上倡导他们, 帮助我们的产品团队制定技术规范是我在Packback担任工程经理的职责的一部分.

在Graide网络, 我扮演了一个更具战略性的角色,为创始人提供软件选择方面的咨询,并接听重要的销售电话. 有趣的是,虽然我承担的任务不同,但时间分配却非常相似.

招聘

15%的时间

招聘时间包括参加会议, 聚会, and coding bootcamps; writing blog posts; meeting with job candidates; and evaluating technical screenings.

而当我有一个工程职位空缺时,我把更多的时间花在招聘上, 聪明的工程经理是 总是 招聘. 最好的候选人通常是那些很少找工作的被动的人, 所以我每周都会花一部分时间在他们面前.

行政

15%的时间

最后, 我每周花几个小时阅读和写电子邮件, 在Slack上回答问题, 随意交谈, 做“其他”日常工作来支持我的团队. 作为经理, 我试图让我的工程团队远离这些干扰, 但我会在必要时安排时间与团队成员会面.

如果工程经理的工作是让他们的团队尽可能高效, 按理说,大部分行政工作将落在他们身上.

如何成为一名优秀的工程经理?

我觉得我不能给你 一切 你只需要在一篇博客文章中了解如何成为一名优秀的工程经理, 所以我将选择我首先关注的三个方面.

1. 授权你的团队

做一个好的管理者就是 帮助他人成就大事.

这意味着作为一个管理者,你的 影响远没有那么直接因此,您不能把所有的时间都花在埋头编写代码上. 看到我每周的成就清单越来越少,我感到很沮丧, 但一旦我学会接受我的团队在没有我个人贡献的情况下完成了更多的工作, 我开始真正享受这个角色.

2. Overcommunicate

无论你的团队是在一个房间里工作还是在世界各地远程工作, 作为管理者,沟通者是你最重要的角色之一. 在市场营销中,有一种观点是 人们必须把你的信息听七遍才会内化我认为这也适用于团队沟通.

我并不是说你应该在同一次会议上重复七次所有的事情,而是考虑一对一地重复重要的变化, 组设置, 通过电子邮件, 顺便说一下. 变化是可怕的,但人们听到的越多,它就越不可怕.

3. 成为平静的源泉

最后,作为工程经理,你的角色是“清除混乱”:

“你进入的任何一个房间,在你离开的时候,都应该有一个更确定、更坚定的计划. 优秀的领导者能够在人们迷失目标的情况下,让每个人都朝着明确的方向前进.”

不要制造或延续戏剧, 把你的团队和公司的其他人分开, 或者让团队成员相互对抗. 相反,你应该做一个承受不确定性和压力的人,这样你的团队才能完成任务.

就这一主题咨询作者或专家.
预约电话

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® 社区.