• FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      27
      ·
      8 months ago

      Yeah… Usually if you join a company with bad practices it’s because the people who already work there don’t want to do things properly. They tend to not react well to the new guy telling them what they’re doing wrong.

      Only really feasible if you’re the boss, or you have an unreasonable amount of patience.

      • frezik@midwest.social
        link
        fedilink
        arrow-up
        3
        ·
        8 months ago

        Usually, the boss (or people above the boss) are the one’s stopping it. Engineers know what the solution is. They may still resent the new guy saying it, though, because they’ve been through this fight already and are tired.

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      13
      arrow-down
      4
      ·
      8 months ago

      Eh, if everyone knows what they’re doing, it can be much better to not have it and rather do more pairing.

      But yes, obviously Steven does not know what they’re doing.

      • Ethan@programming.dev
        link
        fedilink
        English
        arrow-up
        10
        arrow-down
        1
        ·
        8 months ago

        Better to not have version control!? Dear god I hope I never work on anything with you.

        • Doc Avid Mornington@midwest.social
          link
          fedilink
          English
          arrow-up
          16
          ·
          edit-2
          8 months ago

          Pretty sure they meant to not have review. Dropping peer review in favor of pair programming is a trendy idea these days. Heh, you might call it “pairs over peers”. I don’t agree with it, though. Pair programming is great, but two people, heads together, can easily get on a wavelength and miss the same things. It’s always valuable to have people who have never seen the new changes take a look. Also, peer review helps keep the whole team up to date on their knowledge of the code base, a seriously underrated benefit. But I will concede that trading peer review for pair programming is less wrong than giving up version control. Still wrong, but a lot less wrong.

          • Ephera@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            8 months ago

            Well, to share my perspective – sorry, I mean, to explain to you why you’re wrong and differing opinions are unacceptable:

            I find that pairing works best for small teams, where everyone is in the loop what everyone else is working on, and which don’t have a bottleneck in terms of a minority having much more skill or knowledge in the project.

            In particular, pairing is far more efficient at exchanging information. Not only is it a matter of actively talking to one another just being quicker at bringing information across, there is also a ton of information about code, which will not make it into the actual code.

            While coding, you’ve tried two or three approaches, you couldn’t write it as you expected or whatever. The final snippet of code looks as if you wrote it, starting in the top-left and finishing bottom-right, with maybe one or two comments explaining a particularly weird workaround, but I’d wager more than 90% of the creation process is lost.

            This means that if someone needs to touch your code, they will know practically none of how it came to be and they will be scared of changing more about it than at all necessary. As a result, all code that gets checked in, needs to be as perfect as possible, right from the start.

            Sharing all the information from the creation process by pairing, that empowers a team to write half-baked code. Because enough people know how to finish baking it, or how to restructure it, if a larger problem arises.

            Pairing is fickle, though. A bad management decision can easily torpedo it. I’m currently in a project, where we practically cannot pair, because it’s 4 juniors that are new to the project vs. 2 seniors that built up the project.
            Not only would we need to pair in groups of three to make that work at all, it also means we need to use the time of the seniors as efficiently as possible and rather waste the time of the juniors, which is where a review process excels at.

        • Ephera@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          8 months ago

          Ah, no, I meant a review process. Version control is always a good idea.