The title says it all. Programming is a team effort. There is no winning, no hierarchy of performance, no #1 programmer: in the end you all commit to the same codebase, you build the same product.

Use terms and language everyone on your team understands. Be mindful about the attitude your language transports, and make it a positive one. Accept the fact that different people will do things differently, recognize different kinds of contributions and value the entire spectrum of possibilities. Unassume knowledge about things you already know and that are important to you. Educate others instead of judging them. Let others educate yourself. Ask, don’t tell.

Assume that every line of code you read, no matter how old or imperfect, has been written with good intentions. There have been constraints and circumstances you don’t know about. Improve upon what’s there and see the opportunity rather than the inadequacy. Make the product better and also make your team a better one. Make doing so and enjoyable ride for yourself and others.

Thank you for this.