Structure and Interpretation of Computer Programmers

Writing code is hard. Software engineering is much harder.

I’m Graham Lee. I help programmers become software engineers, software engineers become senior software engineers, and technology leaders ensure their teams are effective.

Software Craftsmanship’s Consulting Detective

Many fast-growing technology companies hit a silent wall. Velocity grinds to a halt under the weight of regression bugs, design complexity, and mounting technical debt. Developers spend more time fighting fires than delivering features, QA are seen as “the enemy” because they’re always discovering problems, and trying to escape the productivity trap with AI tools just adds to the chaos.

I help software engineers and engineering leaders escape this trap. Drawing on two decades of experience building systems for Oxford, Sophos, Wealth Wizards, Facebook, and Apple, and my research experience exploring the social science of software engineering, I step in as Software Craftsmanship’s consulting detective to identify engineering friction and help your team transition from just writing code to practicing disciplined, predictable software engineering.

Engineering Leaders and Software Founders

I step into scaling startups and tech companies, debugging their engineering culture and processes to help them create high-quality software, reliably. Read more about the services on offer.

Aspiring and Evolving Software Engineers

Chiron Codex is the AI beachhead for the Structure and Interpretation of Computer Programmers. We’re understanding how we use AI-augmented tools, including LLMs, to improve as software engineers, instead of outsourcing our abilities to language models. You can get early access to, and support this work, at the Chiron Codex Patreon.

This website’s blog covers a range of topics, broadly related to software engineering and its culture and values. The name is “Structure and Interpretation of Computer Programmers”, a pun on a famous computer science textbook. Check out the full archives here.

The SICPers podcast goes into detail on the history and context of software engineering ideas, and the trade-offs we make when building software.

De Programmatica Ipsum is a monthly magazine on software engineering, co-edited with my friend Adrian Kosmaczewski. Its scope is “individuals, interactions, and the true valuation of the things on the left” in software development.

Graham Lee, presenting at UIKonf 2015.

This YouTube playlist contains many of the conference talks and seminars I have given on topics of testing, software quality, and software design paradigms.

APPropriate Behaviour is a guide to the things programmers need to know, other than the programming. It’s still getting updated!

OOP: the easy way is my attempt to rehabilitate Object-Oriented Programming. It got very complicated over the 1990s and 2000s, despite being introduced as a paradigm for children to write programs easily. I show that there’s a simple idea lurking at the core.

Contact

You can email me: grahamlee@acm.org or find me on Fosstodon @leeg@fosstodon.org. My GitHub profile is https://github.com/iamleeg.