• body_by_make
    link
    fedilink
    1052 months ago

    What if I told you a lot of companies don’t have solid review requirement processes? Some barely use version control at all

    • @xmunk
      link
      322 months ago

      Sure, I understand… but if you’re at one of those companies you should introduce it.

      • @[email protected]
        link
        fedilink
        272 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.

        • @[email protected]
          link
          fedilink
          32 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
        link
        fedilink
        92 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
          link
          fedilink
          English
          92 months ago

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

          • Doc Avid Mornington
            link
            fedilink
            English
            16
            edit-2
            2 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.

            • Ethan
              link
              fedilink
              English
              22 months ago

              Agreed. Even self-reviewing a few days after I wrote the code helps me see mistakes.

            • Ephera
              link
              fedilink
              12 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
            link
            fedilink
            22 months ago

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

            • Ethan
              link
              fedilink
              English
              22 months ago

              Ah, yeah that makes a lot more sense

    • @[email protected]
      link
      fedilink
      12
      edit-2
      2 months ago

      I’ve seen people trade zip archives like Yo-Ge-oh cards useing excel as a source control manager so it could be much MUCH worse

      • @[email protected]
        link
        fedilink
        10
        edit-2
        2 months ago

        Dude, put content warnings on this. I have trauma from shared drives and fucking Jared leaving the Important File open on his locked computer while he takes off for a week, locking out access to anyone else.