Monday, December 10, 2007

Should You Get A Master's Degree?

I'm currently a couple of semesters away from (hopefully) earning a Master's degree in Software Engineering. It has been a long process, one that I'm anxious to see come to an end. Working full time, while taking one class per semester, drags the process out much too long.

If I could travel back in time, I'd tell my younger self two things:
  1. Google's stock won't be overpriced at $100 when they have their IPO.
  2. Don't waste your time getting a Master's degree.
Waste is probably too strong of a word as I don't feel the entire process has had no benefit. I was able to take two programming classes I didn't take as an undergraduate (databases, compilers), and I've learned quite a bit working on my thesis project (more on that later). Having a Master's degree may provide me the opportunity to teach later in my career, something I always thought I might enjoy.

But overall, I feel that my time spent on course/project work could have been spent on things that would have improved my personal brand much better. Looking back, I could have built a website using Ruby on Rails, contributed to an open-source project or spent more time improving my writing skills by blogging regularly (at this current moment, writing a blog post is a way to procrastinate on my project). All of these activities would make me much more attractive to a potential employer than would having a Master's degree listed on a resume.

My thesis project is an attempt to build an automated refactoring tool for C++ programs. I knew going into the project that writing such a program was a fool's errand. But it seemed interesting at the time and I knew the project would be approved. Although I have quite a bit of work left, assuming I get as much functionality completed as I think I can, I'll be pretty pleased with the end result. It will be more of a prototype than a complete program. But one only has to do a Google search on parsing C++ to see why I think a prototype would be a pretty nice accomplishment.

So to answer my question, no, you probably shouldn't get a Master's degree. Instead spend your time learning/building something you find interesting, something that could impress a future employer or turn into your own business.

If you ignore my advice and still want to get a Master's degree, I would then offer you this advice. Get your degree immediately after you finish your undergraduate degree. Don't start after you are in the work force and have to take more than two years to finish. Also, wait until after you earn your degree to get married and have kids. :)

No comments: