Blog‎ > ‎

Summary from “How to lose friends and alienate people: The joys of engineering leadership” by Brian W. Fitzpatrick, Ben Collins-Sussman

posted Sep 26, 2011, 3:42 PM by Unknown user   [ updated Dec 15, 2011, 12:56 PM by Victor Reina ]

YouTube Video

Indirect sudden leader

Usually, when a team is working together without a leader or manager, there’s a little mess. Even if no one was assigned to be the leader, we will find is, after a while, someone starts becoming the person with the big picture. This person starts organizing people, dividing up tasks, even if he doesn’t have official authority. They sort of fill that role and people give them that authority. It has to be done. This could result in conflicts, but usually nothing bad happens.

The difference between a manager and a leader.

Nowadays, an example of manager is like an old and busted van and a leader is the new hotness. In a manufacturer way or assembly line, a manager is necessary to keep people calmed down and to tell them what to do and how to do it right. You can be a manager if you are managing normal people requiring any sort of thought (like in an assembly line), but with software engineering, that requires creativity and knowledge, you need to have a leadership attitude.

Characteristics of a manager stereotype:

  • They have no technical ability.

  • Insecure.

  • They got no respect.

  • They ignore any past accomplishments from the employees.

  • They hire like zoo keepers.

People often get scared by the idea of being a manager. They think they will be promoted to a position beyond of their capabilities. A classic example is a software engineer who is an amazing programmer and he keeps getting promoted because of that. And at some point, he stop being the world’s best programmer and becomes the world’s worst manager. He feel less productive being a manager than being a programmer.

What is an engineering “leader”?

A leader is not a general or someone who barks orders to people. A real leader is someone who servers the team. He have to remove obstacles for his team, he give advice and guideness when needed. He have to be an element of trust there. He is a technical and social part of the team. Leadership is not a waste of time. It’s a very important role.


  • Be everybody’s friend. You can lunch with them to keep in touch, but you can’t give them full trust. You have to be in a position to give orders when needed or even bad news.

  • Treat employees as children. If you put bars on the windows and metal doors, the will file like animals in a zoo, but if you treat them like children then they will act like children.

  • Micromanage. Observing closely and try to control the work of his/her subordinates is a negative pattern.

  • Hire pushovers. They do everything you want but it makes you work harder and harder.

  • Compromise when hiring. Hire intelligently and aim directly to the people you want to hire.

  • Ignore low performers. If you take an attitude like “Okay, he’ll get better. I’ll ignore him for a while”, he won’t. You will finish thinking how to get rid of this person.

  • Ignore human problems. You need some empathy to keep the social wheels greased.


  • Be honest. If you don’t know how to do something, go ahead and ask for some help.

  • Constructive. People prefer a constructive, pacific feedback more than a hurting, destructive one.

  • Be a wise Zen master. If you have an opinion, just say it. If you can calm them down and emotionally get focused to them, it’s a huge value.

  • Lose the ego. Don’t be egotistical.

    • Trust your team. They should know more than you. If they tell you that something is impossible, listen, because they know more than you.

    • Appreciate inquiry. Accept feedback from your team.

    • Apologize. If you know that you messed it up, don’t be the last people who apologizes. It’s part of being human.

    • Humility is not the same as doormat. You can still have self-confidence and good opinions.

  • Get your hands dirty. Occasionally help your team the most you can.

  • Making waves. If your team is having a big trouble, just “cannonball into the pool” and make some waves to give them encouragement.

  • Shield your team. Try to keep them off from the company troubles and politic discussions.

  • Succeed and fail as a team. When somebody messes up, they know. The team knows, you know and the person knows. You don’t need to publically humiliate or shame somebody. You talk about it and criticize in private.

  • Be a teacher or mentor. Try to help your people do the things right, but don’t do all of it directly by yourself.

  • Track happiness and careers.  Make some good jokes, ask them if they’re happy. Ask them what do they need from you, what do they want you to do. You will keep the nice environment.

Intrinsic and extrinsic motivations.

Extrinsic motivations are money and, for example, employee of the month. But the useful one is the intrinsic motivation. It means that you have to motivate people from inside, it’s making them to actually care about what they do and making them feel part of the team.

There are three main intrinsic motivations:

  • Autonomy. Trust people to work the way that they work faster. This means to sometimes letting people work from home or work with the people they like.

  • Mastery. Giving people the opportunity to learn and grow.

  • Purpose. Let them work on something they care about. Let them have an opinion.