• hisao@ani.social
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    4
    ·
    1 day ago

    The fact that I dislike it that it turned out that software engineering is not a good place for self-expression or for demonstrating your power level or the beauty and depth of your intricate thought patterns through advanced constructs and structures you come up with, doesn’t mean that I disagree that this is true.

    • chunkystyles@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      18 hours ago

      If your code is as comprehensible as that run-on sentence, I can understand why coworkers would ask you to please write simpler code.

    • Feyd@programming.dev
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      1 day ago

      The problem is that you don’t realize that writing code that is difficult to maintain is in fact not a sign of intelligence, or “power level”.

      • hisao@ani.social
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        5
        ·
        1 day ago

        It depends. If it’s difficult to maintain because it’s some terrible careless spaghetti written by person who didn’t care enough, then it’s definitely not a sign of intelligence or power level. But if it’s difficult to maintain because the rest of the team can’t wrap their head around type-level metaprogramming or edsl you came up with, then it’s a different case.

        • chunkystyles@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          18 hours ago

          No. Both are hard to maintain. And in fact, I’d prefer the spaghetti. It can be untangled.

          • sugar_in_your_tea@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            3 hours ago

            Exactly. Code should be self-explanatory, and anything fancy should be clearly commented.

            The difference between a good and great software engineer is understanding the cost of fancy code, and when it’s worth it to pay that cost. A great software engineer practices restraint, preferring code that even the most junior of engineers can maintain. Solutions should be extensible without serious refactors, and should attain good performance through good high-level design instead of low-level optimizations.

            I’m guessing the “rockstar” OP is talking about went deep into the weeds of metaprogramming and even they can’t explain how it works a few weeks later. We have that crap here too, and nobody likes it, especially the seniors, but it’s so ingrained in the code that nobody wants to risk introducing bugs by fixing it.

            • chunkystyles@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              2
              ·
              3 hours ago

              Hell, not even junior devs. I need to be able to come back to code months or years later and be able to figure it out. I can only remember so much.

    • very_well_lost@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      1 day ago

      demonstrating your power level

      lolwut? I’m so tired of tech people acting like they’re the next Genghis Khan or Julius Caesar…

      • sugar_in_your_tea@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        3 hours ago

        Yup. I assist with hiring and ask questions to try to find these people and reject them. I don’t want that toxic culture here, and I’d absolutely prefer working with someone less talented than someone who is toxic like this. Talent can be learned, unfortunately ego is hard to unlearn.