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 The clean coder

    The clean coder

    Robert C. Martin · 2011

    In the Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship.

    ProgrammingSoftware Engineering
    Open LibraryAmazon
    Stats for nerds
    53recommend
    95mentions
    85people
    2010–2025years
    62% recommend28% neutral9% critical

    Mentions per year

    201020122014201620182020202220242025

    What Hacker News says

    1. KronisLVDec 2024
      > But even then, I'm afraid I am not producing the software to the highest standards of the industry since we don't have any rigorous cross-checking,

      I wouldn't worry about this too much. As long as what you're doing seems to vaguely match whatever information about best practices you can find online, you're probably good. As long as you're not inventing your own security tech, using floating point values for financial data or reusing feature flags in a high frequency trading scenario, any bad decisions made along the way probably won't be catastrophic and are more likely to be learning experiences.

      More eyes on code is a good thing, but can go too far where a person is cargo culting their beliefs and subjective experience as objective things, leading you to learn the wrong stuff, or at least to a degree where you have an irrational attachment to some practices (e.g. some people always lean towards EAV in DB design, even though that practice has a time and place, same for microservices vs monoliths vs modular monoliths etc.).

      > ...and might be missing out on a lot of learning.

      This is probably what you should focus on. See if you can attend industry events, watch some talks done by people who've been in the industry for a long time, there's actually lots of nice stuff on YouTube that's not just advertisement for the latest technology or practice. Here's some people whose content I enjoy:

        Dylan Beattie
        Venkat Subramaniam
        Kevlin Henney
      
      Maybe look at some of the better received books. Here's a starting point:

        A Philosophy of Software Design
        Algorithms
        Building Secure & Reliable Systems
        Clean Architecture A Craftsman Guide to Software Structure and Design
        Clean Code
        Code Complete
        Design Patterns  Elements of Reusable Object-Oriented Software
        Next-Level Database Techniques For Developers
        Patterns of Enterprise Application Architecture
        Peopleware
        SQL Antipatterns
        The Clean Coder
        The Mythical Man Month
        The Pragmatic Programmer
        Working Effectively With Legacy Code
      
      Again, take none of that as gospel, but maybe give them a passing glance.

      Also, props to whoever mentioned learning by doing in a low stakes environment (side projects) and online communities!

      thread
    2. skydhashApr 2024
      Depends on the audience. Generally, it's always "Getting Things Done" and "So Good They Can't Ignore You". For fellow programmers it's "Clean Coder" and "The Pragmatic Programmer". And I always wish my managers and tech leads read "The Mythical Man-Month".
      thread
    3. jjiceJan 2024
      I personally don't like Clean Code, but understand that a lot of people I respect do. I do want to throw Clean Architecture into the ring though since we're in the topic.

      That book is a top three software book for me. It made me understand why OO is a thing and what concepts I should pretty much always use from that ecosystem.

      The concept of interfaces (not just the programming construct, but the general idea) was massive and it changed my view on the testability of code.

      Martin has some other good stuff related to professionalism as a programmer. He has a few talks and The Clean Coder and those are absolutely worth it as well.

      thread
    4. Java4StLNov 2023
      From an Object Oriented Design point-of-view (Java/C++/C#), there are some basic design principles to understand that form the foundation the patterns and frameworks are built on. Many times, understanding these principles and related patterns describe how frameworks and systems operate. The first 4 items are principles and the remaining items are books to read that describe these principles and techniques to leverage them and ways to approach software architecture and development.

      1.) Understand the SOLID principles and WHY they matter: -Single Responsibility Principle -Open-Closed Principle -Liskov Substitution Principle -Interface Segregation Principle -Dependency Inversion Principle

      2.) Understand the 4 principles of Object Oriented Design and WHY they matter: -Abstraction -Encapsulation -Inheritance -Polymorphism

      3.) Understand the 3 types of design patterns: Creational, Structural, and Behavioral. Understand the problem each solves, their respective uses, and which principles they either implement or achieve.

      4.) If you write web services (i.e. SOAP/REST), understand the 12 principles of Service Oriented Architecture (i.e. no God classes). Microservices have their own patterns you can explore like Strangler, Saga, orchestration, choreography, etc.

      5.) Read "Refactoring" by Martin Fowler (1999) - great book that describes how to approach refactoring application logic safely with improved results, like how to approach a refactoring huge (hard to test and maintain) block of if/else's into a Strategy Pattern, as an example.

      6.) Read books written by "Uncle Bob", Robert C Martin: a) Clean Code: A Handbook of Agile Software Craftsmanship (2009) b) Clean Coder: A Code Of Conduct For Professional Programmers (2011) c) Clean Architecture: A Craftsman's Guide to Software Structure and Design. (2017)

      7.) READ "Design Patterns" by the "Gang of Four" (GoF) as they're known, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995). THIS IS MINIMUM CRITICAL KNOWLEGE.

      8.) Read "Domain Driven Design" by Eric Evans (2004).

      I hope you don't view the reading this as punting the answer, but time spent reading any of those should help you in your quest to get better at software architecture.

      thread
    5. jjiceAug 2023
      I wasn't a huge fan when I read it a year or two ago. It's fine, but I think that there are a lot of things that just aren't that clean (which is a subjective take). Uncle Bob in general though is a favorite of mine. Highly recommend Clean Architecture, Clean Agile, and The Clean Coder.
      thread
    6. summertime42Dec 2022
      I have all of these on my shelf. Fantastic reads.

      * Extreme Programming Explained by Kent Beck

      * Clean Code and The Clean Coder by Robert C. Martin

      * Soft Skills by John Sonmez (1st edition)

      * Pragmatic Programmer by Andrew Hunt and David Thomas

      * Working Effectively with Legacy Code by Michael Feathers

      * The Mythical Man-Month by Frederick Brooks

      (Selfish plug) Additionally, I wrote my own book concerning the entire industry, from just starting out to becoming a self employed consultant when you get sick of fulltime work - all soft skills from my decade or so of the industry, as well - https://www.amazon.com/dp/B0B43V1JJW

      thread

    Related

    Cover of Clean Code
    2008–2026

    Clean Code

    Robert C. Martin
    298 recommend · 951
    Cover of Clean Architecture
    2012–2026

    Clean Architecture

    Robert C. Martin
    47 recommend · 142
    Cover of Clean Agile
    2020–2025

    Clean Agile

    Robert C. Martin
    3 recommend · 8
    Cover of The Pragmatic Programmer
    2007–2026

    The Pragmatic Programmer

    Andy Hunt
    353 recommend · 700
    Cover of Code Complete
    2007–2026

    Code Complete

    Steve McConnell
    393 recommend · 894
    Cover of Working effectively with legacy code
    2008–2026

    Working effectively with legacy code

    Michael C. Feathers
    186 recommend · 315
    Cover of Programming in the 1990s
    2016–2026

    Programming in the 1990s

    Edward Cohen
    1 recommend · 13
    Cover of The C Programming Language
    2007–2026

    The C Programming Language

    Brian W. Kernighan
    246 recommend · 604