John David Soto
Life, software, and organized chaos

Life, software, and organized chaos

How being a musician helped me learn to tackle personal doubts

John David Soto's photo
John David Soto
·Nov 12, 2021·

4 min read

Musicians get imposter syndrome too

If you follow me on Twitter , you might have noticed I occasionally post clips of me performing cover songs. I'm pretty much fine doing this on a public platform where lots of people can potentially see it. But once upon a time, I would freeze about playing in front of people. Especially if I heard someone else play first and they were good, my brain and fingers would just act like they had forgotten to play and if asked if I wanted a turn I would just politely decline.

Kind of how many newer developers may feel about sharing their code with more experienced devs. Why would you share your code? They might think you're an awful developer, or they might harshly criticize you, or... well I'm sure we each have different reasons when we are hesitant to get feedback on our code. Or there's that fun thing when you do decide to write a little code in front of someone but because someone is watching you kind of freeze internally.

Well, all of those things happened to me as a musician also. Especially because I'm mostly self-taught. And I'm convinced it's common enough with musicians given the number of times I've needed to coax something out of other players when I was in charge of a church band. But eventually, I discovered something cool happens when musicians play with different musicians. Even just in playing with and watching how others approach their instrument, you get inspiration for things to try or work on yourself. And it's not just a benefit for the younger players. The more experienced players will also get inspired. Maybe you have been learning a style or technique they haven't tried yet, or something you do gives them the inspiration to try a different approach. And when you see someone do something you want to learn you can just go, "Hey, would you mind showing me that again." Many musicians are willing to help others, even if some are better teachers or better at conveying what they learn. Coding with more experienced devs you'll likely learn about their preferred tools that help them. This is not about cloning someone else's workflow, but you can and should try to incorporate the elements of their tools that make sense for you.

And the more often you play in front of people, especially if you have the opportunity to play to audiences, you learn and grow in ways you don't by yourself. You also learn how to shake off the mistakes that inevitably happen. Lots of musicians make mistakes. But you can let the mistakes derail you and your playing for the rest of the time, or you learn to laugh it off, shake it off, whatever works, and you get right back into the flow of the music. Before long you'll shake off the mistakes that most won't notice, not that hiding mistakes is the point. Being in the moment and sharing with others is more the point. As a developer, you'll make mistakes, learn to assess more efficiently, ask for help as appropriate, and shake off the ugly feelings that can come with mistakes so you can get back into the right frame of mind to continue writing software. Doing all this with others will likely shape you in ways that doing it by yourself won't. You will open yourself up to opportunities for feedback you wouldn't otherwise get.

If you haven't done pair programming, or mob programmed since that is also a thing, it can be really intimidating to consider doing. Even experienced devs might dislike the idea especially if they have had poor experiences in the past. I humbly suggest that, like playing music with others, programming with others is not trying to simply recreate what you do as an individual but rather it is an opportunity to create a different sort of experience with another person. The end results in the case of programming being functional and clean (hopefully, or at least eventually) software that does something meaningful. Both software development and music are crafts that have creative and artistic elements to them, even if they aren't obvious or exactly the same.

So be brave! Begin with people you trust and learn to create beautiful things together.

 
Share this