Statistics: Telling the Story
June 24, 2021Vue Tutorial: Some tips and tricks to help you become a Vue master
July 13, 2021I’ve spent over 10 years making a living as a professional musician. Singing, playing organ, and playing piano have been a large part of my life. When I began coding, I started to notice some similarities between my music career and programming. Here are some ways my musical journey has related to web development:
- Music is code: In order to play music on an instrument, we have to understand the musical language. Whether it is the language that we hear, or the language that we see on the page, there are certain groups of notes and chord patterns that sound good together. To become good musicians we have to understand that language, and it comes in many different variations. What musical clef is it in? What is the time signature? In the same way, as programmers, we have to understand how to speak the language of the code. It comes in many different but similar programming languages. Is it Javascript? Java? Python?
- Units: When looking at a challenging piece of music, it is important to break it down into manageable sections. These sections can then be played in a variety of different ways, slow, reverse, hands separated, different rhythms, and so on. In the same way, we might break up a program or service into manageable functions, and run unit tests against those functions for a variety of different scenarios.
- Snippets: A pianist spends hours playing scales or specific patterns, snippets, that are used frequently in their everyday repertoire. The more a pianist understands these scales, the easier it is to execute them. Increasing the number of scales and patterns provides a wider and more interesting musical language. In code, we use specific structures or best practices over and over again. The more we understand the code or data-structures, the easier it is to implement them or know when they are appropriate.
- It looks and sounds easy: Some pieces of music, at first glance, whether it be the tempo or the way the notes look on the page, often appear to look easy. Upon further inspection and reading at the piano, the piece becomes a struggle or hidden nuances jump out of the page. In the same way, there are certain problems in coding that seem very straight-forward. As you dive deeper into their scope, you find yourself down the rabbit-hole.
- Code-release: When the music has been rehearsed and technique is top-notch, the outcome is beautiful music serving the spirits of those listening. When the code has been edited, revised, and tested, the outcome is a beautifully-working service, for a client to enjoy.
There are certainly many more similarities that can be discovered here, and there may not be such a profound point to all of them. However, if you find yourself in a similar career switch, this might provide some encouragement for you. A skill such as piano does not directly transfer to a job as a web developer, but the lessons learned in practice are never wasted.