RSS Feed Subscribe to RSS Feed


OSCON Day3 – The Joys of Engineering Leadership

The first talk of Day 3 at OSCON was “How to Lose Friends and Alienate People: The Joys of Engineering Leadership” by Brian ‘Fitz’ Fitzpatrick and Ben Collins-Sussman, both from Google.

What is an engineering leader?

  • Serves the team
  • Eliminates roadblocks
  • Provides advice, guidance and helps get job done
  • Mutual respect/Mutual trust
  • Promotes technical and social health
  • Leadership is not a waste of time…
  • Being a team leader is a way of scaling yourself

The speakers broke their talk on how to be a good leader down in to two sections, which were (in good coding tradition) patterns and anti-patterns…

Anti patterns for leadership

1. Be everyone’s friend
Don’t try to be everyone’s friend because you still need to be a hard-ass sometimes. Instead, just try to maintain a healthy, working relationships. For example, try having lunch with your team regularly.

2. Treat reports as children
Give responsibility and trust.

3. Micromanage
Micromanagement breeds co-dependency. If you are off for a day, the team can’t work. They should work on their own initiative, without your commands.

4. Hire pushovers
Don’t hire people that are dumber than you! If they are smarter, you will build and better team and learn more from them.

5. Compromise when hiring
Don’t just just hire the top 10% of candidates you interview – they might not be good enough.

6. Ignore low performers
Do not ignore them! Low performers are the obstacle in the road. They will not go away. Try to motivate them. Maybe need to more-micro-manage. Have an ‘acceptable’ level bar.

7. Ignore human problems
Don’t assume the team has no life outside of work. Keep morale up.


1. Be honest
There is no such thing as a temporary lapse of integrity!
Deliver criticism directly, constructively and with empathy.
Be honest about your motivation for making decisions.

2. Be a wise zen master
If someone asks hard questions, you can respond with questions.
Don’t try to manage people!

3. Lose the ego
You don’t need to be the smartest person in the room. Trust others and respect their abilities.

Appreciate any inquiries the team has; Accept feedback and don’t be scared to apologize. Humility != Doormat

To influence, be influenceable.

4. Get your hands dirty
Lead by example and understand the problems the team is going through.

5. Delegate
Delegate even if another team member can’t do a job as well (or as quickly) as you think you can.

6. Seek to replace yourself

7. Make waves
When you lease want to make waves, this is probably the time you should be making most waves.

8. Shield your teams from bureaucracy

9. Succeed and fail as a team
Public praise, private criticism as everyone already knows when someone messed up.

10. Be a catalyst, a teacher and a mentor

12. Set clear goals
Make sure everyone agrees on the milestones and the plan for a projects.
Otherwise you get feature creep and get side tracked.

13. Track happiness & careers
If someone is not happy,find out why.
What do team members want to be doing?
Ask them what they need?
Get everyone to work on fun stuff & dull stuff. Change it up.

Give Autonomy & Trust
e.g. the 20% time @ Google

People want to grow; Always want to master new things; Give people a sense of purpose

Managing your manager
Act like a grown up. Encourage people to take responsibility

Pursue responsibility
Do more than is required. Deliver 110%
Take calculate risks

If you fail – learn. And document the process and what was learned.


Point out obstacles

Good leaders don’t want yes men
Give back structured criticism


3 words:

  • Serve
  • Respect (give more, get more)
  • Motivate

Stop being a manager, be a leader!

Finally, the speaker recommended checking out a talk by Dan Pink on Intrinsic vs Extrinsic Motivations. I think this is it.

Tags: , ,

Leave a Reply