Engineering Management Fundamentals 101

Engineering Management Fundamentals 101

Introduction

  • The path to leadership > 领导之路
  • Understanding the role > 理解角色
  • Surviving the first 30 days > 度过前 30 天

Goals

  • Build skills and knowledge to better understand engineering management > 建立技能和知识,更好地理解工程管理

  • Shine a light on the true on the “hidden work” of management > 为管理的“隐藏工作”照亮一盏灯

  • Provide tools to help navigate the transition and early days > 提供工具,帮助应对过渡和早期

  • Provide insights into common situations > 提供对常见情况的见解

  • Origin story > 起源故事

    • What does “practical” mean? > “实际”是什么意思?
  • Prerequisites > 先决条件

    • > 3 years of experience > 3 年以上经验
    • willingness to learn new things > 愿意学习新事物
  • Who is this course for?

    • software engineers > 软件工程师
    • engineers managers > 研发主管
  • Definitions > 定义

    • to succeed in doing something, especially something difficult > 成功做某事,尤其是一些困难的事情

What is Engineering Management

Business of Technology

  • What does it take to deliver a product? > 交付产品需要什么?

    • Business development > 商业开发
    • Finance > 财务
    • Customer support > 客户支持
    • Marketing > 市场营销
    • Human resources > 人力资源
    • IT > 信息技术
    • Technical writers > 技术作家
    • Internationalization > 国际化
    • Legal > 法务
  • Code > 代码相关

    • UI engineer > UI 工程师
    • Designers > 设计师
    • Backend engineers > 后端工程师
    • QA engineers > 测试工程师
    • Infrastructure engineers > 基础设施工程师
    • Database engineers > 数据库工程师
    • Technical program managers > 技术项目经理
    • Site reliability engineers > 网站可靠性工程师
    • Security engineers > 安全工程师
    • Product managers > 产品经理
    • Prototypers > 原型设计师
    • Engineers leaders > 工程师领导

Management is a Role Change

  • Thinking like a manager
People Business
Compensation > 薪酬
Hiring > 招聘
Expenses > 费用
Project prioritization > 项目优先级
  • Software engineering is more than code

Transitioning to Management

  • Careers

  • Motivations

  • Making the move

  • Interviewing

  • Career path

    • ~27 million software developers in the world > 全球约 2700 万软件开发人员
    • ~4.4 million software engineers in the US > 美国约 440 万软件工程师
    • ~500,000 software engineering managers > 约 50 万软件工程管理人员
  • As long as you stay in the industry

    • Individual becomes code less important > 代码不在那么重要
    • Business more important > 商业更重要
    • Impact becomes broader > 影响变得更广泛
    • “Big picture” technical understanding > “大局”技术理解
    • fewer roles > 更少的角色
  • Being a soft manager is not a promotion, it’s just a role change > 成为软件管理人员不是晋升,而是角色转变

    • It’s not a necessary career path > 这不是必要的职业道路
    • It’s totally fine to stay as a software engineer > 作为软件工程师完全没问题

Roles Engineering Managers Play

  • Coach > 教练
  • Cheerleader > 啦啦队长
  • Therapist > 治疗师
  • Mentor > 导师
  • Party planner > 派对策划者
  • Social butterfly > 社交蝴蝶
  • Rubber duck > 橡皮鸭
  • Peacemaker > 和事佬
  • Shot caller > 决策者
  • Speaker of the house > 讲话者
  • Notetaker > 记录员
  • Project manager > 项目经理
  • Salesperson > 推销员

You will not be good at every role.

Motivations to Become an Engineering Manager

  • Common motivations
    • Control > 控制
      • Less control than before > 比以前控制力更小
      • Software engineers have more fine-grained control > 软件工程师有更精细的控制
      • You can’t “make” anyone do anything > 你不能“让”任何人做任何事
    • Money > 钱
      • Managers don’t always get paid more > 经理并不总是拿到更多的钱
      • Fewer roles available > 更少的角色可用
      • Less job security > 更少的工作安全
    • Prestige > 声望
      • Respect is earned > 尊重是赚来的
      • You’ll start at zero > 你将从零开始
      • Management is role change > 管理是角色转变
    • Impact > 影响
      • Less tangible > 更不可触摸
      • Takes a long time to see > 需要很长时间才能看到
      • More scrutiny > 更多的审查
    • Growth > 成长
      • Takes time > 需要时间
      • Outside of your control > 在你的控制之外
      • One of the most satisfying aspects > 最令人满意的方面之一
    • Challenge > 挑战
      • Always learning something new > 总是学到新东西

Ask an Engineer Manager

  • 最初也是由于意外(有人离职)才成为管理者
  • 现在是因为喜欢跟人打交道
  • 成为管理者之后,比起代码缩进、使用什么框架,更关注的是这些新框架是否能带来更多的价值,集成新框架的成本是多少,我们当前的痛点是什么,新框架能否解决这些痛点

Truths about Engineering Management

  • You will be less technical > 你会变得不那么技术
  • Micromanaging is easy, trust is hard > 微观管理很容易,信任很难
  • No one will tell you how to spend your time > 没有人会告诉你如何花时间
  • No one will tell you what to do > 没有人会告诉你该做什么
  • Leadership is lonely > 领导是孤独的

People Leadership

  • People are squishy > 人是变化无常的

  • Being an engineering manager: Are you sure? > 成为工程管理人员:你确定吗?

  • You have to be better > 你必须更好

“You manage things; you lead people.” - Grace Hopper

  • There are many paths to management > 有许多通往管理的道路
  • Engineering management is difficult > 工程管理是困难的

Exercise: Self Reflection and the Path to Leadership

Becoming an Engineering Manager

Paths to Management

  • Accidental > 意外
    • Rapidly growing company > 快速增长的公司
    • EM leaves > 工程管理人员离职
    • Team lead -> EM > 团队领导 -> 工程管理人员
  • Deliberate
    • Apply directly for roles > 直接申请角色
    • Company growth plans > 公司发展计划
    • Role transition over time > 随着时间的推移角色转变

Management as a Skill

  • You will have to learn new skills

unconsciously incompetent > 无意识的不称职 -> consciously incompetent > 有意识的不称职 -> consciously competent > 有意识的能干 -> unconsciously competent > 无意识的能干

Critical Skills for Management

  • Communication > 沟通

    • Almost everything distills down to communication > 几乎所有事情都归结为沟通
    • Written > 书面
      • email, memo, project docs, Slack/Teams > 电子邮件,备忘录,项目文档,Slack/Teams
      • Verbal > 口头
        • 1:1’s, meetings, video calls > 1:1,会议,视频通话
  • People > 人

    • Conflict resolution > 冲突解决
    • Growth > 成长
    • Mentoring > 指导
    • Coach > 教练
    • Team cohesion > 团队凝聚力
    • Hiring > 招聘
    • Recruiting > 招聘
  • Business > 商业

    • Budgeting > 预算
    • Project management > 项目管理
    • Long-term strategy > 长期战略
  • Technical > 技术

    • Understanding code without writing it > 不写代码也能理解代码
    • Necessary to understand team challenges and make informed decisions > 必须了解团队的挑战,并做出明智的决策
    • Articulate strategy and tradeoffs to partners > 向合作伙伴阐明战略和权衡
  • Building up your skills > 建立你的技能

    • Talk with your manager about your goals > 与你的经理讨论你的目标
    • Talk with other managers internal/external > 与其他经理内部/外部交谈
    • Ask your manager and managers for tips for how to move into management > 询问你的经理和经理如何进入管理的技巧
    • Books > 书籍
    • Conferences > 会议
    • Observation > 观察
    • Mentor > 导师
    • Take on proximate roles > 承担近距离角色
  • Lead Dev

Exercise: Self Skill Assessment

Finding a Role & Interviewing

Interviewing for a Manager Role

  • Finding a role > 找到一个职位
    • Internal roles > 内部职位
      • familiar culture > 熟悉的文化
      • familiar domain > 熟悉的领域
      • work towards over time > 随着时间的推移工作
      • low availability > 低可用性
    • External roles > 外部职位
      • have to sell yourself > 必须推销自己
      • tailor your resume for the role > 为职位量身定制你的简历
      • may have to move to smaller companies > 可能要搬到较小的公司

Looking for your First Role

  • What to look for in a first role > 在第一个角色中要寻找什么
    • Similar domain/language/technology > 相似的领域/语言/技术
    • Healthy team size(6-10) > 健康的团队规模(6-10)
    • Healthy org/company culture > 健康的组织/公司文化
    • Manager willing to invest in you > 经理愿意投资于你
    • Keywords to avoid > 避免的关键字
      • seasoned > 经验丰富
      • experienced > 有经验
      • senior > 高级

The Manager Interview

  • Leadership > 领导力 j
    • Describe your management philosophy > 描述你的管理哲学
    • What does “influence without authority” mean? > “无权影响”是什么意思?
  • Partnership > 合作
    • How do hold your partners accountable? > 你如何让你的合作伙伴负责?
    • How do deliver results for your partners? > 你如何为你的合作伙伴提供结果?
  • Technical > 技术
    • What is your strategy for project estimations? > 你的项目估算策略是什么?
    • How do you think about prioritization? > 你如何看待优先级?

Interviewing Takeaways

  • Many skills are required to be a good leader > 要成为一名优秀的领导者需要许多技能
  • You should build up stills in advance > 你应该提前建立技能
  • Take advantage of opportunities > 利用机会
  • The interview is a measure of your potential > 面试是你潜力的衡量标准

The Role of a Manager

What Do Manager Do

  • As an engineering manager at a fast-growing startup, I spend most of my time coding and hiring. > 作为一家快速增长初创公司的工程管理人员,我大部分时间都在编码和招聘。

  • As an engineering manager at a mid-sized company, I spend most of my time mentoring and doing project management. > 作为一家中型公司的工程管理人员,我大部分时间都在指导和进行项目管理。

  • As an engineering manager at a FAANG company, I spend most of my time chilling and eating free food. > 作为一家 FAANG 公司的工程管理人员,我大部分时间都在放松和吃免费食物。

  • Size of team > 团队规模

  • experience > 经验

  • scope > 范围

  • relation to the business > 与业务的关系

  • size of the company > 公司规模

  • role of the team > 团队角色

  • What are EM’s responsible for? > 工程管理人员负责什么?

    • Business
    • People

Engineering Manager Responsibilities

  • Management
    • Hiring > 招聘
    • Terminations > 终止
    • Compensation > 薪酬
    • Leave of absences > 请假
    • Vendor management > 供应商管理
    • Purchasing > 采购
    • Expenses > 费用
    • Filing tickets > 提交工单
  • Engineering
    • Charter > 宪章
    • Communication > 沟通
    • Long-term strategy > 长期战略
    • Work prioritization > 工作优先级
    • Context setting > 上下文设置
    • Partner and stakeholder management > 合作伙伴和利益相关者管理
    • Project management > 项目管理
  • People
    • Recruiting > 招聘
    • Team development > 团队发展
    • Performance coaching > 绩效辅导
    • Team health > 团队健康
    • Conflict management > 冲突管理
    • Onboarding > 入职

Daily, Weekly & Yearly Tasks

Business People
Day to day Talk to people talk to people
Week to week email/slack/docs/admin tasks ensure team is unblocked
Quarter to quarter OKR’s and others objectives exam team processes/growth
Year to year Long-term strategy and vision hiring
  • Your role is to manage the team in the context of the business

Meetings

  • How do EM’s spend their time > 工程管理人员如何花费他们的时间

    • Meetings > 会议
  • Meeting types > 会议类型

    • 1:1’s > 1:1
    • Project meetings > 项目会议
    • Planing/strategy > 计划/战略
    • All hands > 全员会议
    • Team meetings > 团队会议
    • Social events > 社交活动
    • Retrospectives > 回顾
    • Staff meetings > 员工会议
    • Stand ups > 站立会议
  • Purpose of meetings > 会议目的

    • Planning > 计划
    • Brainstorming > 头脑风暴
    • Alignment / making a decision > 对齐/做决定
    • Morale / culture > 士气/文化
    • Sharing information > 分享信息
    • Receiving information > 接收信息

Exercise: Meeting

Purpose of a Meeting

Section Recap

  • What do EM’s do: it depends but people are at the center > 工程管理人员做什么:这取决于人们是中心
  • Take advantage of every meeting > 利用每次会议
  • Managing your time is a critical > 管理你的时间是至关重要的

Your First 30 Days

What is the Different

  • Surviving engineering management

    • Your first 30 days
    • Mistakes to avoid
    • Managing up
  • Perspective > 观点

    • Staff meetings aren’t as full of secrets as you thought they’d be > 员工会议并不像你想象的那样充满了秘密
    • You know how much everyone on your team makes > 你知道你团队中每个人赚多少钱
    • Your calendar is all meetings > 你的日历都是会议
  • Team > 团队

    • Your manager is higher up > 你的经理更高
    • You’re responsible for running a lot of meeting now > 你现在负责运行很多会议
    • Your “first team” are other managers > 你的“第一个团队”是其他经理

What Should You Be Doing

  • Listen

  • be curious

  • running meetings

    • 1:1’s
    • team meeting
    • team standup
  • meeting partners

  • examining processes

  • might have to hire

  • Exercise

Mistakes to Avoid

  • Micromanaging
  • Over-promising
  • Trying to stay too close to the code
  • Over thinking decisions and second guessing
  • Not letting go
  • Putting too much pressure on yourself

Managing Up

  • What are their expectations? > 他们的期望是什么?

  • What is the important to them right now? > 他们现在最重要的是什么?

  • What information do they care about? > 他们关心什么信息?

  • What can they help with? > 他们能帮忙什么?

  • All can be answered on 1:1’s / staff meetings > 所有问题都可以在 1:1/员工会议上回答

  • Don’t try to do too much in the beginning > 不要在开始时做太多事情

Course Takeaways

  • Software engineering is more than code

  • Engineering management is a role change

  • There are many paths to management

  • It’s important to have the right motivations

  • Engineering management is difficult

  • Many skills are required to ba a good leader

  • You can should build up skills in advance

  • Take advantage of opportunities

  • The interview is a measure of your potential

  • To succeed in doing something, especially something difficult > 成功做某事,尤其是一些困难的事情