15 books that every programmer should read
Books for an efficient programmer don’t necessarily need to be thousand page tomes focused entirely on codes; on the contrary, they should provide general information, which can help every programmer create clean script in a logical and functional way.
So here is a selection of 15 texts which can really contribute to any programmer’s professional development, whether they are fresh out of university or already an established IT expert.
Useful General Books for the programmer
Below is a list of books dealing with various subjects, all of them useful for the construction of the programmer’s so-called computational thought (a fundamental tool for solving logical problems linked to coding):
- Clean Code: A Handbook of Agile Software Craftsmanship: this first text, written by Robert C. Martin and only available in English, is of primary importance, as it illustrates some useful design patterns for programing, focusing on the importance of code cleaning, using examples and real-life case studies;
- The Lean Start-up: How Constant Innovation Creates Radically Successful Businesses: although this text may not seem directly related to the IT sector, the notion which lies at its heart is extremely relevant to programmers. Author Eric Ries in fact uses a lot of examples of IT related start-ups and the methodologies he describes, if applied correctly, can bring enormous advantages;
- Code Complete 2nd Edition: this book might be described as “evergreen”, since the subjects it deals with are valid regardless of the programing language used. It contains tips, working methodologies and issues which programmers encounter on a daily basis. Not surprisingly, this text was written by Steve McConnell and is widely used at university level;
- The Pragmatic Programmer: From Journeyman to Master: Andrew Hunt’s work has been a benchmark for many years and focuses mainly on the teaching of efficient methods for resolving issues connected to coding;
- Software Architecture in Practice: a multi award-winning book by Len Bass, Paul Clements and Rick Kazmanche, dealing with software architecture and the importance of the creation of an easily re-usable code, so as to optimise production timescales;
- Continuous Delivery: author Jez Humble provides important guidelines for the programmers, useful not only in software development, but also during the testing and delivery phase;
- Working Effectively with Legacy Code: a useful book by Michael Feathers on team or company programming, perfect for those who need to work on a pre-existing code;
- Code: The hidden language of Computer Hardware and Software: the hardware – software relationship is often omitted during a programmer’s training, since nowadays there are plenty of publications and other sources which deal with compatibility. Charles Petzold gives a detailed explanation of this relationship;
- The Art of Computer Programming: an interesting history of programming development and its origins, written by Donald Knuth.
Books about Design Patterns
Thanks to this category of books, the programmer can learn to recognise the various and most commonly used design patterns, in order to gain a general idea as to how to optimise his own code and make it more functional:
- Design Patterns (Gamma);
- Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley);
- Domain-Driven Design: Tackling Complexity in the Heart of Software (Eric Evans).
Books about Web Design
For programmers who routinely work alone on code, being familiar with certain elements of web design is a boost to his professional development, as it provides him with concrete data on the User Experience, thereby aiding in its optimisation:
- The Principles of Beautiful Web Design Third Edition (Jason Beaird e James George);
- CSS Secrets, Better Solutions To Everyday Web Design Problems (Lea Verou);
- CSS, The Missing Manual (David Sawyer McFarland).
By reading these texts, the developer can acquire considerable knowledge, which can contribute not only towards improved professional skills but also other areas.
Translated by Joanne Beckwith
