How do I convince a dev department to take source control, peer code review and unit tests seriously?

I'm a recent software grad with internships that recently started at a smallish company (less than 20 employees but has been around for 10 years, with most senior non-mgmt employee around 6 years). I've been working here for less than a year (approx 5 months) and I love the company - lots of talented and passionate people.

We are a creative industry with a handful of devs and one of the issues I'm seeing is that often devs are working in silos. I'm trying to make suggestions to upper management like encourage more usage of source control, documentation, etc and most of the senior devs are pushing back - saying that they don't feel that it is necessary and due to the fast moving nature of our projects that all this would be a total waste (they were so fast on the idea of not having PR's because it would be "too much of a blocker").

I understand that a large part of this has more to do with shifting the culture in the department and that can be very hard to do, especially since i'm fresh out of school, but I see these devs have so much potential but it seems that they think having these implementations in place would mean more rigid rules and bureaucracy.

I've been speaking to some of my engineering friends and they're pretty much all just telling me that I am shooting myself in the foot if I continue to stay at this company because I'll be behind skill wise, but part of me isn't ready to just give up yet.

looking for some advice

  • 1
    Let me guess: they stick with Unity Engine? In most cases, I noticed it's the same as saying "fuck it" to any tangible version control. If that's the case, well, good luck searching for a decent integration with editor if any...

    If your time allows it, maybe jot down the advantages of better practices' adoption compared to current workflow, better in numbers.

    If your intuition tells you it's not worth it, consider self-preservation: move from this place. Just don't burn the bridges. 🤔
  • 6
    "The best thing to get management think about emergency plans is to set the neighbouring building on fire." - I forgot who said it.

    In this case, either show what damage missing code review caused at other companies or better find issues already caused by missing review at your company.
    Show that code review is / would have been shorter than the time required fixing the mess afterwards.

    Ultimately risk management is your managers' jobs - if they decide they accept it, you may not be able to change the decision.
  • 3
    Your friends are right. It's 2021, if they're not even on any form of source control yet then they're already more than a decade behind where they should be.

    Thing is, it's almost impossible to change things as a junior, especially if seniors are pushing back. You're there to learn from them, not the other way around, and so management won't listen to the fresh grad. Push harder and the only likely outcome is that you sound like a "know it all" and become unpopular.

    That being said, your experience there certainly isn't wasted. I'd go with the flow for a few more months until you've been there close to a year, then jump ship. That way you don't have a short stint as your only employment on your CV, but you don't hang around there long either.
  • 0
    The only thing that might (not will!) work is if you show them tangible proof. Try to get a solo project, use a proper workflow there.

    Then listen carefully to the issues your colleagues encounter over a few months. Chances are there will be a lot of them that you can actually demonstrate would never happen to your project (e.g. quickly reverting a breaking change, CI/CD integration, finding the reason why something was done some way in commit history)
  • 3
    One day you just walk in with a gun.
  • 2
    @blindXfish Freeze! No more code changes outside of source control. Start using Git NOW or I will rm -rf the production code!
  • 0
    @vintprox yeah, but even with Unity there’s still decent source control using cmdline and sourcetree.
  • 1
    @succyproggy command line Git and Sourcetree are not an integration, they are too
    separate from Unity and especially the project everyone in creative team is working on.

    Remember, it's always easier to adapt the workflow to teammates than to regret hours of missed spark or human errors they would avoid if imported project already had everything a-la-carte.

    Not saying that you should have entire sprite or convenience mini-editors in this soup of dependencies, oh hell no. Golden mean...
  • 0
    The other two I get, a lot of places integrate them into the hot-fixing process, especially in an agency where ‘churn it out and take the money’ is the philosophy, but not using version control is crazy. Trouble is, this suggests that they are already set in their ways somewhat defiantly, and nobody likes an ‘inexperienced’ person coming in and suggesting better ways of doing things. It’s evidence that they are wrong and out of touch, and will likely be dismissed as you getting ahead of yourself. You’ll probably have to play it carefully…or just deal with it until you find a better job, sounds like they’re probably beyond help until something goes properly wrong.
  • 0
    a dev company NOT using version control in 2021 - is a lost place.
Add Comment