productivity·

Why you should make a toolbox repository

the perfect place to put everything that doesn't belong anywhere else
A Toolbox with hand reaching in

As a software developer, you're probably no stranger to writing code. But have you ever stopped to think about the benefits of keeping a personal repository of your code? Think of it like a digital scrapbook, where you collect and organize all your coding adventures, tips, and tricks.

I keep one called Toolbox that I use for everything. It's a place to put things that don't belong anywhere else.

One-off Learning

Let's face it; we've all had those "A-ha!" moments where we figured out a tricky problem or learned a new skill. But what happens to that knowledge when you move on to the next project? It gets lost in the void of your brain, right? Instead, keep a personal repository. You're creating a journal of sorts, where you can store those "A-ha!" moments and reference them later. Think of it like a digital version of your favorite recipe book – only instead of cakes, you're collecting coding gems!

Journal of Skills You Learned

When you revisit an old piece of code or a problem you solved in the past, it's like re-examining a familiar friend. You'll catch yourself thinking, "Ah, I did that! And look how clever I was!" This process reinforces your skills and helps solidify them in your long-term memory. It's like exercising your coding muscles – the more you use them, the stronger they get!

Examples I have in my toolbox

Now, let me give you some examples to illustrate these benefits:

Daily Note-Taking

I'd bet most developers keep a scratch file somewhere. Used to pasting an error you're working on, quick tasks to remember to do. Meeting notes. Yeah, I keep all those in my toolbox repo. I even have a utility script so that when I run the command today to create a markdown file in my toolbox named with the date of the week. If you find that useful, you may find other "Zettelkasten method" apps like obsidian or Evernote useful. I've tried but just a weekly scratch file I can search has been what I've found most useful.

SQL

Remember that one off tricky SQL query you wrote using Common Table Expressions (CTEs)? I use them so rarely, but having an example in my own style always makes re-learning how to do them much easier! You can revisit that code and recall the logic behind it. Boom! One-off learning and skill reinforcement!

Bash Script to fix a Problem

Ah, yes, those pesky shell scripting issues! How does awk work again, or is it sed I should use in this case. When you write a bash script to fix a problem, you might think it's just a one-time solution. But what if you need to use that same or similar script again?

Other

Just odd things that don't really have a place.

  • Profile Pic I normally use
  • It's where I used to keep most of my dot files before moving them to their own public repo here
  • etc.

Less Time Spent Re-inventing the Wheel

Your personal repository becomes a treasure trove of tried-and-true solutions!

Conclusion

And hey, if you're still unsure, I'll give you another thing to consider: imagine having a collection of 10-20 code snippets or scripts that you've written over the last year. Now imagine 5-10 years. Those might seem insignificant on their own, but when combined, they become a valuable resource for learning and growth.

Now, go forth and create your personal repository! It doesn't have to be public, mine isn't.