Looking to put together a collection of like four to six textbooks that cover enterprise software development best practices and patterns.

Anything on python/git/devops would also be a good addition.

Note that I've been coding for 20 years, so I'm not a neophyte. Basically looking for procedures documentation rather than "how to" tips.

Any recommendations?

@trhr Building Microservices: Designing Fine-Grained Systems
by Sam Newman

Microservices Patterns
by Chris Richardson

Patterns of Enterprise Application Architecture
by Martin Fowler

Other books by Martin Fowler too

@urusan Fowler came up in some other recommendations, but his books are a decade old. Still relevant?

@trhr Martin Fowler is still relevant in the way someone like Fred Brooks (Mythical Man Month) is still relevant. It's a classic, but as you read through you'll find aspects that are very old-timey, so you have to sift the wheat from the chaff.

In MMM for instance, Brooks proposes an ideal, slim, 10-person team for programming, of which several are secretaries. Even among the engineering crew, you have roles that are basically version control, API documentation, the compiler toolchain, etc.


@trhr Fowler is, of course, much more recent, so this effect is not as extreme. He was working in a basically modern environment, so the main changes are lessons learned about practice and updates to languages, tools, and compilers.

Also, Fowler has a website with up to date versions of everything.

His original books were also timed interestingly, giving a broader view of enterprise architecture than more modern books, which tend to pick a lane (ex. only microservices).

@trhr So to sum it up, yes, they are still relevant BUT they aren't the most efficient option either.

If you take a more academic mindset with them, then they will provide a broad base and a lot of insight, in conjunction with more modern books or Fowler's own more recent material.

That's why I listed the Microservices book first, it encapsulates modern practice well and is the book for the busy practitioner. The main downside being that it only teaches one narrow view of modern practice.

@trhr Despite my talking about the value of having a broad architectural base, microservices really is the premiere enterprise architectural paradigm today.

It leads to a night and day difference from more traditional approaches.

Also, all of this is focused on enterprise development, which is basically defined as any development in which flexibility is paramount, because business needs change all the time.

Games, embedded software, etc. have different architectural needs and patterns.

@urusan i'm fully aware of the microservices approach, but i've never read a book on it. this'll be a good opportunity to learn what the eggheads think about my stack!

Sign in to participate in the conversation

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.