The moment you read the title of the book, you would think that the author would start with a discussion based on the coding habits of programmers, then pass on some tips on how to code efficiently, and even have detailed code examples to demonstrate the results. However, after reading the book, I realized that the author did not write for this purpose. It is hoped that through its rich project experience and life experience, it can tell us the attitude, principles, ethics and values that programmers should have, rather than just being limited to how to become an excellent typist. At the same time, through the introduction of agile development in the specific practice of the project let us know how to develop the project, how to ensure that the project in the context of changing requirements, still can be successfully completed.

Perhaps this is a book that every programmer should read. It not only tells you how to improve your coding, communication, and communication skills (skills that many programmers fail to develop), but it also brings to your attention the bad habits of thinking in the past. Every time I read the devil’s sayings (bad habits) in the book, I feel a sense of deja vu, which makes me sigh. If we don’t consciously cultivate good work and study habits, we may be deleted and eliminated just like those bad codes.

If your previous project experience did not follow the methods described in this book, you will feel a sense of discovery after finishing this book. We feel that even though the project is getting bigger and more complex, as long as we iterate in an agile way, we will still feel comfortable and not feel that the project will be out of control at any time, but only if we have a professional attitude towards the project, work, and career can agile methods work.

Finally, the book can be highly summarized into the following sentences, of course, I strongly suggest that you have time to read the book carefully!

Iterative development, value first

Break down tasks, real progress

Standing meetings, smooth communication

User participation to adjust direction

Pair programming, code quality

Test driven, safe and reliable

Continuous integration, early feedback

Automatic deployment and one-click installation

Review regularly for continuous improvement

Keep learning and improving your ability