Monday, December 6, 2010

Wish you had a Computer Science degree?

Interviewing for a Software Engineering role is tough, we’ve discussed it before in this blog so I’m not going to recreate the wheel. It’s especially hard if you come from an engineering background but not Computer Science. Lots of great engineers have degrees in Physics, Electrical Engineering, Math.....anything really, including no degree. However, some companies interview in a way that really gives classically train computer scientists an advantage as the really look for the kinds of skills you’d learn in a Computer Science program.

So, you’re interviewing at one of these places or thinking about it so what do you do? Well, here’s what you take a free set of courses from the MIT Open Courseware program and give yourself a crash course in Computer Science that’s what you do.

It’s amazing really if you think about it, a school as prominent and prestigious as MIT offering free courses online. If I was a Software Engineer, these resources would be critical to my success and long term ability to keep learning new things.

Anyway, here’s a few quick recommendations on courses to take and give yourself an ad hoc Computer Science education:

- Introduction to Computer Science and Programming - have to start here. Some of this info might basic but getting the basics right will ensure you’re on the right path.

- Introduction to Algorithms - this course covers common algorithms, data structures and search trees.....have to know this stuff and know it like the back of your hand.

- Introduction to C++ - I’d consider this one the bonus course. Not every job requires C++ programming skills so it’s not like you HAVE to know this stuff...I will say thought that knowing C++ is never a bad thing so taking a few days to knock the rust off your coding skills will serve you will either in the interview or in your next job.

That’s a start, there are a ton of great free resources out there that people tend to ignore. If a school like MIT offers you free courses.....take them, learn some new skills, improve a few old skills and ace that next interview!

Good luck!