MusiCoder Profile: Patrick Dawkins, violinist & staff engineer

This is part of a series getting to know the people in the MusiCoders Slack group who are both professional musicians and professional software engineers.

What is your current programming and musical life?

I think of my working life as a 50/50 split between tech and music. I clearly can’t do as much as a full-timer in either field but I find dividing my time interesting and refreshing.

I work for as a staff engineer, designing and writing web API services, scripts and tools (in Go and PHP). The company originated in France but it allowed remote working from the beginning, and has developers all around the world.

I’m also the second violinist in the Ligeti Quartet (since 2010) and I do some freelance work in and around London – mostly chamber music, orchestras and sessions.

What is your primary instrument and what age did you start learning it? Did you study any other instruments, either as a child or an adult?

I learned violin and piano from the age of 7, and violin took over at university.

What was your experience of learning a musical instrument, and how did it differ from your experience in learning to program?

Learning music was very structured. In music you often go to a 1-1 tutor every week from an early age – imagine if you had that for programming! Maybe people do these days. I learned code by writing it and looking things up every step of the way, first via books and later via Google.

How old were you when you started programming? Why did you start programming?

My dad taught science and computing in my school. So I started probably around 8, first doing silly things in BASIC, and then a bit later making websites in HTML and a bit of C or Perl, and later PHP. Many tables were involved. It was a hobby until late in my degree when I started doing it for money too.

Do you have any specialisms in your musical performance?

Contemporary string quartet music. The “contemporary” part is not a genre, it usually just means the composer is still alive, and rehearsals are often a collaboration or at least a discussion. “String quartet” is also not a genre but it does seem to be a particularly complex and rewarding occupation. I studied a bit of Baroque violin and I love that music but it hasn’t featured in my professional career.

Do you have any specialisms in your programming?

Backend web development. Mostly this involves designing and writing API servers and clients. I currently work in Go, PHP, a little bit of Python, a tiny bit of JavaScript, and plenty of shell scripts. Like any developer I enjoy new, greenfield projects but I have done a lot of work on preserving backwards compatibility for “legacy” APIs and tools.

Do you hold degrees in music, computer science, or something else?

An undergrad degree in Music followed by two years at a conservatoire.

What influence, if any, does your musical background have on your programming, and vice versa?

Musical work is often really independent, and I like to think that makes me a more self-directed programmer than I might be otherwise. I’m comfortable with not being able to understand something, and with learning by doing. In the other direction, I think the business and project management ideas I’ve learned from tech are quite helpful in music – what to do and what not to do. And it really helps in both fields to know how to use a spreadsheet.

Aside from music and software, what other hobbies or pursuits do you have?

I have a toddler and that’s plenty for now.

What would you say to a musician considering a career change into programming?

I still do both, so I might not be the best person to ask. I think getting into open source can help; it means you can learn how to collaborate with other developers before you even have a job, and those collaborative “soft skills” are the most important ones.

Both of my careers can be wonderful and really hard on different days. But the killer feature of the tech industry is the potential for ultra-flexible remote work.

And finally, what advice would you give your younger self when you started programming?

Slow down – take a little bit more time to design and research first, and write tests, and leave the code a bit later. But also, feel freer to venture into technologies you’re unfamiliar with, it never takes as long to learn as you think.

More Info

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s