This is a list of things I think everyone interested in programming or just software craftmanship in general should read. It’s a work in progress which I will be improving on whenever I got the time.
Inspired by Jeff Atwoods “Recommended Reading for Developers”. (His list is way better than mine by the way, so check it out.)
In no particular order.
The Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt and David Thomas (Amazon)
The Mythical Man-Month: Essays on Software Engineering
by Frederick Brooks (Amazon)
The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses by Eric Reiss (Amazon)
The Lean Startup brings the principles of lean manufacturing and agile programming to entrepreneurs. An awesome guide on how to do more with less.
Refactoring: Improving the Design of Existing Code by Martin Fowler (Amazon)
Because 99% of programming is maintaining existing code.
Getting Real by Daniel Heinemeier Hansen (DHH)
Clean Code by Uncle Bob
Code Complete by Steve McConnell
Design Patterns: Elements of Reusable Object-Oriented Software by Gamma et. al (i.e. “Gang of Four”)
The Joel Test: 12 Steps to Better Code
This article is 15 years old now but is still very much relevant today. By simply answering each question with yes or no it’s really damn easy to get a good understanding of how good a team actually is.
What is Code?
While more a book than an article this piece by Paul Ford does a better job than many to illustrate what software engineering really is about and how it came to be.
Programming is terrible
A talk by tef on his experiences working as a programmer. He covers a lot of interesting stuff like best practices, differences between successful programmers and good ones, myths of programming etc. All in all it’s a very amusing and informative way to spend forty minutes.
The Codeless Code
Paul Graham’s Essays
Paul Graham have co-founded Viaweb and YCombinator and is famous for his work on Lisp. Although his site isn’t technically a blog, it features some very good articles.
Unlearn your MBA
David Heinemeier Hansson who famously created Ruby on Rails while studying for his MBA talks business, management and programming.