The Software Developers’ Guidebook
$9.99
Minimum price
$12.99
Suggested price

The Software Developers’ Guidebook

A Collection of Modern Engineering Practices

About the Book

The essential handbook for software developers who want to build better software with practical, real-world techniques. Written by Dave Farley, award-winning author of "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation" and a leading voice in modern software engineering.

Based on Dave's series of highly popular How-To guides, this book distills decades of software engineering experience into actionable insights. From writing better user stories and mastering test-driven development to adopting effective developer habits and organising teams for success—this guide is packed with advice you can apply immediately.

The Software Developers’ Guidebook is a practical, no-nonsense resource for developers at all levels. Whether you’re just starting out or refining your craft, this book will help you improve how you build software—one step at a time.

  • Share this book

  • Categories

    • Computers and Programming
    • Software Engineering
    • DevOps
    • Software
    • Testing
    • Automated Software Testing
    • Engineering
    • Agile
    • Lean
  • Feedback

    Email the Author(s)

About the Authors

David Farley
David Farley

Dave Farley is author of three best-selling books - "Continuous Delivery”, ”Modern Software Engineering", and “Continuous Delivery Pipelines”. He is founder of the CD.Training school and creator of the CD and Modern Software Engineering YouTube channel.

Dave is a pioneer of Continuous Delivery, thought-leader and expert practitioner in CD, DevOps, TDD, agile development techniques and software design. He is one of the authors of the Reactive Manifesto, and a winner of the Duke Award for the open source LMAX Disruptor project. 

As an independent software developer and consultant, Dave has a long track record in creating high-performance teams, shaping organisations for success, and creating outstanding software.

Bernard McCarty
Bernard McCarty (Editor)

Bernard McCarty started out as a physicist, wandered into software engineering, and never quite left. He’s worked across industries—semiconductor yield analysis, telecoms, quantum computing, and scientific instrumentation—but his passion lies in problem-solving, whether it’s optimising code, solar energy systems, or the way we think about software. As Content Manager for Continuous Delivery Ltd, he helps make complex ideas accessible and engaging.

Team Discounts

Get a team discount on this book!

Up to 3 Team Members
Minimum price$24.00Suggested price$32.00
Up to 5 Team Members
Minimum price$39.00Suggested price$51.00
Up to 10 Team Members
Minimum price$69.00Suggested price$90.00
Up to 15 Team Members
Minimum price$99.00Suggested price$129.00
Up to 25 Team Members
Minimum price$149.00Suggested price$194.00

Reader Testimonials

Susan Elam
Susan Elam

Complete, concise, pragmatic, and descriptive... This is a gem of a book with a very readable style and an impressive encyclopaedic scope that deserves a place on everyones' shelf.

Dariusz Danielewski
Dariusz Danielewski

Bought it. Worth every extra penny one can afford.

Daniel Wilkowski
Daniel Wilkowski

I see the new book as something I can just tell people 'Read that' to get the new members into CD way of thinking.

John Whitehouse
John Whitehouse

A valuable and important complement to Dave's Continuous Delivery and Modern Software Engineering books, distilling key points into actionable things I can do today. I will refer to it for practical guidance and inspiration when determining how to proceed on projects, big and small.

Steven Borrie
Steven Borrie

The perfect content for new developers who want to get started on the right track.

Table of Contents

    • Preface
    • Part 1. Foundations of Modern Software Development
    • Starting A New Project
      • Introduction
      • Fast Feedback
      • Optimise for Learning
      • Set Up the Dev Environment
      • Build a Deployment Pipeline
      • Setting Goals
      • Working in Small Steps
      • Get Measures in Place
      • Be Prepared to Change
      • Learn more…
    • Writing Better User Stories
      • Better Specifications with User Stories
      • What Are User Stories?
      • Good Stories
      • Examples of Good Stories
      • Who Writes User Stories?
      • Tips for Writing User Stories
      • Where to Start
      • Writing User Stories
      • Avoid These Common Mistakes
      • Learn more…
    • Organising Software Development Teams
      • How to set up your Software Development Teams?
      • Team Size and Structure
      • Team Skills & Responsibilities
      • Team Organisation
      • Platform Teams
      • Cooperation and Collaboration
      • Here are some recommendations:
      • Transforming Team Structure
      • Learn more…
    • Pair Programming Patterns
      • What is Pair Programming?
      • Pair Patterns
      • Pair Rotation
      • The Benefits of Pair Programming
      • Pair Partnerships
      • Tips For Successful Pairing
      • Learn more…
    • Part 2. Software Testing
    • Beginners Guide To TDD (Test Driven Development)
      • Test Driven Development
      • RED > GREEN > REFACTOR
      • Top Tips
      • Getting Going with TDD
    • TDD Top Tips
      • When to Use TDD?
      • Test to Evaluate Behaviour, NOT Implementation
      • Test First To Improve Design
      • Three Mindsets of TDD
      • Refactoring for Legacy Systems
      • The Shape of Your Tests
      • Changing Your Design
      • Testing at the Edges
      • Practise
      • Learn more…
    • Acceptance Test Driven Development
      • Approach
      • Properties of Effective Acceptance Tests
      • Tips
      • Four Layer Separation of Concerns
      • Test Cases
      • Domain Specific Language (DSL)
      • Protocol Drivers
      • System Under Test (SUT)
      • Growing the DSL
      • Learn more…
    • What to Test, and When?
      • Types of Testing at Different Stages
      • Learn more…
    • Testing in Production
      • Feedback from Production
      • Types of Test
      • Business (Pirate) Metrics
      • Data Collection
      • Control the Variables
      • Don’t Do E2E Testing
      • Learn more…
    • Eliminate Intermittent Tests
      • Releasable or Not?
      • Control Your Test Environment
      • Isolate Your Test Data
      • Implement Continuous Integration
      • Monitor and Manage Resource Use
      • Handle Concurrency and Race Conditions
      • Test in Isolation
      • Treat Tests as Falsification Mechanisms
      • Continuous Monitoring in Production
      • Choose the Right Testing Strategy
      • Summary
      • Learn more…
    • Get Started With Behaviour Driven Development (BDD)
      • Introduction
      • Understanding BDD
      • Core Tips and Advice
      • Separating ‘What’ From ‘How’ - An Example
      • The Process of Translation
      • Common Pitfalls
      • Summary
      • Learn more…
    • Test Software Performance
      • Introduction
      • Basic Concepts
      • Key Idea – Control the Variables
      • Practical Steps
      • Advanced Performance Testing
      • Conclusion
      • Learn more…
    • Part 3. Continuous Delivery Practices
    • How To Build A Deployment Pipeline
      • What Is A Deployment Pipeline?
      • Key Components
      • The Deployment Pipeline
      • How To Build A Deployment Pipeline
      • A Simple Example
      • Getting Started
      • Create a Commit Stage
      • Create an Artifact Repository
      • Create an Acceptance Stage
      • Create a Simple version of Production
      • Next Steps
      • Team Behaviours
      • Key Principles
      • Learn more…
    • Continuous Integration Top Tips
      • 10 Tips for Continuous Integration
      • My Top Tips
      • Learn more…
    • Assess Your CD Capability
      • Self-Assessment - How Well Do You Do The Following?
      • Reflect On Your Findings
      • Conclusion
    • Refactoring Legacy Code
      • Introduction
      • The 5 Steps In Refactoring To Testability
      • Conclusion
      • Learn more…
    • Part 4. Architecture and Design
    • Evolve Your Software Architecture
      • Introduction
      • Understanding Software Architecture
      • Core Tips and Advice
      • Embracing Evolutionary Architecture
      • Evolutionary Architecture Techniques
      • Summary
      • Learn more…
    • Get Started with Microservices
      • Introduction
      • Design
      • Messaging
      • Learn more…
    • Part 5. Good Habits
    • Adopt GREAT Developer Habits
      • Introduction
      • Code As Communication
      • Be Cautious Of Frameworks
      • Coding Is Design
      • Quality Over Features
      • Social Activity
      • Avoid Code Ownership
      • Work In Small Steps
      • Conclusion
      • Learn more…
    • Avoid Common Software Development Pitfalls
      • Introduction
      • Break Bad Software Habits
      • Are You Bad At Programming Or Just Making Excuses?
      • Summary
      • Conclusion
      • Learn more…
    • Summary

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub