Pinned Tweet
Announcing CodeLiftSleep's Architecture Lab, a YouTube Channel dedicated to helping developers leveling up their architecture and fitness.
The body doesn't operate in a vacuum, and I am a firm believer that to be your best mentally, you need to be at your best physically as well.
Every episode will contain Software Architecture topics as well as an evidence-based Fitness tip to support you physically on your journey as well.
The first episode in The Modern Architect's Career Playbook Series is "You're Already an Architect".
Check it out and let me know what you think: youtu.be/SCCA-9dXB0U
@ManningBooks
@ManningMEAP
#SoftwareArchitecture #SystemDesign #Fitness
This was such a great discussion about a very important topic!
How you work with AI Agents determines your results with them and if you have no process or you are just "shotgunning" it, your results will be highly variable.
The engineering process you normally use needs to be adapted for AI. At the end of the day, you are responsible for what goes into production, not the AI agent.
@ManningBooks @ManningMEAP
Developers fear what agents will do to their architecture, but agents can be great architects if you give them constraints to work within! 🎙️
My guest on The Next Commit this week is @codeliftsleep. Matt Erman is the author of Grokking Software Architecture. He shares some wise words on how we can maintain good architecture in the age of agents.
Listen: thenextcommit.substack.com/p…
CodeLiftSleep retweeted
Developers fear what agents will do to their architecture, but agents can be great architects if you give them constraints to work within! 🎙️
My guest on The Next Commit this week is @codeliftsleep. Matt Erman is the author of Grokking Software Architecture. He shares some wise words on how we can maintain good architecture in the age of agents.
Listen: thenextcommit.substack.com/p…
Understanding tradeoffs are one of the key aspects of software engineering/architecture and you are faced with them constantly.
Before making decisions, you MUST properly understand the tradeoffs to be able to make good ones.
Grokking Software Architecture helps you do exactly this.
Good software architecture means knowing how to weigh tradeoffs, work within constraints, and make decisions you can live with later.
Three books for sharpening that skill:
• Software Architecture Decision-Making: hubs.la/Q04z43VT0
• Grokking Software Architecture by @codeliftsleep: hubs.la/Q04z43Lp0
• Software Mistakes and Tradeoffs by @tomekl007 and @jonskeet: hubs.la/Q04z43sY0
You can get them as a part of our progressive sale this week: 30% off everything, 40% off $50+, or 45% off $100+.
Interested in making your codebsse better one fix at a time?
Follow this RED/GREEN regression test method for bug fixes.
You can thank me in 6 months.
And if you want to learn how to build systems that last, check out my book, Grokking Software Architecture from @ManningBooks found here:
hubs.la/Q04dH6BX0
If you still think "writing code" means software engineering is over, I suggest you don't actually understand what software engineering actually is.
Thr bad news? Grokking Software Architecture is no longer the Deal of the Day at Manning.
The great news? It's still 50% off during Manning's Labor Day sale!
Check it out below:
hubs.la/Q04dH6BX0
Sometimes writing faster software starts with understanding what's happening underneath it.
Whether you're sharpening your C, exploring Rust or Zig, or trying to understand why performance behaves the way it does, these books take you under the abstractions:
• Modern C, Third Edition
• Rust in Action by @timClicks
• Systems Programming with Zig
• Latency by @penberg
All four are included with Manning subscriptions — Annual Pro is 20% off through Sept. 7th: hubs.la/Q04wDVf20
Clean-CTX started from me asking something nobody else seemed to be: "Why are we sending source code to an LLM at all?"
It turned into something far greater than that.
How deep will this rabbit hole go? I have no idea, but trust that I will be exploring it fully.
Check out my latest LinkedIn article:
linkedin.com/pulse/i-started…
Deal of the Day for September 2nd: Modern Software Architecture!
Get half off my book, Grokking Software Architecture and other selected titles from @ManningBooks @ManningMEAP : hubs.la/Q03-d27Y0
A "contract" in software is often syntactically defined via keywords like Interface or Abstract Class.
But it doesn't HAVE TO BE.
A contract merely defines the "promise" your code makes about it's behavior and a behavioral contract is JUST AS VALID, as a syntax based one.
So for instance, when people state that JavaScript doesn't have "contracts", they are partially right. It doesn't have contracts defined through Syntax, but it DOES have contracts that can be defined through behavior, which are JUST AS VALID.
Key takeaway: whether you define a contract via interface, inherit from a base class or simply a throw inside a class that enforces a method being present in a subclass, to explicitly create the contract yourself, it does not matter.
All that matters is a promise is being made and whether it gets caught at compile time or run time, it will be the same result. An error. Now, obviously it's more helpful at compile time, and very few people are using plain JS anymore where they would have to manually enforce this. But the bigger point that many developers miss, is th underlying notion of what actually defines a contract, and it isn't a keyword.
Understanding this will make you a better architect in ANY language, and is what my book Grokking Software Architecture aims to teach.
Check it out here! hubs.la/Q04dH6BX0
@ManningBooks @ManningMEAP
Great architecture that stands the test of time doesn't "just happen". It's an intentional process that is followed day-to-day that produces it!
The same processes I use with AI are the same processes I use in my normal engineering.
Why? Because they are the SAME! The application of the process changes, the actual process does not.
AI can generate code faster. The more interesting question is whether it should generate that code at all.
@codeliftsleep has been testing an engineering process that makes AI examine architecture, validate assumptions, and question requirements before implementation. And his favorite result was, "Don't build it!"
See what happens when AI gets architectural guardrails, not just instructions: hubs.la/Q04v6QSz0
More in his book, Grokking Software Architecture: hubs.la/Q04v6VcT0
In 95% of cases, you don't need a better model. You need better architectural and engineering gates around the model that you are using.
I almost never use anything other than DeepSeek Flash 4 in my personal work or Claude Sonnet in my professional work.
Why? Because I have tremendous architectural and engineering gates and processes around it so that the constraints make better models nearly irrelevant.
I don't need more expensive models that make better "guesses" because I removed almost all the guesswork to begin with.
These are the type of thinking and architectural processes I teach in Grokking Software Architecture.
If you still haven't picked up your copy, what are you asking for?
Still in MEAP with 10 full chapters out and a significant online code repo supporting the chapters in 4 languages (C#, Java, JavaScript, Python).
Check it out here
hubs.la/Q04dH6BX0
@ManningBooks @ManningMEAP
Always remember, saying "I don't know, AI told me that was correct" still doesn't work in a code review when you get asked "Why did you do that?"
Own your decisions and be accountable!
AI can write code fast. The harder problem is reviewing it fast enough.
@codeliftsleep, author of Grokking Software Architecture, argues that AI works best as a pair programmer: guide it step by step, review constantly, and keep human approval between generated code and production.
Speed matters, but so does reliability, security, and maintainability.
Read his take: hubs.la/Q04sZzwb0
More from Matt: hubs.la/Q04sZF0_0
CodeLiftSleep retweeted
AI can write code fast. The harder problem is reviewing it fast enough.
@codeliftsleep, author of Grokking Software Architecture, argues that AI works best as a pair programmer: guide it step by step, review constantly, and keep human approval between generated code and production.
Speed matters, but so does reliability, security, and maintainability.
Read his take: hubs.la/Q04sZzwb0
More from Matt: hubs.la/Q04sZF0_0









