How to be a Programmer is a community-maintained guide that addresses the professional and interpersonal skills required to succeed as a software developer.
The guide tackles the gap between technical competence and workplace effectiveness. It recognizes that while writing code requires intelligence and skill, the harder challenge lies in collaborating with coworkers and customers to deliver systems that truly succeed. The approach is to distill practical wisdom about problems a programmer is likely to face, covering both technical and social dimensions of the work. The material emphasizes that many of these challenges transcend programming itself and touch on broader human dynamics in professional settings.
Developers should consider this guide if they want perspective on the non-technical aspects of a programming career that formal education often overlooks. It suits someone early in their career who recognizes that technical ability alone is insufficient, or someone seeking to understand the interpersonal and organizational skills that distinguish effective programmers. The guide explicitly positions itself as complementary to established works like The Pragmatic Programmer and Code Complete, differing by placing greater emphasis on social problems and attempting a comprehensive summary of necessary skills rather than focusing narrowly on technical practices.
The project maintains the original essay as written while accepting community contributions for improvements and translations. Pull requests are welcomed for major changes, while minor refinements can be submitted as issues. The guide is available both as an online resource and in printed form, and has been translated into multiple languages, indicating ongoing community engagement with the material.