1. Where did you grow up?
I grew up in Greensboro, North Carolina. While Greensboro isn’t known for its tech scene, I was able to take several computer and programming-related classes in high school which helped me to get a handful of internships and entry level positions at a pretty young age. My father always helped nudge me toward working with computers, starting with buying a Commodore 64 for the house in the mid 80’s.
2. What did you study?
I went to Berklee College of Music and received my degree in Music Business Management. It might seem like a bit of a strange path, but I was always trying to position myself at the intersection of music and technology.
3. When did you get into programming?
I was taking a computer networking class in high school and heard about the C++ and computer science classes that they also offerred. It seemed really interesting, so I signed up for both, which gave me around four hours a day at school to work on programming. I had a few false starts trying to teach myself programming when I was younger, but didn’t have a mentor or the right resources to pursue it properly. After high school I took a few years off programming to go to Berklee, but then picked it up again shortly after.
4. How did you learn programming?
Although I took those computer science classes in high school, I don’t think I really learned to program in a meaningful way until after college. The computer science classes gave me a good foundation, but programming and CS are actually two pretty different things.
I worked for a web consulting firm and a startup after college, but in non-technical roles. I was drawn into what the developers were doing, but I had never really done any server-side web programming. After the tech startup a friend at my coworking office said that he really needed a developer to built a Twitter-related application and asked if I could do it. I told him I really had no idea if I could, but I would try. He agreed to pay me to build his prototype, which I did, and he went on to get the startup funded by using this prototype for demos. This served as a great crash course for me, taught me a ton in the process and served as a great springboard for my future development career. Five years later, they are still in business and doing rather well!
5. How did you get involved with the Awesome Foundation? What’s one of your favorite projects?
The Awesome Foundation gives $1000 grants to people to do awesome things, no strings attached. I knew Tim Hwang, who thought it up, and most of the other original trustees from working around Cambridge, and as soon as I heard about it I told Tim that I wanted to be involved.
My favorite grant so far is probably the Grassroots Mapping project by Jeff Warren, which uses low-cost aerial mapping techniques to build public datasets, especially during times of crisis like the Gulf Oil Spill.
6. Do you see a connection between the music and programming?
There’s definitely a big connection, especially for experimental and electronic music. I’ve written pieces that were 100% code in CSound for example. But even for more traditional music, a lot of the thought patterns are similar. You need to write out explicit instructions to get the desired results, understand the tools, logic patterns and connections between everything.
7. What advice would you give an aspiring programmer?
Don’t be afraid to try things that you’re entirely unfamiliar with, and don’t be afraid to fail. Jumping deep into a complex problem can be a great way to learn, and even if you can’t solve the problem you’ve learned a ton in the process. We all run into silly problems like typos in our code, so don’t worry about it when they happen to you. Also, code some every day, make small contributions (even documentation) to open source projects, use Github to read code that others have written.
Initially, I’d also advise to focus heavily on learning a single server-side language like Ruby or Python really well. Don’t jump around between languages too much at first. Once you learn the concepts of one, you’ll be able to pick up others relatively quickly, but you’ll set yourself back by doing Hello World programs in 10 different languages and never pushing past that.
8. What are your thoughts on learning to code?
The demand for developers is increasing. You don’t have to be a genius or to have been doing this since you were eight. The competition between companies is fierce for engaged, curious and creative individuals who want to make great things in technology; but there is also an opportunity to create your own path, start your own company and create your own product.
The resources are out there, and the main thing that is needed is your drive, passion and willingness to learn. There has never been a better time than today.