Modern Software Engineering: Doing What Works to Build Better Software Faster
$0.99
Price: $0.99
(as of Oct 02, 2024 21:52:36 UTC – Details)
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.
PLEASE NOTE: When you purchase this title, the accompanying PDF will be available in your Audible Library along with the audio.
Customers say
Customers find the book very good and excellent for students in this field. Opinions are mixed on the advice level, with some finding it great and thorough, while others say it lacks examples and pointed proof.
AI-generated from the text of customer reviews
13 reviews for Modern Software Engineering: Doing What Works to Build Better Software Faster
Add a review
You must be logged in to post a review.
$0.99
Jin-Fay –
Every software and engineering company should value these ideas
Every software and engineering company should value these ideas, which distill the real essence of important differentiators in engineering.Starting with understanding how Test Driven Development and Continuous Delivery apply and enable the scientific process to software engineering, the author builds to describing some fundamental principles which can be applied more generally than software, and often with greater effect and impact on positive outcomes than some traditionally debated decisions like which language to use.
Maciej –
Must Read
It turns out that books about best practices in software are always going to surprise me. They all speak about the same thing over and over again, and yet, these things are still not widely used.Itâs important that business owners read that book too. They may understand that itâs not a number of developers that makes a difference but the skilled engineers that do.
Joe Lynch –
Building good software is simple — but not easy.
When Dave Farley speaks or writes I pay attention. The CD book blew me away in 2010. This book doesn’t add many new concepts or ideas to the discussion of what good software engineering looks like. But that’s ok. It pulls a lot of apparently disparate things together at various levels of detail and helps you see how they relate to one another. It takes some positions that I don’t necessarily agree with but any book worth reading should challenge your thinking. For example, it pushes TDD hard. I’m sorry, but the experience of many (I’d say most) is that (new of modified) tests being accompanied by a change during any checkin is more important than how you achieve that outcome. I tire when people suggest that TDD is the only way to do that. My point here is an illustration of outcome mattering more than mechanism, ironically covered in the last chapter of the book. That said, the book is loaded with sound advice, backed by experience that few people can match. Definitely worth a read.
Jim Speaker –
Engineering > Development – nice work, Dave.
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
Cliente Kindle –
Puts engonerrong back into software development!
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!
wes68 –
Somewhat chaotic
This book was written by taking a few good ideas and principles (stability, throughput, high cohesion, low coupling, abstraction, test-driven development, etc.), mixing them in a blender, and pouring it out for the reader to drink.
Larry Christensen –
Software Engineering as Engineering
I have always firmly believed that software engineering can and should be approached as, well, an engineering discipline. This book provides strong arguments that validate that belief and provides great practical advice on how to apply design engineering principles to software development. I highly recommend it to anyone involved in producing software, engineers and managers alike.
Hector Diaz –
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.
Roger –
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.
Stefan Lecho –
A collection of interesting approaches and insights on how to become or remain a modern software engineer.
Filippo G. –
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.
Ryan Gallagher –
A very useful run-through of concepts for approaching matters relating to development. Placing development within the context of empirical discovery and science is very beneficial for the developer seeking the âbig pictureâ. The book is also valuable as an entry point to branch out to other resources that the author cites.
Buchner –
He compares engineering allot with software development. One has an hypothesis and tries to confirm or reject it via tests and experiments on the software stack on hand.Overall it is a great read.