If you are a musician, you already have the fundamental skills and necessary rational thinking and feeling processes to become a competent computer programmer. Music, like programming, is all about knowing basic theories, forms, and structures. For example, a musician studies scales & chords, all twelve music keys, forms & song structures, melodies, and lyrics. A musician may even take ear training and harmony classes to analytically better understand music.
Music theory is a way to define sound’s intangible qualities; music is grasped through a numerical system that logically describes it. Music theory and logic helps a musician express feelings, thoughts, and emotions. The more knowledge and understanding, the more colors an artist has to choose from his palette. Different scales, chords, and keys convey different emotions and every artist has a unique creation process that takes information and turns it into inspiration. This is called artist style.
A musician’s mind works at a high rate of speed similar to a computer’s central processing unit. Data is being processed very quickly; the theory, potential choices, and musical notes go through a filtering process until a musical decision is made. The creation and selection process that musicians go through is very similar to computer programming.
Like music theory, computer programming is all about knowing the basic essentials. No matter what computer language you learn, foundations remain the same. Programmers learn about variables, how data is stored, functions, loops, if/then statements, libraries, object-oriented programming, classes, writing clean code, and understanding basic syntax. Syntax refers to correct punctuation within a computer language. Programming concepts, like music theory, give the programmer better tools to work with.
Computer programmers solve problems by essentially playing the computer. Computers are generally stupid, and need a person to tell it what to do. Computers are like instruments. There is no one way to solve a problem through code as there are many possibilities to reach an endpoint. Like musicians who have different methods and processes to reach a destination, programmers too have different styles to solve problems. Every programmer’s code may look a little different. As in music, there is also a freedom and creative process in programming. Both musicians and programmers are creators and think at high rates of speed to achieve goals.
When a musician writes a song, the listener hears the final product and has no idea how the artist came up with the song or the artist’s process. When you use a piece of software, you do not see the inner workings of the code and computer language. The programming and music creation process is very similar and requires the creator to think in multilayers. The inner workings of a song consist of multiple stages. For example, maybe a song was written and birthed on an acoustic guitar. The musician composed a basic melody with chords during a peak moment of inspiration and creativity. Shaping it more, the musician may create and refine song structure; verses, chorus’, and the bridge. The musician then matches lyrics to melodies.
Songwriting is all about rewriting and editing. So is programming. It may take a musician many different edits and song forms to arrive to a complete and finalized version of the song where the guitar chords, lyrics, and melodies work and flow harmoniously. The musician might record the song with a full band and instrumentation. This is a tedious process that requires skill and time. The mixing and mastering process may be just as rigorous. The creation process, while managing complex counterparts to arrive at a finished song, is the main reason musicians are already natural programmers.
We live in a software-based world and every smart device we use is programmed in a computer language. There are many different computer languages and each language serves a purpose. Think of computer languages as different musical instruments. Each instrument and language have a unique vibe, style, and tone. Every app you use or website you go to is written in code. In a sense, coding and computer programming rules our digital world. Think about Spotify. The music app does not just magically appear on your iPhone. Millions of lines of code were written to ensure the user has a music store in the palm of their hands. Every song, album cover, genre selector, artist bio, button & menu, font face, text, and audio scrolling playback feature were programmed and coded by someone.
Artificial intelligence is used to predict songs you may like based on prior songs listened to. The Spotify user sees and hears the end result without really knowing the inner workings. Spotify’s creator and team had to choose computer languages to create it. The in-depth aesthetic and functionality of Spotify had to be rigorously designed and coded. Tens of thousands of new songs are uploaded daily to the platform and all the songs need to be stored on servers. The amount of code required for this aspect of the platform is immense. A majority of Spotify was written in Python for overall speed. Java and C++ programming languages were also used. Creating Spotify may be more similar to creating a forty-piece symphony multiplied a few hundred thousand times. Juggling many facets during the creation process is something that musicians already naturally do and are familiar with.
If you are new to programming and looking to learn, I recommend sticking with one language. Learn as much as you can about the fundamentals, basics, and rules. After you learn the fundamentals of one language, they are applied to other computer languages making every other computer language easier. Your first computer language is the hardest. As a musician who is also a programmer, Python is an excellent starting language to get up and running. The syntax of the language is pretty straightforward and designed nicely for a beginner. I recommend downloading Python from their main website. Thonny is a great basic integrated development environment. An integrated development environment also known as an IDE is a window where you write and view Python code. Don’t let computer terms intimidate you as they are often big words that can be explained in easier ways. You can download Thonny from their website. For your first line of code, I recommend: print(‘Hello World’). After you click run in Thonny, Hello World will appear on your computer screen. Congratulations you are now a programmer!
If you are serious about learning programming, taking classes at a college, doing an online bootcamp, or learning from programming books are all valid ways to learn and get experience. There is no one right way, as there are so many learning avenues. The best thing to do is pick an avenue and stick with it. After going back to college to learn programming, sifting through tons of books, and YouTube videos, I feel that Stefan Mischook (ABS interview) is one of the best programming teachers around. He is a musician and martial artist and explains things in a very easy, attainable way.
Software Development and Computer Programming jobs are some of the highest paying, consistent jobs. Making a living from music is beyond tough and if you are lucky enough to have hit songs or be in a well-established band, God Bless You. For the rest of us mortals, it’s a constant hustle of booking music gigs, playing the gigs, and teaching music just to pay the bills and rent. Programming may be something to look into if you are looking for a career that pays extremely well and comes with awesome benefits. Also, software is only going to keep increasing and the creative possibilities are endless in the software world.
Unfortunately, there is not a 401k or retirement plan in music. Computer programming may be the ticket to solve your financial blues. Who knows, it may make your music better and more balanced.