As per title: I program since I was 14 on various languages, but don't have a formal CS education. My coding skills served me well as I was able to build a saas product and company which we sold a few months ago - so I'm pretty happy with them. However, I'm self taught and I never quite worked as part of a large professional team, so my knowledge of code management/ git/ cicd practices and generally "working as a team on the same code" really sucks.
Is it just me or common to other with a similar experience? What's the best place to up my game in this area?<p>Thanks to anyone who wants to help
It's extremely unlikely a formal CS education would have helped. Not a single professor in mine even mentioned version control, let alone taught anything about it. It's not the type of knowledge CS focuses on anyway.<p>Likewise for all our new hires (we tend to aim for recent bootcamp and college graduates): None of them had used version control before and all had to learn on the job.<p>As for git specifically, this is the single most useful thing I've ever seen for creating the right mental model of commits/branches - it's helped almost everyone I've sent it to: <a href="https://learngitbranching.js.org/" rel="nofollow">https://learngitbranching.js.org/</a>
If you like books I recommend Humble and Farley's "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation". It was written before cloud native practices like containers were mainstream so not all the advice will be relevant but it has good chapters on source code management practices and CI.