Leanpub Header

Skip to main content

The Software Developers’ Guidebook

A Collection of Modern Engineering Practices

A practical handbook packed with real-world advice to help you write better code, adopt effective developer habits, and build great software.

The authors are letting you choose the price you pay for this book!

Pick Your Price...

Buying multiple copies for your team? See below for a discount!

PDF
EPUB
WEB
About

About

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.

Price

Pick Your Price...

Minimum price

$9.99

$12.99

You pay

$12.99

Authors earn

$10.39
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 1)

1
The author will earn $12.00 from your purchase!
You can get credits monthly with a Reader Membership

Team Discounts

Team Discounts

Get a team discount on this book!

  • Up to 3 members

    Minimum price
    $24.00
    Suggested price
    $32.00
  • Up to 5 members

    Minimum price
    $39.00
    Suggested price
    $51.00
  • Up to 10 members

    Minimum price
    $69.00
    Suggested price
    $90.00
  • Up to 15 members

    Minimum price
    $99.00
    Suggested price
    $129.00
  • Up to 25 members

    Minimum price
    $149.00
    Suggested price
    $194.00

Author

About the Authors

David Farley

Dave Farley is co-author of the Jolt-award winning book "Continuous Delivery", best seller "Modern Software Engineering", and creator of the popular "Modern Software Engineering" YouTube channel. He is a regular conference speaker and blogger, one of the authors of the Reactive Manifesto and former Head of Software development at LMAX Ltd, a company that are well known for the excellence of their code and the exemplary nature of their development process. Dave is an independent software developer and consultant, and founder and director of Continuous Delivery Ltd.

Leanpub Podcast

Episode 239

An Interview with David Farley

Bernard McCarty (Editor)

Translations

Translations

Contents

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?
      • User Stories Are Targets, Not Tasks
      • 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
      • Transforming Technical Requirements into User Stories
      • 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…
    • Write Code You Can Change Easily
      • Introduction
      • Prioritise Code Readability
      • Practise Test-Driven Development (TDD)
      • Manage Complexity By Design
      • Effective Refactoring Techniques
      • Techniques to Reduce Complexity
      • Techniques to Improve Separation of Concerns
      • Automated Testing and Continuous Integration
      • Summary
      • Learn more…
    • Get Started with Microservices
      • Introduction
      • Design
      • Messaging
      • Learn more…
    Part 5. Get Into Good Habits
    • Adopt GREAT Developer Habits
      • Introduction
      • Code As Communication
      • Think Like an Engineer
      • Be Cautious Of Frameworks
      • Coding Is Design
      • Quality Over Features
      • Social Activity
      • Work In Small Steps
      • Conclusion
      • Learn more…
    • Avoid Common Software Development Pitfalls
      • Introduction
      • Break Bad Software Habits
      • 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 earned over $14 million writing, 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