Alumnus Profile: Brad Hayes
What attracted you to BC? Computer Science?
One of my good childhood friends was a year older than me and had great things to say about BC. Once I visited, I connected particularly well with the university’s atmosphere, small class sizes, and great location -- and knew it would be my top choice.
I had been interested in Computer Science from a very young age, mostly because I enjoyed computer games and wanted to make my own. As I grew up, my interests and motivations diversified beyond video games, but the desire to create things remained constant. At BC I was excited to be introduced to the resources that I needed to expand what I had been able to teach myself growing up, starting with a class taught by the professor who would later become my senior thesis advisor: David Martin’s CS102 Data Structures class. As my first introduction to ‘real’ computer science, the course introduced a level of rigor and forethought to programming that I had not encountered during my self-study. One of my favorite moments in the course was when we were given an assignment to develop a Connect-4 player using the minimax algorithm – we quickly learned that we could write programs that were better players than we were, with far less effort than it would take us to achieve a similar level of performance. Striking examples of the effectiveness of what we were learning were certainly helpful to stay motivated to make it through the less flashy/exciting aspects of CS.
Did you have a special interest inside of CS?
I particularly enjoyed computer vision, and accordingly one of my favorite courses was Computational Photography. This interest actually ended up defining my senior thesis (creating a software-driven large-format multi-touch screen in 2007-8) and set me on a path leading to my first job after graduation at BAE Systems.
Where are you working now?
After a year and a half at BAE Systems, I went to graduate school at Yale for my PhD in Computer Science where I developed algorithms to allow robots to learn from and work safely together with humans. Afterwards, I spent two years as a Postdoctoral Associate at MIT continuing my research career.
I am now a tenure-track Assistant Professor of Computer Science at the University of Colorado Boulder where I direct a research lab focusing on collaborative artificial intelligence and robotics, enabling humans and machines to accomplish things that neither could do alone.
What is one of your favorite memories from your time at BC and/or the CS department?
During my senior year, a group of us began a weekly tradition of trekking out to IHOP in the middle of the night (usually between midnight and 2am). One week we decided to invite the professors to join us, fully expecting them to pass on the wildly impractical and inconvenient invitation. To our surprise, when we showed up at IHOP for that week’s gathering, a bunch of them had showed up and stayed up talking with us for a few hours. While it might seem fairly trivial, that gesture of community building really meant a lot to us and is really representative of how engaged the faculty is with students in the department.
Another favorite memory from my time at BC was taking Prof. John Gallaugher’s TechTrek class and the accompanying trip to Silicon Valley to learn from executives/venture capitalists from dozens of major tech firms. I cannot recommend the experience strongly enough!
Any regrets? Would you have done anything differently?
I regret not involving myself in any research while I was at BC. During my summers I had been fortunate enough to take CS internships (IBM, IBM Extreme Blue, Microsoft), but I was not involved in any academic research during the school year. While my senior thesis was a very valuable experience for me, it was more engineering work than research. Now that it is my full-time job to do research, I think I would have greatly enjoyed the experience during my undergraduate years as well.
What message would you like to convey to the current undergrads in CS?
Build things outside of your coursework! Taking CS courses will give you the foundation to be a great software developer / engineer / computer scientist / etc., but it is not sufficient on its own. The best thing you can do for yourself while you’re here is to make stuff, ask questions, and engage with others. You are surrounded by people who are invested in your success – take advantage of it! (Also, ACM meetings and the BCVC startup competition are great places to meet other makers.)
Along those lines… get involved with your department and meet as many people as you can! Talk to your professors about their research, and if it sounds interesting to you, ask how you can get involved (don’t worry if it sounds dauntingly over your head – you’ll be able to learn pretty much anything you need to know). Find internships to do over the summer, as industry can teach you lots of things you won’t get from a classroom. Finally, sign up to TA: the extra money is nice, but you’ll find that you will really understand concepts once you have to teach/clarify them to others. Some of my best friends from BC are people I met while TA’ing that I may never have met otherwise.
And finally, if you’re interested in graduate artificial intelligence and robotics research, my research lab is always looking for top talent!