![]() Consulting, Teaching and Mentoring in the Craft of Software Development |
Go back to Articles and Mindmaps
Book Recommendations for Software Developers
Some time back I prepared a list of books for C/C++ developers based on my experience. This is a list of books, for general software developments. I am linking the book titles to their wikipedia pages or their author or book site.-
Practice of Programming - Book Website
This book focuses on topics like testing, performance optimization, portability, design, good coding practices,etc. Each chapter introduces the topic with case study. It is like reading 'stories' about programming told by a master story teller. Each story teaches an important aspect of programming.
-
The Pragmatic Programmer: From Journeyman to Master This was the first book in 'Pragmatic Bookself' series of book. It is also one of the BEST. It is most practical advise to practicing software developers that I have seen. Especially for developers who want to develop and improve their skills.
Official 'pragmatic programmer bookself site is http://www.pragprog.com/
- Pragmatic Version Control for Subversion
There are 3 variations of this title. (For Subversion, For CVS and For Git.) Anyone using Subversion for their project, this book is a must read. It explains practical aspects of using Subversion in day-to-day work (e.g. repository layout of directories, subversion hook scripts etc, handling binary files and best practices in using subversion).
-
Pragmatic Project Automation "project automation" is an often neglected part by project teams. Usually a good 'automation' infrastructure is developed by product companies. This book talks about continuous build/integration, one click releases, integrating automated testing in the build process etc. The examples are about Java. But the concepts are applicable to every project.
- Design Patterns
No introduction required. If you have not read this book, then you are seriously missed an important book.
-
Code Complete As the name suggests this book is about practical aspects of entire SDLC. It talks about everything from estimation, design to good coding practices, naming conventions, good testing practices, debugging. Just have a look at 'detailed contents'. In short, this is a 'must have' reference books.
-
Beautiful Code Leading Programmers Explain How They Think On internet you will find conflicting opinions about this book. Personally I liked it and I recommendation it. It is great experience learning from the thoughts of software designers like Sanjay Ghemavat (architect behind the google map-reduce), Small regex matcher from Kernighan, Design of Subversion Delta Editor, Design of NumPy iterators, Desing of Pythons dictionaries. Many of those we are using regularly. Its nice to have some understanding of what is going behind the scene. Each author has his own view and ideas about what is a 'beautiful code'. Understanding those different aspects and view points is an education.
