By Adrian Bridgett | 2017-02-28
Turning technical debt on its head
If you’ve not heard of “technical debt” then I’ve put some links at the end of this article for your reference. The good news is that you don’t need to read them yet!
Have you ever gazed in wonder as someone whizzes through a piece of work, mistakes auto-corrected, every tool to hand. No hesitations, a wondrous setup that’s almost AI on a desktop?
Or perhaps you’ve seen someone painfully search emails, cut and paste URLs around, hunting for the right incantation, cursing under their breath. Like pulling teeth, it can be a painful process.
Whereabouts on this line would you place yourself? What improvements could you make?
Starting out
It’s going to take time, some effort (repaid many times over) and some discipline.
Let’s start small with a tool most developers use — git.
When you first use git, you are learning the basics and I strongly encourage not using too many shortcuts. However, fairly soon it’s worth adding a few. Perhaps you want to type git br
rather than git branch
or git co
rather than git checkout
. It’s time to set up your .gitconfig
file.
Before getting any further I’ll detour and suggest storing your configuration files in source control ( e.g. dotfiles or my preferred approach which just uses git).
Back on track, you may want to google for some recommended .gitconfig setups — perhaps turning “autocorrect” on, perhaps some useful aliases.
We’ve just spent a bit of our valuable time making some improvements to our setup. However, it won’t be long before they save us time.
Technical interest
In school, you may have been taught about compound interest — how even small interest rates build up rather quickly over time. Imagine doing the same with time-saving improvements. You’ll not only become more productive, you’ll be productive when you most desire it (and perhaps make improvements on slower days).
On top of all that, you’ll have a working environment that’s a joy to use. Boring repetitive tasks automated away. Everything at your fingertips.
I call this virtuous circle “technical interest”.
Suggestions
Some pointers to things you may wish to improve:
- ZSH shell improvements with antigen and oh-my-zsh
- Password storage (I like pass combined with qtpass, passbolt looks interesting)
- Learn some shortcuts — to the command line, to your editor of choice
- Upgrade your SSH keys
How on earth do you know what to change? Perhaps you get frustrated by something — “there must be a better way” (and then use your favourite search engine…). I’d also highly recommend R.I. Pienaar’s “Random Interesting Things” mailing list.
Good luck and remember — change is a good thing!
Technical debt references
- Martin Fowler
- Jeff Atwood
- Note that you may be able to write off technical debt if you are lucky