• THCDenton@lemmy.world
    link
    fedilink
    arrow-up
    12
    arrow-down
    1
    ·
    6 days ago

    Lmao ok ill just follow best practices and end up inadvertently writing an orm from scrach then 🙆‍♀️

  • hesusingthespiritbomb@lemmy.world
    link
    fedilink
    arrow-up
    14
    ·
    7 days ago

    In an effort to make the post full of engagement bait, the dude ironically made it less engaging.

    Remove every bullet point except Lombok, and you got yourself a proper flame war.

  • LovableSidekick@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    7 days ago

    Ideal situation: single guy working from home, no pets. Neighbors describe him as “pretty quiet” or “I dunno.”

  • sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    7 days ago

    Wow, the only one I agree with here is MongoDB (and probably Lombok, I don’t write Java), and that has more to do with their licensing issues than anything technical.

    That’s pretty impressive.

    Here’s my list:

    • no-go list of languages - Java, PHP, Ruby, C++ (unless you absolutely need C++ for some domain)
    • OOP - OOP should be isolated, not forced on every problem; many OOP advocates are dogmatic about injecting it everywhere
    • waterfall - screw that noise, faster to market + faster feedback is generally better

    That’s really it, and I’m totally willing to mentor someone who likes the above if they’re otherwise a good developer.

    • DerArzt@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      6 days ago

      If you had to write Java you probably would like Lombok if you dislike boilerplate (it can build object constructors, comparators, and field accessor methods via annotation).

      • sugar_in_your_tea@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        6 days ago

        Java is boilerplate though. It’s finally getting almost tolerable with static imports, arrow functions/lambdas (whatever Java calls it), etc.

        If I had to write Java, I’d push for Kotlin instead, after failing to convince management that there are much better options for the problem they need to solve.

        • aubeynarf@lemmynsfw.com
          link
          fedilink
          arrow-up
          2
          ·
          2 days ago

          You can say you’re running Java and write components in Kotlin or Scala, no one knows after the module is published!

    • JeSuisUnHombre@lemm.ee
      link
      fedilink
      arrow-up
      44
      ·
      8 days ago

      Am I wrong or does that title he’s given himself directly contradict his dislike of code ownership? Or is it just he assumes he deserves credit for the code written by any of his subordinates?

      • aubeynarf@lemmynsfw.com
        link
        fedilink
        arrow-up
        10
        ·
        8 days ago

        Code ownership implies that 1) changes to that code are bottlenecked/gatekept by its “owner”; 2) code is siloed and there’s poor organizational collaboration culture.

        “I am enabled to seek out the needed background and change what I need to move forward” vs “that’s not ‘our/my’ code, we can’t touch it. Let’s file a DEP ticket against that team and wait a few months”

      • Pup Biru@aussie.zone
        link
        fedilink
        English
        arrow-up
        7
        ·
        7 days ago

        that particular point likely refers to the fact that he prefers shared ownership: ie nobody should be “the one you go to for X part of the codebase”

  • DarkWinterNights@lemmy.world
    link
    fedilink
    arrow-up
    71
    arrow-down
    2
    ·
    edit-2
    7 days ago

    Lol. Let’s ban accountability, refactoring, and debugging, never work alone, never coordinate, avoid productivity, and refuse ownership—then scream when things break, don’t integrate, and fall behind schedule.

    “This is all your fault!” built-in. Why didn’t you intuitively know what myX is supposed to do and how it’s used?

    Provocation just for “engagement” really. 102 comments so, to some degree, it works.

    E: Guys, it’s satire. Lol.

    • aubeynarf@lemmynsfw.com
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      8 days ago

      I don’t see any ban of accountability, refactoring or debugging, coordination, or endorsement of screaming.

      I recognize most of these as specific antipatterns that get adopted because some manager read a blog or no one actually had a clue was “agile” meant.

      • corsicanguppy@lemmy.ca
        link
        fedilink
        English
        arrow-up
        4
        ·
        8 days ago

        I recognize most of these as specific antipatterns that get adopted because some manager read a blog

        Go ahead. Point out the anti-pattern baggage.

        There are enough coders on here from before the post-dot-com made mentors extinct that I’m sure they’d love your specificity.

        • aubeynarf@lemmynsfw.com
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          8 days ago

          Check my top level comment and several other replies on this post.

          One I’ll mention here is “Tasks for testing and refactoring”. “Task” is the key word - testing and refactoring isn’t a backlog item that the product manager gets to deprioritize. (haha, like the product manager even realizes they are supposed to manage the backlog). It’s part of ongoing continuous codebase improvement and done whenever and wherever it’s needed.

          I’ve been a software developer since 1997, I’d love to have a beer and shoot the shit with them!

    • Jerkface (any/all)@lemmy.ca
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      3
      ·
      edit-2
      8 days ago

      Let’s ban

      overshot your mark. maybe you misunderstood what you read and that’s why you’re so needlessly het up.

  • Flax@feddit.uk
    link
    fedilink
    English
    arrow-up
    68
    arrow-down
    2
    ·
    8 days ago

    This might be my type of job. I ssh into a server and build the backend using bash scripting in nano. HTML and CSS is also done using nano on the live server. No SCRUM needed. We have a large group of testers we refer to as “customers”, and they pay for the privilege.

  • Vinny_93@lemmy.world
    link
    fedilink
    arrow-up
    39
    ·
    8 days ago

    Just build whatever you want on prod and disappear after the deadline so they can never ask you to update your code

  • VubDapple@lemmy.world
    link
    fedilink
    arrow-up
    29
    ·
    8 days ago

    There are two types of software engineers: those who are anxious and those who are narcissistic and grandiose. This guy is easy to place in the latter category.

    • Supervisor194@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      8 days ago

      I was so happy when I got a job working with a guy who was super chill and a genius to boot, such an impossible combination to find.

      Our mantra was pretty much do the best possible thing to reach the widest possible audience, nothing is off the table and no user is left behind completely. I learned such a wide variety of skills there. It went great for nearly a decade before everything went to shit because my guy had left and I was left to deal with a 3-1 managerial hell.

  • jubilationtcornpone@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    25
    arrow-down
    1
    ·
    8 days ago
    • ORM’s
    1. Place ALL of the business logic in stored procedures.
    2. Eliminate the backend.
    3. Make the front end connect directly to the database.
    4. Profit
    5. Introduce tons of bugs and terrible performance.
    6. Database is compromised within five minutes of going live.
    • aubeynarf@lemmynsfw.com
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      8 days ago

      No, just write a repository to expose domain operations and implements them using SQL directly. Trying to fake OO object graphs against a RDBMS with a super-complex and leaky ORM is just painful.

        • aubeynarf@lemmynsfw.com
          link
          fedilink
          arrow-up
          2
          ·
          8 days ago

          Groovy’s ORM? I recall it being Hibernate under the hood and I had to fight with it to avoid common problems like hidden IO and N+1 query blowups (iterating over a set of results and then touching the wrong property means you are making another network call for each), learning its particular DSL for schema definition and associations, and not having a way to represent any but the simplest SQL constructs. The usual ORM stuff.

          To the extent that you can write a syntax-checked SQL statement and it deserializes the results into some collection of row objects, it’s fine. But that’s not the “ORM” part.

    • Jack@slrpnk.net
      link
      fedilink
      arrow-up
      4
      ·
      8 days ago

      I have for years been pumped to create a sql only side project or sql + frontend

    • expr@programming.dev
      link
      fedilink
      arrow-up
      6
      arrow-down
      3
      ·
      8 days ago

      I’m confused. Are you saying all of that is a consequence of not using ORMs? Because if so, that’s absolutely not true. ORMs truly are complete trash.

      • sugar_in_your_tea@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        7 days ago

        Sounds like you were hurt by an ORM.

        One huge benefit of an ORM is that it does type checking. it makes sure your tables exist, relationships are valid, etc, and it makes easy things easy. If you add a column, it’ll make sure it gets populated, give you decent error messages, etc.

        As long as you use a proper repository pattern setup and isolate DB interactions from the rest of the code, how you construct the queries is completely up to you. I try to use DTOs to communicate w/ the repo layer, so whether an ORM is used or direct SQL queries is largely an implementation detail.