Shop top categories that ship internationally
Buy new:
-5% $37.99
Delivery Wednesday, March 26
Ships from: Amazon.com
Sold by: Amazon.com
$37.99 with 5 percent savings
List Price: $39.99
FREE International Returns
No Import Charges & $10.42 Shipping to Japan Details

Shipping & Fee Details

Price $37.99
AmazonGlobal Shipping $10.42
Estimated Import Charges $0.00
Total $48.41

Delivery Wednesday, March 26. Order within 23 hrs 57 mins
Or fastest delivery Friday, March 21
In Stock
$$37.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$37.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$29.97
FREE International Returns
Solid copy with some shelf wear and/or markings scattered throughout Solid copy with some shelf wear and/or markings scattered throughout See less
Delivery April 1 - 22
$$37.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$37.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Modern Software Engineering: Doing What Works to Build Better Software Faster 1st Edition

4.5 4.5 out of 5 stars 611 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$37.99","priceAmount":37.99,"currencySymbol":"$","integerValue":"37","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"uHch%2FrQ8ufJqht%2BELUBfxrwWyb9bePHuEV167HJFoVIvS1OSRAQe%2FoGNrnx4fScz2aVT%2B3NvC8EGtfLc5izJvOvuqhTfLCFlSdCwIiolAmZz%2B8jcRJSAfYgS1CDGNeaa7x9x8CiSEj%2Bq0IJ9VhLG3g%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$29.97","priceAmount":29.97,"currencySymbol":"$","integerValue":"29","decimalSeparator":".","fractionalValue":"97","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"uHch%2FrQ8ufJqht%2BELUBfxrwWyb9bePHuo2OKZygNWHdJEP1uMNcy1VFffidDDsdkLHnx9ObK8R0BN1TsIpjg7kx8hqowxBuyB8k4ugv%2B6ZwRbhl3sdPltY3YLvAXWb1bK5WUWARFzKaBGFmqO758STcdnWM0xqrzUE9cQwZLtPYAulo5emzZIL5uWyxcgxfX","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

Improve Your Creativity, Effectiveness, and Ultimately, Your Code

In
Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues.

Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success.

Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment.
  • Clarify what you're trying to accomplish
  • Choose your tools based on sensible criteria
  • Organize work and systems to facilitate continuing incremental progress
  • Evaluate your progress toward thriving systems, not just more "legacy code"
  • Gain more value from experimentation and empiricism
  • Stay in control as systems grow more complex
  • Achieve rigor without too much rigidity
  • Learn from history and experience
  • Distinguish "good" new software development ideas from "bad" ones
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Frequently bought together

This item: Modern Software Engineering: Doing What Works to Build Better Software Faster
$37.99
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
Choose items to buy together.

From the Publisher

Editorial Reviews

Review

" Modern Software Engineering gets it right and describes the ways skilled practitioners actually engineer software today. The techniques Farley presents are not rigid, prescriptive, or linear, but they are disciplined in exactly the ways software requires: empirical, iterative, feedback-driven, economical, and focused on running code."
--
Glenn Vanderburg, Director of Engineering at Nubank

"There are lots of books that will tell you how to follow a particular software engineering practice; this book is different. What Dave does here is set out the very essence of what defines software engineering and how that is distinct from simple craft. He explains why and how in order to master software engineering you must become a master of both learning and of managing complexity, how practices that already exist support that, and how to judge other ideas on their software engineering merits. This is a book for anyone serious about treating software development as a true engineering discipline, whether you are just starting out or have been building software for decades."
--
Dave Hounslow, Software Engineer

"These are important topics and it's great to have a compendium that brings them together as one package."
--
Michael Nygard, Author of Release IT, Professional Programmer, and Software Architect

"I've been reading the review copy of Dave Farley's book and it's what we need. It should be required reading for anyone aspiring to be a software engineer or who wants to master the craft. Pragmatic, practical advice on professional engineering. It should be required reading in universities and bootcamps."
--
Bryan Finster, Distinguished Engineer and Value Stream Architect at USAF Platform One

"The title says it all. In this book, Dave Farley shares his wisdom and experience as an outstanding software engineer and leader. The reader is fortunate to see the world of software design through the eyes of a master designer. Modern - It describes the practices tools and technology used today to build working software with a productive cadence.

Modern Software Engineering provides a reader with a clear understanding of the field of software engineering and why it is indeed engineering. Dave explains the essential aspects of software engineering concisely from the perspective of a software engineer. Unlike many books which focus on one right way, he stresses the importance of good judgment, experimentation, and measurement. Many authors discuss the goodness of cohesion, coupling, and separation of concerns but Dave illustrates concepts while discussing the natural tensions between them which are part of the art of software design. His passion and discussion for TDD and perspective on how and why it works, provide fresh motivation as TDD as design practice.

Throughout the book, Dave presents concrete examples of design choices, where creative experimentation, measure, and iterative development are essential. The book presents a series of courteous conversations about software product design and implementation. It is a book that professionals will return to often to reread and think about these important design conversations.

This is an excellent book that belongs on the self of every software engineer be they new or leading a large team."
Dave Thomas, CEO of Bedarra Corporation

About the Author

David Farley, founder and consultant for Continuous Delivery Ltd., has been a programmer, software engineer, and systems architect since the early days of modern computing. He has shaped ground-breaking approaches that have transformed how developers and teams work. With Jez Humble, Farley coauthored the best-seller Continuous Delivery. As Head of Software Development for the London Multi Asset Exchange (LMAX), he built one of the world's fastest financial exchanges. One of the earliest adopters of agile techniques employing iterative development, continuous integration, and high levels of automated testing, he also coauthored the Reactive Manifesto. Dave also runs the popular and highly successful "Continuous Delivery" YouTube channel.

Product details

  • Publisher ‏ : ‎ Addison-Wesley Professional; 1st edition (December 10, 2021)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 256 pages
  • ISBN-10 ‏ : ‎ 0137314914
  • ISBN-13 ‏ : ‎ 978-0137314911
  • Item Weight ‏ : ‎ 15.2 ounces
  • Dimensions ‏ : ‎ 7.38 x 0.58 x 9.13 inches
  • Customer Reviews:
    4.5 4.5 out of 5 stars 611 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
David Farley
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Dave Farley is co-author of the award winning book 'Continuous Delivery' and a contributor to the 'Reactive Manifesto'. He has been having fun with computers for over 30 years. During that period he has worked on most types of software, from firmware, through tinkering with operating systems and device drivers, to writing games, and commercial applications of all shapes and sizes. In recent years Dave has worked in the field of low-latency systems and was a contributor to the Duke award-winning 'LMAX Disruptor', open-source project.

He started working in large scale distributed systems about 25 years ago, doing research into the development of loose-coupled, message-based systems-a forerunner of today's Micro-Service architecture. He has a wide range of experience leading the development of complex software in teams, both large and small, in the UK and USA.

Dave was an early adopter of agile development techniques, employing iterative development, continuous integration and significant levels of automated testing on commercial projects from the early 1990s. He honed his approach to agile development in his four and a half year stint at ThoughtWorks where he was a technical principal working on some of their biggest and most challenging projects.

Dave is currently working as an independent software developer and consultant.

Looking for specific info?

Customer reviews

4.5 out of 5 stars
611 global ratings

Review this product

Share your thoughts with other customers

Customers say

Customers find the book provides good advice and guidance for software engineering. They appreciate the clear writing style and examples. The treatment of software engineering from an engineering perspective is described as eye-opening and one of the best books about it. However, some readers feel the content is repetitive and pedantic.

AI-generated from the text of customer reviews

24 customers mention "Advice level"19 positive5 negative

Customers find the book provides great advice and guidance for software development. They appreciate the strong arguments and clear examples. The book covers principles well with a pragmatic and realistic approach. Readers appreciate the perspective and insights, saying it provides a deeper introduction to concepts than wikipedia. Overall, they describe it as a great book with a pragmatic and realist approach.

"...You won't read it in one sitting - the subject matter is perfect for skipping around to different chapters, depending on what you're currently..." Read more

"...Dave's book puts back engineering into development, but with a very pragmatic and realistic approach, derived from actual experience...." Read more

"...It turned out to be completely worthwhile and an improvement to the codebase, to boot...." Read more

"...The book does a decent job of explaining them, justifying the, and substantiating them...." Read more

8 customers mention "Writing style"8 positive0 negative

Customers find the writing style clear and concise. They appreciate the simple examples and strong arguments that support the ideas. The book provides a pragmatic and realistic approach derived from actual experience.

"A lot of great ideas and careful communication of them. At times, too repetitive and a lot is skimmed over as a result." Read more

"...back engineering into development, but with a very pragmatic and realistic approach, derived from actual experience...." Read more

"...The book does a decent job of explaining them, justifying the, and substantiating them...." Read more

"...(stability, throughput, high cohesion, low coupling, abstraction, test-driven development, etc.),..." Read more

6 customers mention "Software engineering"6 positive0 negative

Customers find the book's treatment of software engineering from a true engineering perspective eye-opening. They say it can be used to develop and assess software systems, and that it concisely communicates what it means to engineer software. The book also covers the engineering process and deployment of software.

"...confirmed: software is empirical not prescriptive, all software is deployment, all software is testability. In other words, Golang...." Read more

"...His treatment of software engineering from a true engineering perspective was eye opening to me...." Read more

"...Every chapter has so many great advice that can guide you to become better software engineer." Read more

"...their understanding of the software engineering process, and deployment of software, should read this book." Read more

6 customers mention "Repetition"0 positive6 negative

Customers find the book repetitive and pedantic. They mention it's rehashed over and over again, and almost contentless.

"A lot of great ideas and careful communication of them. At times, too repetitive and a lot is skimmed over as a result." Read more

"...David’s writing isn’t the easiest to read and it does get pedantic but it’s worth going through this for the benefits you get." Read more

"Just the same old ideas, well known for many years, rehashed over and over again. No new insights or practical value here...." Read more

"An almost contentless book..." Read more

Problemilla con tapa
4 out of 5 stars
Problemilla con tapa
Todo perfecto con el tiempo de despacho, solo tuve un pequeño inconveniente con el empaque que venia con la tapa doblada, y como es blanda costo bastante hacer que no se notara tanto.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • Reviewed in the United States on February 27, 2025
    This is one of the best modern books on software engineering. The author's take on the empirical process of software engineering is a descaling operation on modern middle management "shm-agile".

    In all honesty, this is one of the best books on software engineering, albeit a modern explication on the "No Silver Bullet" paper. Experienced engineers will find all of our suspicions confirmed: software is empirical not prescriptive, all software is deployment, all software is testability. In other words, Golang. But at least we have a faithful book to point at for the non-believers.
  • Reviewed in the United States on January 7, 2025
    Even if the concepts presented on managing complexity were familiar, I really enjoyed how everything was linked together to bring the focus on the process of software engineering .
  • Reviewed in the United States on June 3, 2023
    A lot of great ideas and careful communication of them. At times, too repetitive and a lot is skimmed over as a result.
    2 people found this helpful
    Report
  • Reviewed in the United States on October 31, 2024
    I really like Dave Farley, the author of this book and host of the Continuous Delivery channel. His treatment of software engineering from a true engineering perspective was eye opening to me. I've been an developer for years and years, but had never thought of it directly in that manner.

    You won't read it in one sitting - the subject matter is perfect for skipping around to different chapters, depending on what you're currently working on or what topics pique your interest. Great book!
    One person found this helpful
    Report
  • Reviewed in the United States on March 27, 2022
    Recently, I finished reading this great book by Dave Farley. It immediately was added to my "zero B.S. readings", along with Team Topologies and a few others. Those books I would take to a desert island if someone asked me to build up a software facility from zero. :)

    What I really liked of the book is that it retakes the often discussed concept of software "engineering" and refines it to suit today's needs. I always felt we need an "engineering approach", but after the (gone) CMMI days, the term was always used more as a synonym to development rather than something to describe a professional, disciplined way to produce better software. I feel Dave's book puts back engineering into development, but with a very pragmatic and realistic approach, derived from actual experience.

    When reading it, I felt a similar sensation to that I felt when I read Steve McConnell's Code Complete and Rapid Development, many years ago. Though very different books, I think Dave's also has that "handbook" nature. A book that you read once, but come back very often to look for ideas, concepts, etc. I hope Dave does not mind about my comparison.

    Thanks Dave!
    11 people found this helpful
    Report
  • Reviewed in the United States on February 1, 2022
    About 1/2 way through Dave Farley’s book at this point. I had an item in my ready column related to improving the performance of a query that is core to my new product. After reading the chapter on #empiricism and #experimentation I sat down this morning and set up an experiment with code that generated clear measures as a baseline. Then I set about #refactoring and ensuring I wasn’t more than a few undos from green tests. As I progressed I continued to compare my new measures.

    After about 2 1/2 - 3 hours of refactoring I had achieved a 15x improvement and the queries are now “fast enough” to please my future customers. I was planning on doing this work anyways, but I think that what I had just read the night before pushed me towards a very disciplined, more scientific approach. I doubt that with a looser approach that I would have achieved that much improvement in such a short time.

    I was prepared to #git reset and toss the work. I had no presupposition that it would be successful. It turned out to be completely worthwhile and an improvement to the codebase, to boot.

    There is a difference between #development and #engineering.

    Thanks, Dave.

    #softwareengineering #softwaredevelopment #science #engineering
    16 people found this helpful
    Report
  • Reviewed in the United States on April 21, 2024
    Looks like the author needed to fill up a lot of pages. No real examples, ambiguous. Too abstract for me.
    2 people found this helpful
    Report
  • Reviewed in the United States on March 10, 2025
    The ideas presented in this book aren’t new but it’s surprising how many engineers do not follow them. The book does a decent job of explaining them, justifying the, and substantiating them. David’s writing isn’t the easiest to read and it does get pedantic but it’s worth going through this for the benefits you get.

Top reviews from other countries

Translate all reviews to English
  • Roger
    5.0 out of 5 stars Great material with excelent topics
    Reviewed in Canada on June 6, 2022
    I loved this book, from start to end. All topics were well founded with a good amount of good examples. I understand that people expect more practical examples with real scenarios, but as stated by David, the book is not a recipe to achieve quality, but a foundation based on ingredients that are likely to lead your development to success. The examples given were simple, to illustrate and have a starting point to describe an idea. It's not only about coding my fellow friends, it's much more.
  • Daniel
    5.0 out of 5 stars Great book about what's important to write good software
    Reviewed in Germany on November 24, 2024
    Describes many important concepts, and makes clear why those concepts matter.
    Such concepts are incrementalism, feedback, separation of concerns, abstraction, ...

    Some technical concepts are explained somewhere else in more depth, but I think that's fine: The book provides a good overview.
  • Stefan Lecho
    5.0 out of 5 stars Interesting book for all software engineers
    Reviewed in Belgium on July 5, 2024
    A collection of interesting approaches and insights on how to become or remain a modern software engineer.
  • Filippo G.
    2.0 out of 5 stars E allora?
    Reviewed in Italy on May 22, 2024
    Sono rimasto abbastanza deluso da questo libro. Solite cose che si leggono ovunque riguardo al Software engineering. Molte ripetizioni di concetti e spesso sembra di aver già letto un paragrafo…
    Con questo prezzo, Avrei decisamente preferito un libro più coinciso e più approfondito.
    Report
  • Oliver Hall
    5.0 out of 5 stars Essential Reading
    Reviewed in the United Kingdom on July 20, 2022
    I bought this book for myself after watching Dave Farley's YouTube channel. I've now bought a second copy for the office library and I'm suggesting that everyone in my development team reads it. For me, this is pure gold. Yes, you can get some of the info online - what can't you get online these days? - but this book consolidates many of the crucial principles of software design into a coherent guide to, hopefully, convince more developers that you can set yourself up for good (or at least better!) design and there is a tangible payoff if you do.

    If you do what I normally do and read the best, and the worst, reviews for a product before buying, you'll see comments about this book being repetitive, lacking actionable advice and lacking examples.

    Are the concepts in this book repeated - sometimes, yes. Ideas like separation of concerns and testability crop up throughout the book. There's a reason for that. The are fundamental to achieving good design (which is where this book is trying to take us) and if that means some of those points need to be hammered home a little bit harder, so be it.

    Lacking actionable advice? I don't get this criticism at all. The book is literally a guide on what you should strive to do to make better quality software. Make your designs testable. Achieve that with tools like TDD and CD for fast feedback. In the process you will achieve coherent design, separation of concerns and practice the correct degree of coupling. All of this is actionable - you many need to read more deeply into those concepts to apply them, but that's on the negative reviewer, not the author.

    Lacking examples? There isn't a LOT of code, but where it's helpful to illustrate a point more clearly there are examples, and I liked the fact that the author mixes up languages to show that none of this stuff is dependent upon the IDE, OS, or language du jour - these all come and go, but the good practice that this book advocates isn't a "fashionable" thing. It's just "good". My hunch is that this criticism comes from those with little actual experience, looking to be spoon fed the Fred Brooks' magic (silver) bullet. Hard luck guys - developing good quality software takes some effort, and that effort comes in the form of lots of learning, before you've writing your first lines of code.

    Having tried to be a better software engineer throughout my career, I've found that things don't always work out first time, or second, or third, but the more you practise good practice, the more effective it becomes. This book has reinforced the ideas I'm encouraging in our team and added clarity around areas that I had an intuitive feeling for, but not the experience to back up that feeling.

    This is a GREAT book. Buy it, read it, practise the techniques Dave Farley advocates. We all owe that to the profession.