Let me tell you a secret about our beloved world of software engineering. We’re stuck in a loop, like hamsters on a wheel. The same problems keep cropping up, and we’re too stubborn — or maybe just forgetful — to remember how we solved them last time. Annoying, right? So, I propose a wild solution: writing down our problems and solutions. Radical, I know.

Documentation: Because We’re Forgetful

Let’s be honest, the software realm can be a dizzying circus. New issues, solutions, and techniques pop up faster than we can say “debug”. And amidst this chaos, we’re expected to remember that clever hack from two months ago. But who has the capacity for that?

So, here’s my mind-blowingly innovative proposal: We write things down. Yeah, you heard it right. When a problem smacks you in the face, document it. And when you crack it, document the solution. It’s not rocket science, it’s just plain common sense.

Here’s Some Evidence, If You Need It

If you need proof, let me dazzle you with my recent feat of engineering wizardry. I brewed up a script to run Docker containers with my Google credentials. Saved me a boatload of time and even made me a hero when a colleague needed to do the same thing. Here’s the masterpiece:

#! /usr/bin/env bash

set -euxo pipefail

ADC=~/.config/gcloud/application_default_credentials.json
ADC_DOCKER=/tmp/keys/creds.json
IMAGE_HASH=$(docker build -q .)

env -u DOCKER_DEFAULT_PLATFORM \
    docker run --rm \
        -e GOOGLE_APPLICATION_CREDENTIALS=${ADC_DOCKER} \
        -e GOOGLE_CLOUD_PROJECT=${GCP_PROJECT} \
        -v ${ADC}:${ADC_DOCKER}:ro \
        "${IMAGE_HASH}" \
        "$@"

This script isn’t just a neat trick — it’s a testament to the might of laziness. Or rather, proactive laziness. I’m developing a CLI for it, which I’ll dump on GitHub soon is on: https://github.com/LiHRaM/cred-dock-rs.

The Tools We Use, or Don’t

I’ve been scribbling my notes in Dendron in VSCode, but there’s a high chance that you’ve found something better. So, shoot your recommendations my way.

Yes, there’s a lot of buzz about Roam Research, Notion, and their ilk. But remember, this isn’t about collaborative note-taking or sharing your intellectual gems. It’s about saving your future self from the aggravation of solving the same problems again. But remember, don’t jot down anything that’ll land you in hot water with your employer. (I’m looking at you, trade secrets.)

The So-Called “Call to Action”

I guess it’s customary to end these posts with a “call to action”. So here it goes: Start documenting your work, because who knows, someday an AI might need your notes to save the world.

Next time a problem crops up, jot it down. Solved it? Write that too. Even the failures are worth a line or two. They often teach us more than the victories.

And with that, I rest my case. May your future self thank you for your newfound “habit” of documentation.