What Drumming Taught Me About Programming
Drumming and programming generally do not go together, but both have been a considerable part of my life. I started playing drums in the seventh grade and started programming initially around that same time as well. Classic Rock, Jazz, Metal, you name it and I have at least dabbled in it. The same can be said for programming — web, iOS, Android, and game development have all touched my life to some degree. The remarkable part is how drumming and being in a band has taught me a lot about programming.
Practice
From the beginning, every musician knows that practice makes perfect. You have to practice drum fills, patterns, rhythms, and more. Programming is of course the same way. You have to practice to improve your skills. What more is that you learn more when you have to dive into a project.
Learning a new song on the drums while you play along with the track or with a band is a much more effective way to strengthen your skills. The same can be said for programming. Dive into a new project, even if it seems challenging. By practicing and working toward a goal, you will learn new tricks and patterns that you can incorporate into future projects.
Equipment Doesn’t Matter
To a certain extent, equipment doesn’t matter when you are drumming or programming. When you are first learning, it is okay not to have the top of the line drum set. The same skills you use on a starter set will translate over to a more expensive set down the line.
When programming, don’t let the headlines of the top of the line computer scare you away from feeling like you can’t program with what you have. If you can’t afford the most expensive computer, it’s okay. Whether you program on the least expensive or most expensive rig, the skills that you are learning will be the same. That being said, there are times when you get to a point that you should upgrade.
Upgrade When You Need
My band recently played a gig for friends and family, and the audio that we had for our singer was terrible. It was hard for everyone to hear the lyrics, and we needed a change. I researched and bought a new speaker, and it has made a huge difference to the sound of the band.
In programming, you will run into similar road blocks depending on the field you are in. When you are learning, don’t feel like you can’t get started on what you have. As you continue to grow, though, you will see use cases for what you could use to maximize your time and build what you need.
One more point about this is also upgrading the tech stacks that you are working on. Especially in web development, it seems like there is a new framework every week. It is okay not to know all of them. Master one, and then you will know if you have hit a barrier that you need to learn something new.
Have Fun
Playing the drums is one of the most satisfying parts of my life, as is programming. In both, I have learned to have fun while doing it. Enjoy learning and enjoy struggling through problems because once you finally figure it out, you will start making sweet, sweet music.