#177 - Simple Object-Oriented Design: Principles for Writing Clean & Maintainable Software - Mauricio Aniche

#177 - Simple Object-Oriented Design: Principles for Writing Clean & Maintainable Software - Mauricio Aniche

“Every software gets more complex over time. What we need to do as engineers is to find ways so that we can work with increasing complexity, but not increasing the cost of maintaining the software."

Mauricio Aniche returns to the podcast for the second time and discuss with me his latest book, “Simple Object-Oriented Design”. Our discussion explores the intricacies of software design and shares practical strategies to manage software complexity through effective object-oriented design.

Mauricio delves into the six key principles of a simple object-oriented design: making code small, keeping objects consistent, managing dependencies, designing good abstractions, handling external dependencies, and achieving modularisation.

This episode is a must-listen for anyone seeking to deepen their understanding of object-oriented design and maintaining simplicity in their codebase!

Listen out for:

  • Simple Object-Oriented Design Book - [00:03:19]
  • No Perfect Code Design - [00:04:51]
  • Managing Complexity - [00:06:37]
  • Object-Oriented Design - [00:08:24]
  • Design as an Everyday Activity - [00:09:43]
  • Effective Iterative Design - [00:12:31]
  • Refactoring - [00:14:31]
  • 6 Principles of a Simple Object-Oriented Design - [00:16:40]
  • Principle #1: Making Code Small - [00:21:06]
  • Arguments Against Smaller Units - [00:23:18]
  • Principle #2: Keeping Objects Consistent - [00:26:25]
  • Don’t Fight Your Framework - [00:30:03]
  • Principle #3: Managing Dependencies - [00:32:05]
  • Separate High-Level (What) and Low-Level Code (How) - [00:33:34]
  • Principle #4: Designing Good Abstractions - [00:36:31]
  • Finding the Balance in Abstraction - [00:38:39]
  • Principle #5: Handling External Dependencies and Infrastructure - [00:41:05]
  • Principle #6: Achieving Modularisation - [00:45:12]
  • Owing to Junior Developers - [00:49:18]
  • 3 Tech Lead Wisdom - [00:50:32]

_____

Mauricio Aniche’s Bio
Dr. Maurício Aniche’s life mission is to help software engineers to become better and more productive. Maurício is a Tech Lead at Adyen, where he heads the Tech Academy team and leads different engineering enablement initiatives. He is the author of the “Effective Software Testing: A Developer’s Guide” and “Simple Object-Oriented Design” published by Manning.

Maurício previously held a position as an assistant professor of software engineering at Delft University of Technology in the Netherlands, where his teaching efforts in software testing gave him the Computer Science Teacher of the Year 2021 award and the TU Delft Education Fellowship, a prestigious fellowship given to innovative lecturers.

Follow Mauricio:

_____

Our Sponsors

Enjoy an exceptional developer experience with JetBrains. Whatever programming language and technology you use, JetBrains IDEs provide the tools you need to go beyond simple code editing and excel as a developer.
Check out FREE coding software options and special offers on jetbrains.com/store/#discounts.
Make it happen. With code.


Manning Publications is a premier publisher of technical books on computer and software development topics for both experienced developers and new learners alike. Manning prides itself on being independently owned and operated, and for paving the way for innovative initiatives, such as early access book content and protection-free PDF formats that are now industry standard.
Get a 45% discount for Tech Lead Journal listeners by using the code techlead45 for all products in all formats.


Like this episode?

Show notes & transcript: techleadjournal.dev/episodes/177. Follow @techleadjournal on LinkedIn, Twitter, and Instagram. Buy me a coffee or become a patron.

Denne episoden er hentet fra en åpen RSS-feed og er ikke publisert av Podme. Den kan derfor inneholde annonser.

Episoder(279)

Software Engineering Laws Every Developer Must Know in the AI Era - Milan Milanovic

Software Engineering Laws Every Developer Must Know in the AI Era - Milan Milanovic

Does moving faster with AI mean you get to skip the laws that governed every software project before it? Milan Milanovic argues the opposite, the old laws of software engineering now apply twice as ha...

10 Aug 1h 1min

Signals & Levers: Systems Thinking to Navigate Software Delivery Illusions - Elisabeth Hendrickson & Joel Tosi

Signals & Levers: Systems Thinking to Navigate Software Delivery Illusions - Elisabeth Hendrickson & Joel Tosi

(04:48) Brought to you by SpeechifyAITired of text-to-speech that sounds robotic or costs too much at scale? SpeechifyAI's new Simba 3.2 model ranks #1 on Artificial Analysis for realness, priced unde...

3 Aug 1h 17min

From Technical Debt to Triple Debt: The Hidden Cost of AI-Generated Code

From Technical Debt to Triple Debt: The Hidden Cost of AI-Generated Code

Is vibe coding quietly draining the thing that makes teams effective: their shared understanding? Margaret breaks down her new “triple debt” model, and why cognitive debt might be the one nobody’s tra...

27 Jul 1h 10min

Ex-Gojek CTO: Why the Age of AI Rewards Builders as Judgment Becomes Expensive

Ex-Gojek CTO: Why the Age of AI Rewards Builders as Judgment Becomes Expensive

If expertise is becoming almost free, why is judgment becoming the most expensive skill in tech? Ajey Gore, former Gojek CTO, explains why the age of AI agents rewards builders over typists.In this ep...

13 Jul 1h 22min

The AI Productivity Paradox: Why 10X Output Doesn't Mean 10X Business Outcome

The AI Productivity Paradox: Why 10X Output Doesn't Mean 10X Business Outcome

What if optimizing for AI output is actually slowing your company down? When code becomes nearly free to produce, the organizations still measuring productivity by output are solving the wrong problem...

29 Jun 1h 5min

The Hidden Stories Sabotaging Your Culture Change

The Hidden Stories Sabotaging Your Culture Change

Why do 70% of change efforts fail — even when leadership is fully committed? The answer isn’t strategy or resources; it’s the hidden stories people unknowingly carry that silently block every initiati...

15 Jun 1h 8min

Creator of Meta's Hack: Your AI Will Always Cheat — Here's How to Stop It

Creator of Meta's Hack: Your AI Will Always Cheat — Here's How to Stop It

What if your AI coding agent is quietly cheating on your tests — and how do you stop it? Julien Verlaguet, who built the type system Meta used to migrate tens of millions of PHP lines, is now building...

8 Jun 1h 18min

Eric Ries: Why Good Tech Companies Go Bad, and How to Stop It

Eric Ries: Why Good Tech Companies Go Bad, and How to Stop It

Why do companies with the best intentions end up betraying their customers, employees, and mission? Eric Ries calls it “financial gravity” — an invisible force that pulls even the most principled comp...

1 Jun 1h

Populært innen Teknologi

lydartikler-fra-aftenposten
teknisk-sett
shifter
elektropodden
rss-ai-forklart
tomprat-med-gunnar-tjomlid
rss-ki-praten
hans-petter-og-co
pedagogisk-intelligens
rss-alt-som-gar-pa-strom
smart-forklart
fornybaren
rss-polypod
rss-bouvet-bobler
nasjonal-sikkerhetsmyndighet-nsm
rss-fish-ships
energi-og-klima
rss-fisketimen
kortslutning
rss-kunstig-intelligens-med-elisabeth-maren-og-morten