Music as preparation for a computer science career
Today on Twitter, an informal survey is making the rounds on the experiences of software developers who came to the field from “non-traditional”, that is, non-CS backgrounds. I’m not sure if I should consider myself the target audience for the survey: on one hand, I do have a couple of “traditional” CS degrees by now, and I’m in mainstream CS academia; on the other hand, I didn’t set out to study computer science when I started college (and certainly didn’t consider doing so prior to college, either), and I was a music major for two years before I added a second undergrad major in CS. I did go ahead and fill out the survey, and I thought I’d also share my answers here. I’m curious to hear from others whose experiences are like mine.
What (non-Computer Science) field/profession/vocation was your background in before tech? How long were you involved in it?
I was focused on music for my first year in college before I started studying CS. By then, I had been studying music for eight or ten years on and off, if we count things like lessons as a kid.
What accomplishment in that “non-traditional” background are you most proud of?
Getting into and then singing with a decent choir in college for four years, then later getting into and singing with great choirs in grad school for a year and a half. Singing in many languages. Studying, writing, and performing jazz. Writing and performing music that I was proud of and that my friends liked. Learning to think critically about and write about music. Performing in a charity benefit tribute concert for a band that was important to me. Getting to work with various composers to premiere new pieces.
What is your tech job’s title?
Computer science Ph.D. student.
What is your professional role in tech?
Computer science Ph.D. student.
How long have you been doing paid work in development/engineering/etc fields?
About ten years.
What accomplishment in your tech career are you most proud of?
Since starting grad school: developing LVars; various projects involving defining and proving properties of programming languages; working on the Rust compiler at Mozilla; some well-received papers and talks; serving as a resident at Hacker School; teaching undergraduate students. In the jobs I had before grad school: building lots of automation infrastructure and improving organizations’ software development practices; teaching middle-school kids.
Do you have a degree in Computer Science?
What skills from your “non-traditional” background been especially valuable for your tech work?
This doesn’t have to do with music in particular, but just to do with the fact that I didn’t start programming until partway through college: because of the way my school’s curriculum was organized, I learned lots of academic esoterica before I ever learned certain nuts-and-bolts basics. In some ways I was worse off for that, but in other ways it gave me a superpower. I was able to go back and fill in the gaps later.
Regarding studying music specifically, it was valuable for me to be in a gender-balanced environment in the choirs I sang in, especially during grad school. It made obvious how unnatural my otherwise mostly male work environment was. Furthermore, it gave me the opportunity to make friends outside my department.
A last thing that was important for me was seeing how hard musicians, and others employed in the music industry, work. When I worked as support staff at a music festival for a summer, I probably worked harder than I ever have as a computer science researcher. And, as a musician, of course, the lion’s share of the work is unpleasant (practicing all the time; hauling expensive, fragile, heavy things around all the time; odd hours; low pay; lots of rejection and failure, and having to self-promote in spite of it). Musicians will put up with that because the occasional good moments (putting on amazing performances) are so incredibly sublime, and more or less impossible to get to without putting in all the drudgery. I’d like to think that all this was good preparation for research.