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

卡尔•休斯

创始者.dev

Karl is a former software engineering manager and CTO turned writer. He’s currently the founder of Draft.dev.

专业知识

分享

在我担任工程经理的八年时间里,我定期记录自己的时间是如何使用的. 作为一个创业公司的工程经理, I was responsible for a wide range of duties, 所以记录我在哪些方面花了最多的时间有助于我适当地计划和安排时间.

例如, 我知道我通常花三分之一的时间帮助我的团队解决技术问题或与队友结对. Knowing this, I reserved some free blocks of time for them. If my whole week were full of meetings and big-picture planning, I’d become a blocker for my team who needed my input on specific issues.

因为许多未来的软件工程经理问我关于我的工作和它的要求, I decided to create this detailed look at how I spent my time. While every company and role is different, 我希望这篇文章能让你对工程经理的日常生活有一些第一手的了解.

What Does an 工程 Manager Do?

第一个, 关于我作为工程经理的角色:我的第一个管理角色是在Packback, a question-and-answer platform for college professors.

I joined the team when there were just four people in the company; it was essentially myself and the founders. 在这中间的三年里, I saw the company raise close to $5 million and grow to almost 30 people. 我的工程团队相当精简——2016年我离开时只有5人——但在公司的这些年里,我的角色发生了很大变化.

在我离开Packback加入The Graide Network之后,我以工程经理的身份重新开始. 最初, my team was just a contractor and me, 但在格雷德的四年里, 我雇了另外三名工程师,承担了更多的产品管理职责.

While my day-to-day work changed a lot over the years, as a software engineering manager, 我最终负责帮助我的团队交付按预期工作的软件, 在计划和预算范围内.

The tricky word there is “helping.这到底是什么意思? Does it mean that an engineering manager writes code? Or do they just make sure everyone on their team is writing code?

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

工程管理人员 Must Be 技术

一般来说,工程经理编写的代码比团队中的高级开发人员少,但是 they should write some code to keep their skills sharp. They also need to be good at helping their team members get “unstuck.” Sometimes this means answering technical questions, and sometimes it means resolving disputes between team members.

工程 managers are likely to play a role in training new engineers, as well as evaluating candidates on technical and interpersonal bases.

工程管理人员 Have to Be Good With 人

Being “good with people” is a tough label to nail down.

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

But engineering managers have to “manage up” as well. 这意味着当老板要求他们提供反馈时,他们需要考虑团队的最大利益, 这意味着如果团队成员没有完成工作,他们可能不得不解雇他们.

The Hardest Part 关于 工程管理

As I moved into my first management role, the most challenging part was adjusting my method for self-evaluation. Nickolas意味着 said it well in his fantastic piece on meta productivity for managers:

时不时地, 有一天,在最后一次会议结束后,我抬头一看,感觉自己什么都没做. I’ve been busy all day long: having conversations, 阅读文档, and checking in with peers and team members. I’m exhausted, but I’ve accomplished nothing.Nickolas意味着

这是 相对 easy for me to tell how productive I had been as a software engineer. 我通常会在发布功能或打开拉取请求方面取得进展, 但作为管理者, I had a really hard time telling whether my day was productive or not.

That’s why I started tracking my time. While time spent on a task is not a perfect measurement of productivity, 它帮助我确保我在工作的每个方面投入了足够的时间.

How Does an 工程 Manager Spend Their Time?

工程 managers tend to have a wide range of responsibilities, 这些责任根据雇主的规模和组织结构而有所不同. To help you see how an engineering manager spends their time, I broke my time down into four categories:

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

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

在我8年的管理生涯中,我严格地记录了自己的时间, 为了简单起见,我决定将每个类别四舍五入到一个漂亮的整数. Exact hours spent on each task aren’t the point here, 但我发现,了解某一领域在一周内是否飙升,或在另一周内是否急剧下跌,是很有帮助的.

技术

35%的时间

技术 work includes writing code, 代码评审, 寻找虫子, 与队友结对, and reading software updates and best practices. 随着我的团队不断壮大, the amount of time I devoted to writing and reviewing code dwindled, but I do think it’s important for engineering managers to spend at least some of their time elbow-deep in the code.

管理

35%的时间

This includes direct people management, 创建时间, 战略规划, and meetings with technical and nontechnical team members. 确保我的团队开心, advocating for them in business meetings, 帮助我们的产品团队制定技术规范是我在Packback担任工程经理的职责的一部分.

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

招聘

15%的时间

招聘 time included going to conferences, 聚会, and coding bootcamps; writing blog posts; meeting with job candidates; and evaluating technical screenings.

而当我有一个工程职位空缺时,我把更多的时间花在招聘上, 聪明的工程经理是 总是 招聘. 最好的候选人通常是那些很少找工作的被动的人, so I spent a portion of my time getting in front of them each week.

行政

15%的时间

最后, I spent a few hours per week reading and writing emails, 在Slack上回答问题, 随意交谈, and doing “other” day-to-day things to support my team. 作为经理, 我试图让我的工程团队远离这些干扰, but I’d schedule time with team members when necessary.

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

What Makes a Good 工程 Manager?

我觉得我不能给你 一切 你只需要在一篇博客文章中了解如何成为一名优秀的工程经理, so I’ll just pick the three things that I focus on first.

1. 授权你的团队

做一个好的管理者就是 helping others achieve great things.

This means that as a manager, your 影响远没有那么直接, and therefore, you can’t spend all your time head down in the code. 这是 frustrating for me to see my weekly accomplishments list shrink, 但一旦我学会接受我的团队在没有我个人贡献的情况下完成了更多的工作, I started to really enjoy the role.

2. Overcommunicate

无论你的团队是在一个房间里工作还是在世界各地远程工作, communicator is one of your most crucial roles as a manager. In marketing, there’s an idea that people must hear your message seven times before they internalize it, and I think this applies to team communication as well.

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

3. 成为平静的源泉

最后, as the engineering manager, your role is to “清除混乱”:

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

不要制造或延续戏剧, divide your team from the rest of the company, or pit team members against each other. 相反,你应该做一个承受不确定性和压力的人,这样你的团队才能完成任务.

Hire a Toptal expert on this topic.
现在雇佣

World-class articles, delivered weekly.

Subscription implies consent to our 隐私政策

World-class articles, delivered weekly.

Subscription implies consent to our 隐私政策

Toptal开发者

加入总冠军® 社区.