Skip to content
DevMeme
7276 of 7590
DesignPatterns Architecture Post #7976 · source on Telegram

Senior Devs Celebrate Four Layers of Abstraction Over Simplicity

Description

Meme captioned 'Senior devs after adding 4 layers of abstraction to avoid simplicity' over a grainy still from the infamous 1995-era Microsoft Windows launch event footage (ZDF watermark visible), showing Steve Ballmer, another exuberant Microsoft executive in a red polo, and Bill Gates dancing awkwardly on stage against a blue backdrop, fists pumping. The joke targets the architecture-astronaut tendency: instead of writing a straightforward solution, senior engineers gleefully wrap it in factories, providers, adapters, and interfaces, then celebrate the resulting 'enterprise-grade' indirection as a triumph

Comments

16
Anonymous ★ Top Pick Any problem can be solved with another layer of abstraction - except the sprint where someone has to read the stack trace through all four of them
  1. Anonymous ★ Top Pick

    Any problem can be solved with another layer of abstraction - except the sprint where someone has to read the stack trace through all four of them

  2. Anonymous

    Perfect encapsulation achieved: nobody can find the business logic anymore.

  3. @nwordtech 3mo

    Are those actual senior devs or delusional cosplayer hulls needed to attend meetings?

  4. @Valithor 3mo

    I had to do this recently, but the reason was the "simple" solution was hacky and causing issues with the garbage collector because of the reference counter. Idk how I feel about this meme.

  5. @Valithor 3mo

    I've noticed a disturbing trend lately even in one of my support chats where people seem to be vehemently against any type of abstraction whatsoever.

    1. @chupasaurus 3mo

      Don't forget that the same people want the "Make good" button.

    2. @Sun_Serega 3mo

      Not every case should be solved with a simple solution, but that doesn't mean extra abstraction layers are always justified I don't think this is really some new trend. Newer devs tend to look for simple solution first (possibly wasting time), while those who have been burnt have an inner force pushing them to not even look at simpler option In the end being a good dev is about choosing the better option often enough, instead of fighting against one of the extremes

      1. @Valithor 3mo

        I agree with your last part wholeheartedly, and it goes hand in hand with picking the right tool for the job. I develop an API library where design patterns need to be followed for consistent usage, and that can involve a hefty amount of abstraction to keep things maintainable. The conversation should never start off as "don't use abstraction" but "do I need abstraction to make my life easier to maintain this in the future"

      2. @gmayv 3mo

        IME >Newer devs tend to look for simple solution first (possibly wasting time) This is absolutely not true at all. It's often the other way around: everything but the simpler solution.

    3. @sysoevyarik 3mo

      "Disturbing" not like it's the 50+ nested functions to do every little action may cause performance issues. Definitely it can be solved with 1 more layer of indirection

      1. @Valithor 3mo

        You don't have this problem when you follow proper design patterns and set reasonable limits for cyclomatic complexity

        1. @sysoevyarik 3mo

          Good luck explaining to other people in team that "every known to mam" pattern is not "proper"

  6. @ddamiryh 3mo

    Junior dev looking at you after adding layer of abstraction just to avoid reading your code

  7. @Valithor 3mo

    If you don't have design patterns and SOPs for your projects and you're working with a team it's a lost cause anyway

  8. @sysoevyarik 3mo

    Like bro what does this abstract singleton factory solve except making code 3 times larger and spreading it across 15 files instead of 2

    1. @stilriv 3mo

      It does a nice part in weekly calls and time tracking.

Use J and K for navigation