Egoless Programming

1 min read

summary from

Understand and accept that you will make mistakes.

You are not your code.

Don’t rewrite code without consultation.

Treat people who know less than you with respect, deference, and patience.

Don’t reinforce stereotypes with anger and impatience.

The only constant in the world is change.

The only true authority stems from knowledge, not from position.

Fight for what you believe, but gracefully accept defeat.

Don’t be “the coder in the corner.”

Critique code instead of people – be kind to the coder, not to the code.

Praise & Credit

It is amazing what you can accomplish if you do not care who gets credit.

a mature engineer holds the success of the project much higher than the potential praise they may get personally for working on it.

The attribution of praise or credit can be the source of such dysfunction in an engineering-driven organization, and I believe it’s because it’s largely invisible.


You don’t need to be the best engineer in the world, just get good at advertising your people and their stories up the chain of command.

Improve their observability so that you can keep bureaucracy at bay and have a high level of trust.

January 8, 2020