Tech Lead Journal

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


Listen Later

“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:

    • Website – mauricioaniche.com
    • LinkedIn – linkedin.com/in/mauricioaniche
    • Twitter / X – @mauricioaniche
    • Simple Object-Oriented Design – https://www.manning.com/books/simple-object-oriented-design
    • _____

      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.

      ...more
      View all episodesView all episodes
      Download on the App Store

      Tech Lead JournalBy Henry Suryawirawan

      • 4.7
      • 4.7
      • 4.7
      • 4.7
      • 4.7

      4.7

      12 ratings


      More shows like Tech Lead Journal

      View all
      Hanselminutes with Scott Hanselman by Scott Hanselman

      Hanselminutes with Scott Hanselman

      378 Listeners

      Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

      Software Engineering Radio - the podcast for professional software developers

      263 Listeners

      The Changelog: Software Development, Open Source by Changelog Media

      The Changelog: Software Development, Open Source

      286 Listeners

      The Cloudcast by Massive Studios

      The Cloudcast

      154 Listeners

      Thoughtworks Technology Podcast by Thoughtworks

      Thoughtworks Technology Podcast

      42 Listeners

      Software Engineering Daily by Software Engineering Daily

      Software Engineering Daily

      630 Listeners

      Soft Skills Engineering by Jamison Dance and Dave Smith

      Soft Skills Engineering

      272 Listeners

      AWS Podcast by Amazon Web Services

      AWS Podcast

      200 Listeners

      Data Engineering Podcast by Tobias Macey

      Data Engineering Podcast

      141 Listeners

      Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

      Syntax - Tasty Web Development Treats

      986 Listeners

      CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

      CoRecursive: Coding Stories

      185 Listeners

      Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

      Kubernetes Podcast from Google

      182 Listeners

      The Stack Overflow Podcast by The Stack Overflow Podcast

      The Stack Overflow Podcast

      63 Listeners

      The Real Python Podcast by Real Python

      The Real Python Podcast

      137 Listeners

      The Pragmatic Engineer by Gergely Orosz

      The Pragmatic Engineer

      48 Listeners