Management 101
- Manager care for their people, help them to grow, enable them
- 1:1s are essential
- Two purposes of 1:1s:
- Create social connection
- Speak about whatever needs discussing
- 1:1s are NOT a status meeting => use email for that
- Give behavioral feedback asap in your 1:1s - Good AND bad
- Make the worker feel valued
Mentoring
- Tips für mentoring summer interns
- Hiring interns
Tech Lead
- Definition: Good coder, that also represents group to management vetting plans for feature delivery
- Tech lead is not a point on the ladder, but a set of responsibilities.
- Tech lead is not necessarily the most experiences dev in the team
- Sometimes you find process czar. These people are highly skilled.
Managing people
- Four areas to manage people:
- 1 on1 s
- Feedback on career growth
- Praise as warranted
- Helping reports to grow
- Onboarding: Have a 30 / 60 / 90 day plan
- 1 on 1s should be scheduled weekly
- Good description of 1 on 1 styles
- Goal setting is important. Do it frequently.
- Do 1 on 1 s more frequently when there are problems
- Mention good or bad things immediately
- Get to know the people.
- Set clear goals / also for the teams
- Establish standards for code and systems (See tech radar)
- Continuous feedback process is important, but does not replace 360 degree feedback
- Some really good examples for 360 degree feedback
- People that got potential show their potential. When people can't show potential they likely won't have it in your organization.
- Interesting: Many people fire employees that can't progress over their first two levels (Junior / Professional).
- Expect people to act on the next level before promoting them (avoid peter pricinple)
Managing a team (engineering manager)
- Engineering leads to manage teams
- Guidance of people is important (more important than tech likely)
- Technical knowledge is important and will give you credibility - don't go into management too early in your career
- Good advice to debug problems in teams
- Brilliant jerk vs negative jerk. Get rid of the negative jerk.
- Don't let your people do overwork
- Shield team from distraction but don't keep everything from them
- Create data driven team culture
- Psychological safety is important
- Teams that are friendly are happier, gel faster and tend to produce better results!
- Some simple rules for project management
- Plan in an agile way.
- Say no
Managing multiple teams
- Director of engineering manages multuple engineering teams
- Reaching that role takes 10 years (including university education)
- Not much coding - but important being able to debug teams
- Prior coding experience is important
- Know the difference between important and urgent
- Delegate simple and frequent tasks
- You must be able to see when people want to quit
- Say no in a nice way - "Yes - but we have to delay another project"
- You need to know how to see if a team ships code and if it is healthy
- You are responsible for keeping your team health and productive
- Help team to break things down into small chancs
- Track the frequency of incidents
- Find a good balance between fast releases and stability
- Work in a clever way - but make sure to not burn out
Managing managers
- Managing managers is hard
- You have to go out and find the information. Open door policies do not work
- Have 1 on 1 s - but also skip-level meetings
- Make meetings with every member of the organization (as long as you can do it)
- Many good questions for driving your 1 on 1
- If skip level meetings don't work any more do lunches with your teams!
- Hold managers accountable!
- Don't hire people pleasers
- Coach your managers!
- Busywork is a sign of a failing manager
- Fire managers on power trips
- Managers are in charge to fix things - and make the team focus on goals
- Remove failing managers asap
- Hire managers for cultural fit!
- Try to hire internally for cultural fit!
- Interviewing managers is hard - they can bullshit you easily
- Role play a difficult 1:1 with a management hire
- Role play eg a team member that wants to quit the company
- Culture allows you to make decisions in uncertain environments
- Do reference checks for managers (even if they give you the names
- Watch our for boring meetings - that should not be the case
- Estimation of large projects is a very valuable skill
- Spend 20% of your time for sustaining engineering (removing tech debt)
- Attend post-mortems!
The big leagues
- A manager has to do four things (High output management, Andy Grove)
- Information gather and information sharing
- Nudging (remind people of their committments)
- Decision making
- Role modeling
- Multiple VP Engineering that own different parts of engineering is possible
- VP Engineering focuses on execution - CTO on business strategy
- VP Engineering does:
- Roadmap and hiring plan alignment
- Plan how teams need to evolve
- Work closely with recruiting and hiring
- Coach to engineering management team
- Work with HR to provide training
- CTO: The CTO should be the strategic technical executive the company needs in its current state of evolution
- CTO focuses on recruiting, retention, process and people management!!!
- CTO should have reports - otherwise it is hard to be effective
- As CTO / VP Engineering make sure that top down changes can be done by your teams - or argue otherwise
- Change direction when stuff goes wrong
- Some good advice how to deliver bad news
- Communicate in simple terms
- Your presence will distort discussions - it is likley not a good idea to mingle with your team
- Keep cool when things go wrong. Don't get angry. Don't blame people.
- Set the true north. Clear expectations for quality and results.
Bootstrapping culture
- Lack of structure creates hidden power structures
- From race cat to commercial flight to a starship - evolution of a company
- Start with a simple system
- Culture are the generally unspoken shared rules of a community
- Desiging career ladders is hard! (and good advice how to write them)
- Do post-mortems
- Do code reviews
- Do architecture reviews if things change
Verdict
Excellent book. Must-read for anyone that wants to move into management of a tech company!