
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.
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!
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!
Now, let me give you some examples to illustrate these benefits:
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.
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!
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?
Just odd things that don't really have a place.
Your personal repository becomes a treasure trove of tried-and-true solutions!
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.