Photo by Priscilla Du Preez on Unsplash

The 10 books every software developer should read

George Wilde
8 min readNov 25, 2018

--

Do you want to excel at your craft? These books contain the insights and principles that guide many of the leading software companies, developers and development managers today.

Whether you are just starting on your development career or have been coding for years, these books will help become a better programmer.

1. The Goal: A Process of Ongoing Improvement

by Eliyahu M. Goldratt

Written in a fast-paced thriller style, The Goal is the gripping novel which is transforming management thinking throughout the Western world. The author has been described by Fortune as a ‘guru to industry’ and by Businessweek as a ‘genius’. It is a book to recommend to your friends in industry — even to your bosses — but not to your competitors.

Alex Rogo is a harried plant manager working ever more desperately to try and improve performance. His factory is rapidly heading for disaster. So is his marriage. He has ninety days to save his plant — or it will be closed by corporate HQ, with hundreds of job losses. It takes a chance meeting with a colleague from student days — Jonah — to help him break out of conventional ways of thinking to see what needs to be done.

The story of Alex’s fight to save his plant is more than compulsive reading. It contains a serious message for all managers in industry and explains the ideas which underline the Theory of Constraints (TOC) developed by Eli Goldratt.

2. The Phoenix Project: A Novel about It, Devops, and Helping Your Business Win

by Gene Kim

Bill, an IT manager at Parts Unlimited, has been tasked with taking on a project critical to the future of the business, code named Phoenix Project. But the project is massively over budget and behind schedule. The CEO demands Bill must fix the mess in ninety days or else Bill’s entire department will be outsourced. With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with a manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize workflow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited.

In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize.

Readers will not only learn how to improve their own IT organizations, they’ll never view IT the same way again.

3. The Devops Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations

by Gene Kim

For decades, technology leaders have struggled to balance agility, reliability, and security, and the consequences of failure have never been greater.

The effective management of technology is critical for business competitiveness. High-performing organizations are 2.5 times more likely to exceed profitability, market share, and productivity goals.

The DevOps Handbook shows leaders how to create cultural norms and the technical practices necessary to maximize organizational learning, increase employee satisfaction, and win in the marketplace.

4. The Toyota Way: 14 Management Principles from the World’s Greatest Manufacturer

by Jeffrey Liker

How to speed up business processes, improve quality, and cut costs in any industry.

In factories around the world, Toyota consistently makes the highest-quality cars with the fewest defects of any competing manufacturer, while using fewer man-hours, less on-hand inventory, and half the floor space of its competitors. The Toyota Way is the first book for a general audience that explains the management principles and business philosophy behind Toyota’s worldwide reputation for quality and reliability.

Complete with profiles of organizations that have successfully adopted Toyota’s principles, this book shows managers in every industry how to improve business processes by:

  • Eliminating wasted time and resources
  • Building quality into workplace systems
  • Finding low-cost but reliable alternatives to expensive new technology
  • Producing in small quantities
  • Turning every employee into a quality control inspector

5. Scrum: The Art of Doing Twice the Work in Half the Time

by Jeff Sutherland

The definitive account of the Scrum methodology from its co-creator and the CEO of Scrum, Inc.

Scrum is the revolutionary approach to project management and team building that has helped to transform everything from software companies to the US military to healthcare in major American hospitals. In this major new book its originator, Jeff Sutherland, explains precisely and step by step how it operates — and how it can be made to work for anyone, anywhere. Take the FBI attempt to digitize its records, for example. As with so many software projects the first attempt failed, having taken four years and cost over $400 million. Then the FBI turned to Scrum, and just over a year later unveiled a functioning system that cost less than a tenth of the first project and employed a tenth of the staff. And it’s not just grand projects that Scrum can help with.

Every organisation, whatever its size, constantly has to come to grips with delivering a product or service on time and on budget. Scrum shows you how. It explains how to define precisely what it is that you are seeking to achieve, how to set up the team to achieve it, and how to monitor progress until the project is successfully completed. Filled with practical examples drawn from all types and organisation it will make you rethink the fundamentals of successful management — and show you how to get things done however every day or ambitious, however small or large your organisation.

6. The Lean Startup: How Constant Innovation Creates Radically Successful Businesses

by Eric Ries

Most new businesses fail. But most of those failures are preventable.

The Lean Startup is a new approach to business that’s being adopted around the world. It is changing the way companies are built and new products are launched.

The Lean Startup is about learning what your customers really want. It’s about testing your vision continuously, adapting and adjusting before it’s too late.

Now is the time to think Lean.

7. Clean Code: A Handbook of Agile Software Craftsmanship

by Robert Martin (Uncle Bob)

Even bad code can function. But if the code isn’t clean, it can bring a development organization to its knees.

Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

This book will help you understand:

  • How to tell the difference between good and bad code
  • How to write good code and how to transform bad code into good code
  • How to create good names, good functions, good objects, and good classes
  • How to format code for maximum readability
  • How to implement complete error handling without obscuring code logic
  • How to unit test and practice test-driven development

This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

8. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

by Jez Humble

Getting software released to users is often a painful, risky, and time-consuming process.

This groundbreaking book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours―sometimes even minutes–no matter what the size of a project or the complexity of its code base.

The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks.

Whether you’re a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever―so you can deliver value to your business rapidly and reliably.

9. The Pragmatic Programmer

by Andrew Hunt

Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process — taking a requirement and producing working, maintainable code that delights its users.

It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse.

Read this book, and you’ll learn how to

  • Fight software rot
  • Avoid the trap of duplicating knowledge
  • Write flexible, dynamic, and adaptable code
  • Avoid programming by coincidence
  • Bullet-proof your code with contracts, assertions, and exceptions
  • Capture real requirements
  • Test ruthlessly and effectively
  • Delight your users
  • Build teams of pragmatic programmers
  • Make your developments more precise with automation

Whether you’re a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you’ll quickly see improvements in personal productivity, accuracy, and job satisfaction. You’ll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You’ll become a Pragmatic Programmer.

10. Agile Software Development, Principles, Patterns, and Practices

by Robert Martin (Uncle Bob)

This book includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java.

Using a practical, problem-solving approach, it shows how to develop an object-oriented application―from the early stages of analysis, through the low-level design and into the implementation. It walks readers through the designer’s thoughts ― showing the errors, blind alleys, and creative insights that occur throughout the software design process.

The book discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system.

For Software Engineers, Programmers, and Analysts who want to understand how to design object-oriented software with state of the art methods.

--

--