Shawn Hershey BA '99
Interview from 2017 Multicast Newsletter
You were forced to abandon your trumpet performance major at ESM due to a lip injury. Tell us about that time, why you changed to Arts & Sciences (we weren’t yet part of the Hajim School in 1998) and why you chose Computer Science.
SH: As a kid I was always interested in understanding the universe and three of my grandparents were in the sciences. So when it came time to apply to colleges I tried for schools like Princeton to study physics and ESM for music. It was a tough choice but I ended up deciding to pursue music. There’s just something so viscerally thrilling about performing. When I injured my lip (nerve damage from over practice), it was therefore fairly natural for me to switch my focus to physics, and staying at U of R made the most sense in terms of finances. I also wasn’t sure if I would eventually be able to play again and switch back to music.
I was intimidated by the idea of studying computer science. I think maybe because I was only mildly interested in *using* computers and many people that I knew who pursued CS spent lots and lots of time with computers before going into CS. Regardless, a HS math teacher had told me that because I was good at logic I would probably enjoy programming and I had another friend at Columbia pursuing it. So I tried a CS 101 course and loved it. It felt more like music than other course that I had taken. Something about the hands-on nature of it and the feedback that compilers and programs give me when developing feels similar. As I started learning about computers I began to get really excited about unraveling the mysteries of how they work.
How difficult was it to have your life’s plans change so drastically during your sophomore year? Do you think you’d be where you are today if fate hadn’t dealt you that blow?
SH: It was a deeply emotional time. A lot of my identity surrounded being a musician and trumpet player. In retrospect, wrapping your identity too deeply into any pursuit seems kind of dangerous and leads to a pride that sometimes undermines the humility needed for self analysis and improvement.
It was a bit of a relief switching to CS. I was having issues with endurance and high register and those are essential skills for a trumpet player. It could be that the injury enabled what I consider to be a very exciting lifestyle today. But it’s hard to say. I might have transferred to CS anyway without the injury (just later), or maybe succeeded and enjoyed being a professional musician very much.
You have 2 very distinct lives – Google Research by day, and swing dancing and playing trumpet by night. Do they balance each other? Does the creativity inspire you? Do flexible work hours at Google allow for such an active night life?
I’d say I have four lives: SW engineering, music, dance, and socializing. I think they very much balance each other out. I remember early on in my career I did a few programming side projects and it was exhausting to code during the day *and* at night. Then again, it can be exhausting to try to do all four of these things intensely during a week. So I tend to go through phases where I focus more on music, dance, or socializing, while continuing to work hard at my day job.
Google is indeed very generous, flexible, and encourages a healthy work life balance. I likely work about 40 hours a week. It depends on your manager but I will sometimes work remotely on a Friday and Monday around a weekend that I’m traveling to some other city to teach dance or play music. However, throughout my entire career, I’ve prioritized my hobbies while making sure I still worked 40 hours a week and was always given the opportunity to work late hours (usually 12-8). So I sometimes suspect that people who work more than 40 hours a week as programmers do it because they really want to or don’t specifically carve out time for other things.
Are you playing in a swing band in NYC? Can alumni come hear you play?
SH: I mostly travel with my swing and blues band, The Fried Bananas (thefriedbananas.com), and we rarely play in NYC. So alumni will have to start traveling to dance events to hear me play. It’s fun! Do it! Though I think I will be transitioning away from traveling for music and might start playing in NYC more. I currently sit in with friends’ bands and sometimes play gigs with them but I’m not very good at publicizing. One way I get by doing so many things is to prioritize and not try to do everything, such as publicizing. Ha! But if any alumni want to come out swing dancing or blues dancing in NYC, they should try to find me and say hello.
Your work prior to joining Google Research was much more applied. Why the move to Google research and how does it differ from your previous jobs? Can you describe what kind of projects you work on and what CS skills or coursework from your UR education you find most useful?
SH: My first job at Teradyne was very applied. My next job was actually at a startup company trying to build hardware accelerators for machine learning. I would say that the startup company was actually my least applied job, though it was very fun. Actually, interestingly enough, I got that job through music. I played in a band with Ben Vigoda, an MIT Media Lab graduate student and eventual entrepreneur. We played in a jam band together and then I worked on a musical video game with him as a side project and so when it was time for him to hire a SW engineer, he hired me. AI has always seemed incredibly exciting to me. I worked on Google Maps for two years but, when my friend Rif, who is now my boss’s boss suggested I apply for the research team, I was excited to do so. Yet again, to some extent I owe the arts for this opportunity. Rif is a social dancer, like myself, and a friend, which is why he thought to reach out to me to apply to the Research job. My Google Research job is actually quite applied. Some teams at Google do purely basic research, but Google puts a lot of stock in considering how your research can fit into a product and have big impact. My team’s work is already affecting products.
Google is indeed a very different place to work than my previous jobs. Both the Google Maps and Research work I’ve done is at very large scale; huge data sets and large numbers of users. Learning to use many computers to do things fast with large amounts of data and all of the Google infrastructure to do this has taken a lot of time. They say your first 6 months at Google are not super productive and despite thinking I could beat this metric, it was after about 6 months that I started to feel really capable there.
It is true that working in research is also different in its own way. You can read more about what I do in a recent paper I co-authored, but the summary is that I’ve been training neural networks to listen to audio clips and find audio events (such as musical instruments, animal sounds, human sounds, etc…). Much of machine learning is actually building pipelines to move large amounts of data around for training and evaluation.
I often tell people that the most impactful courses for me were CS 101, data structures & algorithms, operating systems, and computer architecture. At the U of R I got a BA instead of a BS. As a result I had to do quite a bit of self study to catch up on the research side of things while working at the startup. I taught myself quite a bit about linear algebra, probability and statistics, linear programming and other optimization techniques, and machine learning.
We’ve had an influx of transfer students from Eastman School of Music to Computer Science over the years. Why would ESM students be drawn to computer science?
SH: People have often noted the correlation between musicians and mathematicians or computer programmers. I bet there are lots of articles on this that I haven’t read but anecdotal things I’ve heard make sense to me. I mentioned previously that programming felt more like practicing and making music to me than other disciplines. The interactive hands-on nature of it makes it feel that way I think. Additionally, to be a good musician, it helps to have a good understanding of music theory. Practicing scales, and arpeggios, learning to transpose, understanding counterpoint, etc… feel like they use similar parts of the brain.
Have you done any computational models of music or genetic algorithmic music? Will machines be the musical composers of the future? How would you feel about that? Do you ever think you will work at the intersection of music and computer science?
SH: Quite by accident I ended up in a group dedicated to algorithms related to sound. As a result, I’m working with music to some degree. As mentioned previously, we’ve done some work to teach computers to understand various sound classes, which include music and various musical genres. Most of our work has been applying neural networks designed for computer vision to spectrograms (pictures of sound) rather than specifically modeling music. Other people at Google are doing more with music than I am, but it’s conceivable I’ll get more into music-related algorithms at some point.
In regards to genetic algorithms specifically, I’ve never used them except once in a CS course at U of R. Maybe someday I will, but they haven’t proven useful or necessary for the work I’ve been doing thus far.
The question of whether or not computers will be able to compose and do a better job than humans is an interesting one. Because I haven’t been in the field of AI for as long as others, I consider myself more of a developer of infrastructure and tools for research rather than an AI visionary. With that disclaimer, I think it will be a long time before computers can create a score as interesting and sensical as what a human can write. That being said, I imagine that over time computers will do more to aid humans in writing music. Google’s Magenta project is looking at some of these questions. And, even if computers are eventually able to write something very coherent and interesting, that can allow for even more creative projects.
How do you approach life, more as a scientist or an artist? How are the two alike and how do they differ?
SH: I feel like I approach science, engineering, and the arts in similar ways. They all require diligence, thoughtful problem solving, an ability to collaborate with others, and a willingness to ask interesting questions. Many of the exceptional dancers and musicians I have met have traits that I think would make them very successful engineers at Google if they took the time to develop the relevant skills.
I suppose one major difference is that the performing arts require real time execution and tapping deeply into emotion. Being able to execute something difficult in a performance setting takes a lot of specific and diligent practice. That skill, however, can be useful for giving presentations, so it is not entirely divorced from science and engineering. Another difference is that, in all pursuits, there’s a tradeoff between pursuing what you consider most fun and what others most desire of you. Artists and employees at SW companies both encounter this. Because I am not pursuing the arts as a full time profession, I have the luxury to weight my time in the arts heavily towards fun. I am fortunate that I have been able to align fun and effectiveness pretty well in my SW career as well.
Many students are met with obstacles to their life goals. What would you advise students to do when met with this kind of life-altering of challenge?
SH: I’ve recently been reading about fixed vs growth mindsets. I think the basic summary is that, with a fixed mindset, you believe your capabilities are fixed and a failure means that you are inherently not good at something and a success means you are inherently good at it. A growth mindset assumes that consistent hard work allows you to build skills and even improve your intelligence. Although I feel like I developed a growth mindset over time, I wish I had read about this earlier and applied it to all things in my life from a younger age. I applied to Google twice (about 5 years apart) and the first time I was not even offered an onsite interview. It hit my ego pretty hard. I think with a growth mindset I might have been more comfortable accepting that I could, with hard work, acquire the skills that would allow me to interview well and get the job. That’s just one example, but I like to think now that I could accomplish almost anything with enough time.
I suppose in my case, there was also the fact that I injured myself and was physically unable to pursue music for several years. I guess this is proof that not all goals can be accomplished, even with a growth mindset, so, on the flip side, it’s useful to recognize that there are many ways to enjoy life and allowing yourself to find new paths when one is blocked can be healthy.
We’re often asked if a student with a BA can compete in a market where most jobs require a BS in computer science. What did you do in the workplace or after UR to advance your skills till you were at the level of Google Research, which frequently hires PhDs?
SH: My experience is that one’s degree is useful for getting an interview but, once you get the interview your acceptance is based mostly on your performance in the interview. I would imagine for many programming jobs, a BA is completely sufficient. Once you get into more math intensive areas, though, a BS or masters starts to seem more useful. At Google it’s not very uncommon for folks without PhDs to transfer into Research from another division and, once you’re in research, it doesn’t matter what your title is, you can decide what balance of programming vs science you want to do. That being said, I feel like a PhD could have helped me improve skills related to being in research: asking better questions, wider knowledge of the field of machine learning, how to write papers, and give talks, etc… Though learning on the job is arguably cheaper and equally as effective.
In a previous question, I mentioned that I continued building my skills by buying books and taking online classes to learn linear algebra, probability and statistics, and machine learning. In addition, for my research job, I started reading more papers about neural networks.
Nearly two decades after your graduation, what words of wisdom would you give a student pursuing a degree in CSC today?
SH: I suppose I can reiterate a few things I’ve already mentioned. Check your ego and always be willing to grow and learn. Embrace the growth mindset and assume you can always get smarter and better at all skills with hard work and the humility to ask the most basic questions. Assume that with time and effort you can achieve incredible things.
Another thing that I often think about as a differentiating skill relates to collaboration. A willingness to do whatever the team needs most from you both helps the team and often leads to recognition for the team and yourself individually. At the same time, it’s also useful to let your manager know what you’d like to be working on so they can help position you to do the things you find fun and rewarding. They can’t give you what you want if they don’t know what you want. Additionally, I’ve learned over time that it’s important to make sure your managers know what work you do so they can recognize and compensate you for it.
I guess I’d also like to reiterate what many people already know, that the tech industry has a problem with diversity and inclusion. So I’d like to encourage all humans to give programming a shot. And to encourage anyone who may become a manager or SW engineer to try to help create an inclusive and diverse environment. I think it can help make the world a better place.