I've come to realize that I've learned a lot from freelancing and performing as a professional musician. Those skills have helped me a lot in my office job.
Office Job + Music Overlap
- What's harder -- presenting your work to a client OR
- Performing in front of thousands of people in a stadium
- Performing in school juries, in front of the entire faculty whose job is to point our the flaws
- Playing for auditions, where the first time you meet the soloist and their music (if it's non-standard) is in front of the audition panel.
- In an office environment, you have to be able to get along with your co-workers and work as a team to create an amazing product.
- In the music world, you will deal with larger-than-life personalities and you will need to cooperate with them if you want to thrive.
- In the freelance world, you're going to work with a lot of different teams and different kinds of teams.
- Nobody likes getting taken advantage of, and you'll need to stick up for yourself and your limits of what you can do in a certain amount of time to keep your sanity.
- In the music world, you will get taken advantage of and you will learn the hard way to have your rate in writing, to ask before you accept the gig how much it will pay, and to insist on getting paid before the gig. I still remember the times I have been ghosted after a performance.
- In the freelance world, you set your own boundaries for work hours, client expectations and rate. There's a point where you get so busy that you have to say "no" to new gigs and need to raise your rate so you don't work 12 hour days, 6 days a week.
Developer + Music Overlap
- In the opera world that I come from, I had to know how to translate and fluently sing in Italian, German and French. I also had to know how to read music. The syntax is slightly different for each of these languages but there are similarities. You will learn something new from every new piece of music.
- In programming, you've got to know multiple languages. My current lineup is HTML, CSS, PHP, JS plus Bootstrap (CSS), Foundation (CSS), Tailwind (CSS) and Gatsby (JS). You will learn something new in every project.
Better, not best
- Your code is never going to be perfect. You will constantly seek to improve and make it the best that you can, but if you're striving for perfection, you will never finish that project.
- In music, we have a performance date set far in advance, and we practice for hours every day, for months to strive for perfection. When that date comes around, you have to go on stage and perform, barring major illness. You're going to make mistakes on stage (sometimes big ones) and you will survive and do better the next time.