Buying Options
Digital List Price: | $31.99 |
Kindle Price: | $23.99 Save $8.00 (25%) |
Your Memberships & Subscriptions

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle Cloud Reader.
Using your mobile phone camera - scan the code below and download the Kindle app.
Code That Fits in Your Head: Heuristics for Software Engineering (Robert C. Martin Series) Kindle Edition
Mark Seemann (Author) Find all the books, read about the author, and more. See search results for this author |
Price | New from | Used from |
"Mark Seemann is well known for explaining complex concepts clearly and thoroughly. In this book he condenses his wide-ranging software development experience into a set of practical, pragmatic techniques for writing sustainable and human-friendly code. This book will be a must-read for every programmer."
-- Scott Wlaschin, author of Domain Modeling Made Functional Code That Fits in Your Head offers indispensable, practical advice for writing code at a sustainable pace and controlling the complexity that causes projects to spin out of control.
Reflecting decades of experience helping software teams succeed, Mark Seemann guides you from zero (no code) to deployed features and shows how to maintain a good cruising speed as you add functionality, address cross-cutting concerns, troubleshoot, and optimize. You'll find valuable ideas, practices, and processes for key issues ranging from checklists to teamwork, encapsulation to decomposition, API design to unit testing.
Seemann illuminates his insights with code examples drawn from a complete sample project. Written in C#, they're designed to be clear and useful to anyone who uses any object-oriented language including Java , C++, and Python. To facilitate deeper exploration, all code and extensive commit messages are available for download.
- Choose mindsets and processes that work, and escape bad metaphors that don't
- Use checklists to liberate yourself, improving outcomes with the skills you already have
- Get past “analysis paralysis” by creating and deploying a vertical slice of your application
- Counteract forces that lead to code rot and unnecessary complexity
- Master better techniques for changing code behavior
- Discover ways to solve code problems more quickly and effectively
- Think more productively about performance and security
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
- LanguageEnglish
- PublisherAddison-Wesley Professional
- Publication dateNovember 2, 2021
- File size34025 KB
![]() |
Customers who viewed this item also viewed
Editorial Reviews
Review
--Adam Ralph, speaker, tutor, and software simplifier, Particular Software
"I've been reading Mark's blogs for years and he always manages to entertain while at the same time offering deep technical insights. Code That Fits in Your Head follows in that vein, offering a wealth of information to any software developer looking to take their skills to the next level."
--Adam Tornhill, founder of CodeScene, author of Software Design X-Rays and Your Code as a Crime Scene
"My favorite thing about this book is how it uses a single code base as a working example. Rather than having to download separate code samples, you get a single Git repository with the entire application. Its history is handcrafted to show the evolution of the code alongside the concepts being explained in the book. As you read about a particular principle or technique, you'll find a direct reference to the commit that demonstrates it in practice. Of course, you're also free to navigate the history at your own leisure, stopping at any stage to inspect, debug, or even experiment with the code. I've never seen this level of interactivity in a book before, and it brings me special joy because it takes advantage of Git’s unique design in a new constructive way."
--Enrico Campidoglio, independent consultant, speaker and Pluralsight author
"Mark Seemann not only has decades of experience architecting and building large software systems, but is also one of the foremost thinkers on how to scale and manage the complex relationship between such systems and the teams that build them."
--Mike Hadlow, freelance software consultant and blogger
"Mark writes, 'Successful software endures'--this book will help you to write that kind of software."
--Bryan Hogan, software architect, podcaster, blogger
"Mark has an extraordinary ability to help others think deeply about the industry and profession of software development. With every interview on .NET Rocks! I have come away knowing I would have to go back and listen to my own show to really take in everything we discussed."
--Richard Campbell, co-host, .NET Rocks! --This text refers to the paperback edition.
About the Author
Product details
- ASIN : B09D2X43VX
- Publisher : Addison-Wesley Professional; 1st edition (November 2, 2021)
- Publication date : November 2, 2021
- Language : English
- File size : 34025 KB
- Simultaneous device usage : Up to 5 simultaneous devices, per publisher limits
- Text-to-Speech : Enabled
- Screen Reader : Supported
- Enhanced typesetting : Enabled
- X-Ray : Not Enabled
- Word Wise : Not Enabled
- Print length : 416 pages
- Lending : Not Enabled
- Best Sellers Rank: #135,999 in Kindle Store (See Top 100 in Kindle Store)
- #6 in C# Programming (Kindle Store)
- #16 in C# Programming (Books)
- #57 in Software Development (Kindle Store)
- Customer Reviews:
About the author

Mark Seemann is a Danish software developer based in Copenhagen, Denmark. His professional interests include functional programming, object-oriented development, as well as software development in general. Apart from writing two books he has also written numerous articles and blog posts about related topics.
Despite being mostly a .NET developer he takes most of his inspiration from sources across a wide range of technologies, including Haskell and lots of pattern books.
Originally poised to become a rock star or (failing that) graphic novelist (in the European tradition) he one day found himself with insufficient talent for either, a masters degree in Economics, and a desire for working with computers. He has been doing the latter intermittently since 1995.
When not working with software or spending time with his family, Mark enjoys reading, listening to and playing music, as well as preparing or consuming gourmet food and wine.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
It was definitely worth the purchase, and I'd definitely recommend it to others.
If there's any one thing I'd love to see improved upon in future editions would be that I think it could use a bit of work at the organizational level. The organization, as it currently stands, is basically, "Let's build a project, and I'll introduce you to various good ideas as they are relevant as we're building this." The various principles that came up rang true to me, but going through the book, it just didn't feel like there was a lot of cohesiveness to the ideas that were brought up. I was left wondering if the particular project had been a different one, if we'd have bumped into a totally different set of good ideas to discuss instead.
It was hard to spot the thesis of the book. From the title, I had assumed it was focused on the task of ensuring code is written and structured in a way that makes it easy to figure out and remember for the duration of the time you're working on it. The concept of "code that fits in your head" was one of the many ideas that popped up in the book and was referred back to several times, but it didn't come across as the central tenet of the book, from which every other principle derived from, as I had assumed.
Perhaps you'll appreciate the book a bit more if you go into it knowing that it isn't *specifically* or *only* about writing code that fits into your head, but, rather, a grab bag of good ideas that help you write better code.
It was a good book, worth the money and time I spent on it, just a bit different than I had expected it to be.
The bibliography at the back of the book is a great source of info to follow your curiosity where it leads you, and the author's consistent use of references within the book makes finding things there easy. I found myself heading off to read blog articles, watch videos, and I put several interesting books on my 'must read' list.



Top reviews from other countries

Bei einigen Tipps und Heuristiken musste ich stark den Kopf schütteln. Sie wirken für mich aus der Zeit gefallen. Ein konkretes Beispiel wäre die unterschiedliche Behandlung bezüglich Abstraktionen von Test und Produktivcode. Bitte befolgt das nicht blind.
Ich habe die Kindle Version gelesen, die zusätzlich diverse Zeichensatzfehler hat. 2011 habe ich das sehr gute Dependency Injection in .NET von Mark Seemann gelesen und angenommen, dass hier die Essenz von 10 weiteren Jahren in der Softwareentwicklung zu finden ist.

Hat auf jeden Fall gute Ansätze, um die eigenen Gedanken so zu ordnen, damit andere (oder man selbst Monate später) besser und sicherer damit umgehen können.
Natürlich darf TDD etc. nicht fehlen - wenn auch berechtigter weise.

