B.S. Computer Science/History 2005
M.S. Computer Science 2009
How did you become interested in your field?
When I was 7 my parents bought us our first home computer: an IBM 286. It came with MS-DOS 4.0, EGA graphics (64 colors!), and an early version of Microsoft Flight Simulator (and Windows 2.0!). I was hooked from the moment I laid eyes on the thing. I eventually got my own Compaq machine with a modem to surf BBSes, Prodigy, and eventually AOL. The first thing I ever saved up for was a 1 GB hard drive (200 dollars…worth every penny). I’d spend days cooped up in my room playing adventure games, questing MUDs, and death matching Doom II and when I was bored I fooled around with QBasic and C/C++, eventually writing my own crude programs and delighting in the fact that I could control the thing. Because I played so many games and spent so much time on the computer I became a troubleshooting expert. In those days you couldn’t look stuff up on Google, you had to rely on your own problem solving skills, your group of like-minded friends, and perhaps a visit to the computer shop to get stuff to work. It was a natural progression from that to doing CS. I didn’t even have to think twice about what I wanted to do with my life: make video games (isn’t that what everyone wants to do?).
What do you do for a living now? What do you enjoy most about your current career position?
For the past seven years I’ve worked as a software engineer for Northrop Grumman here in San Diego. The best part about it is getting to be around and play with really cool military hardware and systems. I enjoy getting out in the field with a whole team of people and being a part of a fast paced integration effort. I also take a lot of pride in seeing things I’ve worked on be mentioned in the news.
What have been the biggest challenges in your career?
The thing they don’t tell you about the workplace is if you want to get promoted and have your opinion count you can’t sit around and wait for it to happen. At first I thought my job was just to write the best code I could and leave the rest to others. Be proactive. Go after extra work, let the right people know when you’ve done a good job, and advertise yourself. Another challenging aspect of my job has been keeping my skills up to date. When I graduated, PHP 4.0 was at the forefront of web development. Now we have a gazillion web frameworks, HTML 5, NoSQL databases, and node.js. If you don’t do a few side projects and keep up to date you’ll be obsolete before you realize it.
What is the best professional lesson you learned from the Computer Science Department?
Oral and written communication skills are of the utmost importance. If you can’t present, express and articulate ideas properly people are MUCH more likely to ignore you. Oh and COMMENT YOUR CODE.
What was the best class you took? Did you have a favorite Professor?
I really loved CS 440: Social and Ethical Issues with Professor Alan Riggins. It introduced me to concepts like the singularity, explored the social issues surrounding technology and opened me up to the possibilities and responsibilities that come with doing software work. It is a really relevant class when you think about the startling number of problems technology presents to our society on a daily basis (just go on Slashdot everyday if you want proof). To truly be a good technologist and not just a coder you have to be armed with this sense that you can change the world literally overnight and be aware of the implications of that change. It was also a refreshing change of pace from all the other more technical classes and Professor Riggins taught it very well. I had Prof Riggins for 3 classes (Assembly, Data Structures, and CS 440) in all and his professionalism and willingness to help desperate students were well above what he was required to do. Another fantastic class was CS 652: Emergent and Adaptive Computation with Dr. Lewis. Not only did we explore some very novel AI algorithms but we did so in the context of learning why and how complex systems work and the properties of “emergence”; that is how complexity arises from simple interactions between simple agents (cells, neurons, etc.). It is one of the most fascinating topics I’ve ever encountered and I still apply it to my work years later.
What is your favorite memory from the time spent in the department?
It has to be the all-nighters spent debugging code in the old Rohan computer lab downstairs in BAM. The camaraderie and fellowship among students was so energizing it helped me finish a lot of last minute projects. That and plenty of caffeine and junk food. The sense of relief and accomplishment when you finally got your project working was equaled only by the dread of seeing your classmates leave one by one, knowing you still had some bugs to fix and they were done. When we moved over to the new GMCS building that lab disappeared but the study areas on the fourth floor were a good substitute.
What advice do you have for our current students?
In school, sometimes it’s hard to imagine where things fit in and classes apply to the “real world”. Sometimes they actually don’t, but a substantial majority of the time the concepts and practical skills you learn in lecture and projects come in handy. Don’t miss lectures, and don’t just muddle through projects. Make the most out of office hours, ask questions in class, and enrich yourself with side projects. Also…study up on software engineering principles (design, processes, and best practices) because that’s something I felt was lacking in the curriculum. After graduation, take chances and really put yourself out there. It sounds cliché but it will serve you well. Don’t rely on society to reward you for your accomplishments. Chances are no one will notice. If you think you want to go out and try a startup don’t hesitate, the stable job will always be waiting for you on the other end. Even if it fails the things you will learn will be worth an entire MBA.
If you are an SDSU Computer Science alumni and would like to submit an alumni profile for the web site please email firstname.lastname@example.org