Five Books for Software Professionals and Programmers
At DCSL GuideSmiths we never stop learning our craft and are always keen to share our knowledge. So this World Book Day, we asked our team to suggest their most recommended books for software programmers. This blog is the result.
These are DCSL GuideSmiths’ five books every software professional should read – and every student programmer should have on their shelf (or their e-reader of choice!).
1. Cracking the Coding Interview: 189 Programming Questions & Solutions by Gayle Laakmann McDowell
The first of our five books for software professionals and programmers is designed to help with a part of the job we know all too well: the interview.
Cracking the Coding Interview goes into depth on how to derive solutions for each of the 189 questions it contains, along with strategies for tackling algorithm questions so you can solve problems you haven’t encountered.
Helpfully, its author Gayle Laakmann McDowell has operated on both sides of the interviewer/client divide, so her insights should prove helpful whether you’re a candidate looking for your next programming move or a company seeking your next star hire.
Plus, with insights into the hiring processes of companies like Google and Facebook, there are tips here to help everyone involved give or conduct the best interview possible.
2. Don’t Make Me Think by Steve Krug
Did you know that when it comes to using software, people tend to accept the very first solution offered to them? It therefore makes sense to make the user experience as simple and seamless as possible.
That’s the central argument behind Steve Krug’s Don’t Make Me Think.
However, it’s one thing saying a software solution should be simply designed. It’s another thing doing it when the back-end infrastructure is complex and needs to solve multiple problems from one user interface.
Krug is particularly keen on Amazon as an example of a company that gets this right. And that makes sense when you think about it, with retail, customer service and a high-volume streaming video catalogue being just three of the site’s functions – not to mention the myriad of behind-the-scenes stock and fulfilment systems that a simple user account plugs into.
When it comes to keeping software design simple, Don’t Make Me Think is definitely one of the books every software professional should read – and think about often once they have.
3. The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas
We love this book because it does something that should be incredibly difficult to do, with ease. It tackles some of the most common software engineering problems by offering real-world everyday practices as solid solutions, all borne from years of experience. It all feels as relevant now as when it was first written, too. Not bad for a book that’s over 20 years old!
Topics covered include personal responsibility, career development, architectural techniques, security, and a methodology for efficient testing. Some of the simple-but-powerful ideas it floats include sticking with one text editor and mastering its idiosyncrasies, and using version tracking software on every project, no matter how big or small.
The Pragmatic Programmer is one of the most recommended books for software programmers for a reason. If you’re a programmer, this book will change the way you work.
4. Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
Speaking of the most recommended books for software programmers – they don’t get more highly-touted than Clean Code by Robert C. Martin.
Written to help teach software engineers the many principles behind writing clean programming code, this Java-centric tome isn’t for the casual coder. It’s structured in three parts, and unlike many coding-related books, comes packed with case studies – alongside the problems those case studies brought to light and solved.
By the end of this book, you’ll be able to spot bad code a mile away, write cleaner code yourself, and naturally factor in things like readability for others, testing cycles, and code formatting.
If you work with code, this has to be amongst your five must-read books for becoming a better software developer. Possibly even top of the pile.
5. Soft Skills: The Software Developer’s Life Manual by John Sonmez
From hard, clean code to soft skills. We’re ending our feature on five books for software professionals and programmers here because there simply aren’t many books that discuss the lifestyle of being a software developer – and even fewer that do it this well.
The author, John Somnez, is a life coach, and that shows through on the page. His advice on subjects like career development, finances, investing, and productivity are invaluable. He even touches on broader life concerns like relationships and health. Because at the end of the day, software developers are people, designing apps and services for other people.
It’s easy to forget that, but Soft Skills encourages living a congruent programmer’s lifestyle that will make readers not just better coders, but healthier and happier individuals.