explaingit

braydie/howtobeaprogrammer

16,217

TLDR

This is a free, community-maintained guide to the craft of professional programming, originally written by Robert L.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

In plain English

This is a free, community-maintained guide to the craft of professional programming, originally written by Robert L. Read in 2002 and updated with community contributions. It is not a coding tutorial, it does not teach you how to write programs. Instead, it covers the harder, less-talked-about side of working as a programmer: how to deal with other people, manage your time, earn trust, and make good technical decisions. The guide is organized into three skill levels: Beginner, Intermediate, and Advanced. Each level covers two areas, personal skills and team skills. Personal skills include practical topics like how to debug problems, understand performance issues, manage memory, and learn new skills. Team skills cover things like estimating how long work will take, communicating the right amount, working with difficult people, and handling consultants or outside vendors. At the advanced level, it goes into judgment calls, like when to apply complex solutions, how to build a culture on a team, and how to manage your own career growth. The guide reads like a long essay, written from lived experience rather than academic theory. It is available to read online for free, and also exists as a printed book. Translations are available in Chinese, Japanese, Spanish, and Russian. This is for anyone who has learned to write code but is struggling with the professional realities, the meetings, the miscommunications, the deadlines, and the expectations that come with working on software in the real world. It is especially useful for beginners who want a map of what the job actually looks like beyond the code itself.

Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.