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 Patterns of Enterprise Application Architecture

    Patterns of Enterprise Application Architecture

    Martin Fowler · 2002

    A handbook for enterprise system developers guiding them through the intracacies and lessons learned in enterprise application development. Patterns are supported by code examples, in both Java and C#.

    ProgrammingSoftware Engineering
    Open LibraryAmazon
    Stats for nerds
    34recommend
    87mentions
    76people
    2009–2026years
    45% recommend47% neutral8% critical

    Mentions per year

    2009201120132015201720192021202320252026

    What Hacker News says

    1. jdlshoreJul 2026
      I’m not really a fan of the ideas. They’re not wrong, exactly, but I think they’re overstated. Instead, here’s some alternatives:

      For design, Evans’ Domain-Driven Design does a good job of representing classic object-oriented design, and Fowler’s Patterns of Enterprise Application Architecture is good for expanding past business logic to larger systems.

      For coding habits, “The Pragmatic Programmer” is a classic for a reason.

      thread
    2. ciemborApr 2026
      I built a small repo of ready-to-use project rules for AI coding agents, based on classic software engineering books.

      Supported tools:

      - Codex: AGENTS.md

      - Cursor: .cursor/rules/.mdc

      - Claude Code: .claude/rules/.md

      Books included:

      1. A Philosophy of Software Design — John Ousterhout

      2. Clean Architecture — Robert C. Martin

      3. Clean Code — Robert C. Martin

      4. Code Complete — Steve McConnell

      5. Designing Data-Intensive Applications — Martin Kleppmann

      6. Domain-Driven Design — Eric Evans

      7. Domain-Driven Design Distilled — Vaughn Vernon

      8. Implementing Domain-Driven Design — Vaughn Vernon

      9. Patterns of Enterprise Application Architecture — Martin Fowler

      10. Refactoring — Martin Fowler

      11. Release It! — Michael T. Nygard

      12. The Pragmatic Programmer — Andrew Hunt and David Thomas

      13. Working Effectively with Legacy Code — Michael Feathers

      The idea is not to summarize or replace the books, but to turn their engineering principles into practical instructions that can guide agent behavior during implementation, refactoring, review, and testing.

      Repo: https://github.com/ciembor/agent-rules-books

      Have fun, Maciej Ciemborowicz

      thread
    3. jjiceJan 2025
      My personal favorites:

      - Patterns of Enterprise Application Architecture (Martin Fowler) - early-mid 2000s and it stays valuable to this day. It's nice to have a formalized view of concepts you know in practice.

      - Clean Architecture (Robert Martin) - Great application architecture concepts being formalized

      - Designing Data Intensive Applications (Martin Kleppmann) - Fantastic perspective on your application's data. This is probably the most recommended book I've seen on Hacker News.

      - SQL Performance Explained (Markus Winand) - Just a killer, concise book to make you truly understand basic DB performance, specifically with indexes. I've met so many developers (myself included before this book) who thought any index will work and then they'd just wing it. Your RDBMS has tools for finding the best optimizations in your queries and you should use them. Your indexes are also more picky than you may think, but they're also incredibly fast if you place them correctly. It's a lot easier to see once you understand.

      thread
    4. 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
    5. hoerzuDec 2024
      Here is a list so far: - Designing data intensive applications

      - Just Enough Software Architecture

      - Domain Driven Design - Tackling Complexity in the Heart of Software (Eric Evans) I recommend this one more than Vaughn Vernon's DDD.

      - Clean Architecture (Robert Martin)

      - Fundamentals of Software Architecture: an Engineering Approach

      - Design Patterns (Gamma et al)

      - Site Reliability Engineering: How Google Runs Production Systems

      - Refactoring: Improving the Design of Existing Code (2nd Edition) (Addison-Wesley Signature Series (Fowler))

      - Refactoring to Patterns

      - Patterns of Enterprise Application Architecture

      -Head First Design Patterns Building Extensible and Maintainable Object Oriented Software and I

      - https://www.youtube.com/watch?v=odxOPxYJdjg

      - "Architecture Modernization: Socio-technical alignment of software, strategy, and structure"

      - Software Architecture in Practice

      - Documenting Software Architectures: Views and Beyond

      - Head first: Software Architecture

      thread
    6. matt_sNov 2024
      I have another book recommendation: Patterns of Enterprise Application Architecture, M. Fowler. If you don't want to purchase or just want a sampling read thru the catalog of patterns. https://martinfowler.com/eaaCatalog/

      Another book recommendation is Head First Design Patterns - the one I read used Java in the examples but I learned better with the style of that book than a textbook style. There are probably a lot of design patterns books out there including the original by the "Gang of Four".

      The most important thing after reading about these patterns is learning when to use one and to do that you just need to go use them. Some caution though, I found myself putting patterns into use more frequently than was probably necessary simply because it was a new thing.

      thread

    Related

    Cover of Domain-Driven Design
    2007–2026

    Domain-Driven Design

    Eric Evans
    104 recommend · 252
    Cover of Enterprise integration patterns
    2008–2026

    Enterprise integration patterns

    Gregor Hohpe
    23 recommend · 34
    Cover of Refactoring
    2007–2026

    Refactoring

    Martin Fowler
    94 recommend · 179
    Cover of Software architecture in practice
    2010–2025

    Software architecture in practice

    Len Bass
    2 recommend · 8
    Cover of The architecture of open source applications
    2011–2026

    The architecture of open source applications

    Amy Brown
    204 recommend · 257
    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846
    Cover of Fundamentals of Software Architecture
    2020–2025

    Fundamentals of Software Architecture

    Mark Richards
    12 recommend · 17
    Cover of Analysis Patterns
    2008–2024

    Analysis Patterns

    Martin Fowler
    6 recommend · 11