Get Free Shipping on orders over $79
Modern Software Engineering : Doing What Works to Build Better Software Faster - David Farley

Modern Software Engineering

Doing What Works to Build Better Software Faster

By: David Farley

Paperback | 26 January 2022 | Edition Number 1

At a Glance

Paperback


RRP $67.16

$52.75

21%OFF

or 4 interest-free payments of $13.19 with

 or 
In Stock and Ships in 1-2 business days
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.
Industry Reviews
" 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

More in Computing & Programming Higher Education Textbooks

The C Programming Language : Prentice Hall Software - Brian Kernighan

RRP $107.04

$75.75

29%
OFF
Artificial Intelligence : A Modern Approach, 4th Global Edition - Peter Norvig
Computer Systems 3ed : A Programmer's Perspective, Global Edition - David O'Hallaron
Design Patterns : Elements of Reusable Object-Oriented Software - Erich Gamma
Microsoft Power BI Dashboards Step by Step : Step by Step - Errin O'Connor
Computer Networking, Global Edition : 8th edition - James Kurose

RRP $186.38

$138.75

26%
OFF
C++ How to Program, Global Edition : 10th Edition - Paul Deitel

RRP $167.95

$133.75

20%
OFF
Crafting an Information Security Playbook - Brandon Enright

RRP $95.00

$43.75

54%
OFF
Object-Oriented and Classical Software Engineering - Global Edition : 8th Edition - Stephen R. Schach
Python Cookbook : Recipes for Mastering Python : 3rd Edition - David Beazley
Business Data Communications and Networking : 14th Edition - Jerry FitzGerald