Cornell University
more options

Nick Heiner, InfoSci Major '12

What are you doing now (job title, company, location)?

Software Engineer at Opower in Arlington VA. I’ve been here since I graduated from Cornell in 2012.

Why did you decide to choose Information Science for your major?

My first semester, I took both Intro to Web Programming and Intro to Computer Science. They were both a lot of fun, but with the web course, I was building apps that were something end-users could touch and appreciate directly. This was more compelling to me than the comparatively more abstract searching and sorting algorithms we studied in the CS course.

As I continued through my freshman and sophomore year, I took more CS courses, but enjoyed that IS provided a blend of not only “how do you build it?” but “what is the right ‘it’ to build?”

Did the program meet your expectations?  Why?

Definitely. I was hoping to learn a ton about how to make computers do what you want, but also gain greater context around in which computers are used by humans (anthropology, econ, design, etc). I feel that I got both out of the IS program.

Did you feel you had a clear-cut goal either before or during the program?

Before - not really. I had some silly idea that I would be a creative writing minor and maybe write “screenplays” for video games. When I started the program, I learned how much fun coding is, and gravitated towards a more engineering focused role after that. However, I never had a particular goal like “I want to do my own startup” or “I want to work at a big tech company” - all of those plans sounded awesome. Really, I just enjoyed using what I’d learned in my classes to build cool things.

What courses did you take that have helped you most in your career?

In my current role, I’m building dev tools to enable teams across my company to create web apps using our data. This plays really well to my undergraduate curriculum - my experiences from the Human-Computer Interactions courses help me to build tools that developers will find fun and easy to use, and the CS courses taught me how to implement my ideas and bring them to life. In particular, building a platform instead of a product is much harder, so I’m thankful for the depth and breadth of CS courses I was able to take at Cornell that equip me to do so.

CS 3110 really helps you think about programming in a more sophisticated way, and OCaml/functional programming lends itself nicely to many interview questions. CIS 3000, 4002, and the independent study I did continuing on those courses taught me more about software engineering than any other classes at CU. INFO 3450 has really helped me have an eye for UX and design issues; even though I not responsible for that in job, it’s helpful to be able to speak articulately with the people who are.

Were there other experiences that were part of being an IS student that have helped you in your career?

Being a TA was really fun, and has helped me become a better code reviewer, which is an essential skill for being on a modern software team.

What advice would you give to a current student in the program?

Take game design courses! Just not in the same semester as any other difficult class.

Don’t blow off CS courses like CS 2110 - being able to implement your own ideas is enormously useful.

Take a course from DanCo (Dan Cosley), regardless of what the subject matter is.

Get involved with TA-ing. It’s a great way to meet other people in the program, students, fellow TAs, and professors.