6

Why the fuck do some developers insist on over-engineering even the smallest of tasks? I'm not paying their salary, but they eat into the budget giving the rest of us less time to finish bigger and more important tasks!

Comments
  • 3
    I get to review the fastly written code at times. I find things like uninitialized variables determining code paths, not understanding the life cycle of pointers, reusing deleted pointers, etc. So from my perspective I find people writing under thought out code. But on the other side I see code written is such a way that you cannot reuse any of it. Like some kind of walled garden. I guess you could say that is "overengineered" in a sense.

    Are you talking about excessive use of structures?
  • 4
    Example would be nice.

    Sometimes, I agree 100% with you

    But some other times, you do a "over engenered" method because you know in couple of weeks new items will be added with the same logic, so logic is extracted.
  • 2
    @Demolishun Ohh, (C# mode) I didn't see variables declarations. Record vs class, Static constructors, using (for the god sake) dctionaries or Hashmaps as "over engeneering". My mind went where you create a PoC for ONE element, which can be reused for more. And others thinks it's over engeneerind "to handle just this 1 entity/element"
  • 1
    @Demolishun In this particular case: building a repository pattern on top of EF for simple CRUD operations on a basic simple table with hardly any records in it and pulling in an external dependency we don't need to enable more sophisticated return object - and most of all taking well over a week to complete a half day task.
  • 1
    @NoToJavaScript In this case there is no future proofing needed. We're talking the absolute basic CRUD as dumb as it comes.
  • 4
    @devdiddydog have you tried asking them why?

    They might have reasons you might find valid
  • 4
    One man's overengineering is another man's baseline for good development.

    I've seen this from both sides - someone building 5 microservices for what should be a single service with 100 lines of code tops. But I've also seen someone hacking a dangerous Perl script together to serve content en-masse because putting it into a single service hosted on an existing K8s cluster was "overengineering".
  • 0
    @MammaNeedHummus Yep, and I got all the wrong answers:

    - it's industry practice ("netflix does it")

    - it's test driven development (seriously, do we need integration tests and/or unit tests for basic DB operations?

    - we have to make a decision to either do it this way or not this way. For every project, everywhere. If it's the right thing to do in a complicated scenario it also needs to be done for the simple scenarios.

    - it's good for teaching the juniors (yeah, teach them to not think rationally or pragmatically or that common sense is an important part of software engineering)

    And when I politely had an answer for all those arguments we were left with two insulted (!) developers that took feedback as personal attacks and criticism and a useless project manager that doesn't even step in and tries to support either side.
  • 1
    @AlmondSauce Yeah, well in this case any half decent senior would be ashamed of taking this long to complete such a simple task.

    It really was THAT simple.
  • 1
    Does it do anything more complex than select * from table and send results back?
  • 0
    @devdiddydog I am sometimes slow because I get burned out.
  • 1
Add Comment