I am the software engineer on a team of mostly hardware engineers who need to write automation code to aid their jobs. The industry I am in skews older, so my team is generally unfamiliar with coding, and if they are, aren’t up to date on best practices, as it is not their primary job.
Our manager has a software background and has decided on Git and GitHub as the systems of record for code version control. I have held many training sessions on these tools over my tenure (6mo), and many people caught on and can execute the procedures I established to record their changes. However, 2 of them do not seem to be able to learn it and I am spending my day before lunch cleaning up their commits, as they work at a frenetic pace (nights, weekends, holidays) and will seemingly type any command that makes their git errors go away (liberal use of rebase skips, force pushes, etc.)
The problem is not necessarily how they use Git, it’s that they’re actually quite productive while creating externalities for me, who was hired to write infrastructure code. I am considering to stop using Git altogether (or perhaps create a firewall for these two), but what system could replace it? The “low tech” the better. Ideally, there would be no extra software to learn.
Slightly off topic but this such a problem nowadays. Coding is everywhere now but it's treated like "it's only software", especially from people who are in more traditional engineering disciplines.
This is partly a cultural issue but it's also technical. Software engineering / coding workflows are expected to be roughly the same whenever there is coding involved. In classical engineering the processes and the mental models of how to develop a product are completely different to modern software engineering which creates the tooling vacuum that you describe.