CJ Horton Applies Music Theory to Computer Programming
CJ Horton recently joined our team as a Software Engineer. Previously, she worked through our Apprenticeship program. One of the reasons I’m excited to have CJ on the team is that her interdisciplinary background allows her to find great solutions to many different problems.
We’re so inspired by the way she draws on her interest in books and music to help her become a better software engineer. She shares her story with us below:
The long and winding road to joining the Revelry krewe
My background is different from that of many software engineers. I didn’t grow up playing video games or building computers, or other stereotypical programmer things.
Mostly, I devoured books and music, and I analyzed them to death for whoever would listen to my theories. As a student, I found nothing more satisfying than taking something complicated, breaking it down into its component pieces, and putting it back together again – whether that thing was an 18th-century poem, a piece of Renaissance polyphony, or a math problem.
Forever the Academic?
I thought my future self would be an eccentric academic, writing brilliant interdisciplinary papers and leading ground-breaking class discussions. But by the time I graduated from college with a double major in music and English Lit, I had doubts about this path. Did I really want to spend my life in the ivory tower, separated from the problems of the real world?
The answer, as you can guess since you’re reading this post, was no.
It wouldn’t be until much later that I found a better outlet for those analytical skills: I wrote my first bash script to automate a few steps while processing ebook files for a small publisher. I automated myself out of that job, and started learning to program in earnest.
Apprenticeship: Learning to program
I found it surprisingly similar to music theory – after all, written music is a collection of obscure symbols with specific, very precise meanings that fit together in different ways. A program just needs to be interpreted by a computer instead of an orchestra or choir.
And even better, a program can help solve real, practical problems, like automating repetitive and error-prone tasks or managing large amounts of information.
Since joining Revelry, first as an apprentice and then as a software engineer, I’ve found this early interdisciplinary background to be a real asset. The problems I work on these days are just as varied, though they’re far from academic, and I get to work with and learn from an amazing team. I’m incredibly proud to be part of the future of this company.