Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Tidy First?

    Tidy First?

    Kent Beck · 2023

    "Messy code is a nuisance. ""Tidying"" code, to make it more readable, requires breaking it up into manageable sections. In this practical guide, author Kent Beck, creator of Extreme Programming and pioneer of software patterns, suggests when and where you might apply tidyings to improve your code while keeping the overall structure of the system in mind. Instead of trying to master tidying all at once, this book lets you try out a few examples that make sense for your problem. If you have a big function containing many lines of code, you'll learn how to logically divide it into smaller chunks. Along the way, you'll learn the theory behind software design: coupling, cohesion, discounted cash flows, and optionality. This book helps you: Understand the basic theory of how software design works and the forces that act on it Explore the difference between changes to a system's behavior and changes to its structure Improve your programming experience by sometimes tidying first and sometimes tidying after Learn how to make large changes in small, safe steps Approach software design as an exercise in human relationships".

    Programming
    Open LibraryAmazon
    Stats for nerds
    8recommend
    23mentions
    17people
    2023–2026years
    39% recommend48% neutral13% critical

    Mentions per year

    2023202420252026

    What Hacker News says

    1. skydhashDec 2025
      The "Sun Eater" series (7 books) by C. Ruocchio have the final book published this year. Dune vibe/A bit of Warhammer.

      "Simplicity" by Dave Thomas is in the same vein of "The Pragmatic Programmer". Worth a quick read.

      "Tidy First?" by Kent Beck is another one that's worth a quick read.

      thread
    2. KerrickDec 2025
      Cal Newport, So Good They Can't Ignore You. This book convinced me to stop widening my skillset by beginning again, and start doubling down on my strengths.

      Gene Kim et al., The Phoenix Project. This book reinvigorated my love for management, which I lost in 2021–2022. I'm still an IC, but I decided to stop refusing management roles.

      Kent Beck, Extreme Programming Explained, 2nd Edition. This book lit a fire under my ass to figure out better ways of working. I followed it up with the next one in a book club at work.

      James Shore et al., The Art of Agile Software Development, 2nd Edition. This book gave me hope that a productive, humanist, productivity-oriented workflow can work in today's software world. I read it with my teammates in a book club at work, including the software engineers, QA tester, product owners, and UX designer. Unfortunately the rest of my team had little interest in putting it into place where I work.

      Robert C. Martin,

      Clean Architecture. This book was a delightful read. Uncle Bob weaved practical advice together with stories from his past that served both to illustrate his points and to entertain. While I don't agree with every word in the book (e.g. Screaming Architecture), I still recommend it to every Senior+ Software Engineer.

      Eric Evans,

      Domain-Driven Design: Tackling Complexity in the Heart of Software. Aside from its amazing content, this book has some of the best typesetting I've ever seen. I sought out a font that is a match (or near-match) and reverse-engineered the letter spacing, line height, heading font sizes, etc. Its content was great too, but I was glad to have read Vaughn Vernon's DDDD first.

      Vaughn Vernon,

      Domain-Driven Design Distilled. This book followed up Shore's work in our book club at work. Everybody on the team really liked what they read, but nobody felt like they had actionable insights. So the engineers went on to read Vernon's IDDD, and the non-engineers read Adzic's IM and Patton's USM.

      Vaughn Vernon,

      Implementing Domain-Driven Design. I read this book with a book club at work. While Evans's work was well-grounded in theory and left a lot of interpretation in the patterns behind DDD, Vernon is a practical, nuts-and-bolts DIY guide to one approach to DDD. Luckily, these tactics resonated with my team and our codebase has seen marked improvements in the past few months. I'm looking forward to our process catching up so we can do more than "DDD Lite."

      Jeff Patton,

      User Story Mapping. This book was fun, practical, and completely outside any way I'd ever worked. It also helped me understand exactly why I've failed every time I tried to make my own SaaS startup on nights and weekends.

      Gojko Adzic,

      Impact Mapping. This book was basically a pamphlet. The process seems...good? But since I'm no longer in a role with the influence or authority to recommend product direction, I doubt I'll get much use out of this for a while.

      Tanya Reilly,

      The Staff Engineer's Path. This book wants to follow in the footsteps of Camille Fournier's The Manager's Path, but it seemed less specific and useful as a roadmap. Perhaps that's because of how different "Staff Engineer" is from company to company, at least when compared to the roles covered by Fournier. But it did help me earn my promotion to* Staff Engineer, so it was clearly worth reading.

      Tamar Rosier, Your Brain's Not Broken. This book was the second I read after I got diagnosed with adult ADHD. I appreciated that it helped me de-stigmatize, because I harbored some bummer feelings when I realized no actually I didn't grow out of it. It also helped me reflect on my habits of action, and see them in a new light. I was surprised to see how much of my anger and frustration in life was a coping mechanism to help me get things done. I've had a much calmer life since recognizing that.

      Alexander Tarlinder, Developer Testing. I'm not quite finished with this book, but I'll be done by the end of the year. It's been a great overview of automated testing from the perspective of a programmer. It helped refresh my memory on things I knew but forgot. It filled gaps that I had in my baseline knowledge. It corrected things I "knew" but was slightly incorrect about. I now recommend this to any programmer, whether or not they've got a habit of testing.

      Austin Kleon's trilogy: Steal Like An Artist, Show Your Work, Keep Going. These books were cute, full of incredibly quotable passages, and fun to read. I didn't spend enough time on them, though. A lot of the lessons I thought I'd learned left my brain like water through a sieve.

      Kent Beck, Tidy First?. This book helped me understand the economics of software through a new light. That was important to me, because during the time I spent as a Director of Software Engineering I was not given a budget and asked to manage the department's expenses.

      Antonio Cangiano, Technical Blogging, 2nd Edition. This book convinced me to start a blog. It was going really well, and then I shrank back from it due to fear of vulnerability. Since I got over those fears and started blogging again, it's been a lot of fun again. I incorporated what would've been tweets into the blog (as "quick posts") in addition to my longer-form, less-ephemeral content (as "articles"). Writing has been a great way to solidify what I've learned and distill my opinions. Heck, I should migrate this comment to my blog.

      I also read other books (especially on my journey to becoming a magician), but these were the ones I thought Hacker News might be most interested in.

      thread
    3. KerrickMar 2025
      Read books. Like, a lot of them.

      Start with Make It Stick (Brown et al.). Apply what this book teaches you to every one afterwards.

      Next, read and work through Exercises for Programmers (Hogan) and A Common Sense Guide to Data Structures and Algorithms (Wengrow).

      After you finish those two, read The Missing README (Riccomini et al.) and Extreme Programming Explained (Beck et al.). These two books provide very different viewpoints into the stuff that isn’t coding in a programming job.

      Assuming you’re using an OO language, follow that up with Object-Oriented Analysis and Design with Applications (Booch et al.) and Object Thinking. They contrast each other quite a bit; having both perspectives is handy.

      Once you’re through all those, I recommend Tidy First (Beck), Implementation Patterns (Beck), and Test-Driven Development By Example (Beck). These three books of his provide an incredibly accessible view into better ways to code.

      If you’re anything like me you get bored reading one book for too long. I’ve found that having a second book going that I can switch to is great for that. A parallel track with The Pattern On the Stone (Hillis), The Pragmatic Programmer (Thomas & Hunt), The Mythical Man-Month (Brooks), and How Computers Really Work (Justice) provides a reprieve and some technical and cultural context.

      thread
    4. switchbakMar 2025
      I'm not sure, perhaps this is an issue with how our craft is taught, but I think we're missing something when we talk about the (economic) tradeoffs when making these decisions.

      Keeping components simple, decoupled and with minimal dependencies allows for a high degree of optionality. When you pair this with a simple system that is easy to reason about - you're doing huge favours to your future self.

      On the other hand, hanging off a bunch of unused features, especially ones that have interacting configuration - that's more like adding lead weights to your future self. It weighs you down and adds friction. And we tend to do a terrible job of predicting our future needs.

      Kent Beck does a great job discussing the costs of these tradeoffs in his recent book "Tidy First". It builds upon the YAGNI principle, but adds a level of cost analysis that should allow you to sell these ideas to the managerial level.

      thread
    5. inanepenguinNov 2024
      While I understand the complaints against OOP, I highly recommend this book to anyone working in an environment where they're working with OOP languages/frameworks. There are plenty of Ruby/Rails shops out there still. At the very least I love the mentality that this book teaches and often recommend Tidy First by Kent Beck at the same time.
      thread
    6. perrygeoNov 2024
      Origin - A genetic history of the Americas by Jennifer Raff. Recent evidence of how humans came to the Americas; it's a significantly different story than our conventional wisdom account.

      Cows, Pigs, Wars, and Witches by Marvin Harris. How cultural norms establish collective behavior.

      The Extermination of the American Bison. Written in the late 1800s as the tragedy was unfolding. Lots on great detail on how and why we decimated a keystone species in a matter of a few decades.

      Plato's Revenge by William Ophuls. A concise manifesto on societal change. Lays out a vision for a new post-growth, post-oil, ecological consciousness that incorporates modern science, religion and philosophy.

      Four Thousand Weeks. Far from a self-help time-management book, this is more a philosophy book on human's relationship with time. Delightful read.

      Breath by James Nestor. Modern humans are breathing incorrectly due to factors of modern life. An exploration of the science and art of breathing properly.

      Bernoulli's Fallacy by Aubrey Clayton. In the statistical wars, this book takes a strong stance: Bayesian is unequivocally better. He exploses the racist/colonial history of frequentist statistics, as well as the fundamental flaws in their math. Posits that mis-applied frequentist methods are to blame for the reproducibility crisis in science.

      How the World Really Works by Vaclav Smil. A no-nonsense, factual account of the systems that keep our modern globalized society running.

      Elements of Clojure by Zach Tellman. A concise, high-level philosophy about how we build and compose abstractions. One of those books where every sentence is gold. My only wish that the book wasn't tied to Clojure (most of the book is applicable to any language, despite the title).

      Tidy First? by Kent Beck. How and when to make structural changes (refactoring, architecture, paying down tech debt) vs behavioral changes (new features, bug fixes). You need both, and you can use economic theory as a guide for when to invest in one or the other. But you need to treat them differently.

      Numerical Linear Algebra for Programmers by Dragan Djuric. A code-centric introduction to common linear algrebra routines, Using Clojure and the neaderthal library - a high-level API for fast math optimized for CPU and GPU hardware.

      thread

    Related

    Cover of Implementation patterns
    2010–2025

    Implementation patterns

    Kent Beck
    6 recommend · 7
    Cover of Smalltalk best practice patterns
    2009–2026

    Smalltalk best practice patterns

    Kent Beck
    17 recommend · 32
    Cover of Clean Architecture
    2012–2026

    Clean Architecture

    Robert C. Martin
    47 recommend · 142
    Cover of Code Reading
    2009–2026

    Code Reading

    Diomidis Spinellis
    11 recommend · 21
    Cover of Programming Pearls
    2007–2026

    Programming Pearls

    Jon Bentley
    158 recommend · 315
    Cover of Refactoring to Patterns
    2009–2026

    Refactoring to Patterns

    Joshua Kerievsky
    15 recommend · 25
    Cover of The Pragmatic Programmer
    2007–2026

    The Pragmatic Programmer

    Andy Hunt
    353 recommend · 700
    Cover of Clean Code
    2008–2026

    Clean Code

    Robert C. Martin
    298 recommend · 951