Programusical Symmetry
Around the time I joined Adjacent, I also joined my first band. And no, this wasn’t some early mid-life crisis thing (or was it?).
While I chose to focus on software and the web for my career and not music, I can’t help but notice some axioms I think apply equally to both.
1. Be intentional.
It’s not the notes you play, it’s the notes you don’t play.
Miles Davis
The most exciting part of every project is when I get to start slamming code down, creating order where there was previously nothingness. But that doesn’t mean it should be the very first thing you should do.
There is a reason most songs don’t hit you with the blaring solo right out of the gate. You want to be able to build to it, set up the pieces, and plan a route to the climax of the song, so that by that point, all the pieces fit together. Listen to what’s there already to that your part can add the right thing to it. Musicians sometimes call the resulting synergistic flow state as being “in the pocket”.
Before you write any code, you should consider what is actually needed. have a plan of where you’re going with it, how it should be architected, and what it will need (and not need) to do, before you get to the 6-minute jam section.
3. Practice makes perfect.
If you’re any good at all, you know you can be better.
Lindsay Buckingham
Humans are lazy. Well, the “good” kind of lazy that makes us more efficient in getting things done—solve a problem once, and it might be just the exact hammer for which you reach in the future.
The flip side to this efficiency is the potential for becoming complacent. Programming and music are both crafts, meaning that while there may be a floor to the skills you need to play at a certain level, there is no ceiling to the things you can accomplish.
The key to being good at any craft is the practice you put in to keep muscles and knowledge fresh. For music it may be drilling scales, jamming in new time signatures, or just surfing Spotify for new material. For coding, it may be working on 20% projects, learning new languages or environments, or just surfing blog feeds for new techniques. Either way, feed your brain’s progression, and let fresh perspectives guide your approach to projects, and you may just find your inner hidden bonus track.