westcoader

Always Be Committing

For the zero people that will read this that know me through work, over the past 4-5 years, I find myself saying one thing, a lot, in response to a question. In many workplaces, yes even still, occasionally, you'll hear a common refrain:

"Should I put this into Git?"

And I will inevitably unmute myself on a call to pipe up with some variation of the same line:

"Yes...always put everything into Git/version control everything."

Doesn't matter who is on the call, executives, engineering leads, PMs, etc. It's just something that needs to be reinforced in a work setting.

Note the last few words of that sentence.

in a work setting.


Now, for those who actively and religiously maintain their own personal projects, repos, and portfolio websites/project, you can effectively close this post now and move on with your day.

For those that don't quite get what I'm saying here, or don't put everything into version control, maybe consider the point being made.

I have always been one to NOT want to build a giant portfolio of tools, things, etc. that I use across personal projects and work environments. Something about not working outside work. The comical part being my job is to automate things and make work easier for Dev teams.

For some reason, I actually enjoy getting a new laptop, workstation, etc. and being able to start with a clean slate. Yeah, I don't understand it either.

  • I use dotfiles.

  • I use (albeit a limited set of) aliases.

  • I've written reusable Terraform modules.

  • I've written Ansible roles.

  • I have scripts - To be clear, a super random set of scripts that have been historically strewn across linux boxes, macs, Windows machines, and servers I've used for testing/labs over the years. Many are gone with time. Well, not entirely true, if the drives I still have from the past 20 years still fire up, I'm sure I could find some of them.

  • On mac, I install most of the tooling I need via homebrew.

  • I have put together a multitude of docker compose stacks.

None of this is in version control. And most of it is lost to time on some hard drive or SSD that may or may not work anymore.

Most times in life, people won't change habits or their positions on things until it ends up biting them in a way that they do not like. Especially true right now, one might say. And I personally feel like we've finally reached the point that it's time to follow my own advice. There's a joke in here about people not following their own advice, another very common theme, but I'm not smart enough to make it.


Now, what will putting everything into version control give you:

Established history - #1 it will give you a demonstrable history for prospective employers.

Ease the pressure of Coding exercises - Nobody likes them. They especially suck when you're in the infra/platform/ops side and you get a leetcode exercise that dives into DSA instead of actually something you've been working on for X years, decades, etc.

Boilerplate examples that can reduce time to project completion - Once you're hired and you have your treasure trove of tooling, people are gonna start noticing you're able to deploy XYZ faster than expected. (same with exercises) Well, that's because a lot of the legwork has been done.


And that's just a handful of things I can come up with right now. Put simply - make your life easier, in work and personal endeavors.

Always. Be. Committing.


Now get outside and see the hills and trees! 🌲🏔️