The CS Masters Degree Distraction

This past May I graduated with a Masters Degree in Computer Science. In the ~6 months that followed, I often found myself reflecting on the value of my new degree. What follows is my best effort to get those feelings recorded.

A Brief History

I started my first Graduate School class in the Fall of 2004 - a data structures course. With a full-time job and a growing family, taking 1 class per semester (and sometimes 2) was all I could manage. In the Spring of 2009, a full 5 years later, I finally graduated. Suffice it to say, these were 5 very long years for me. I often found myself wondering if Graduate School was the right decision. It is not in my nature to half-ass things, and my work ethic contributed to my success. I graduated with a 3.97 GPA. I just couldn't shake my desire to drop the theoretical, roll my sleeves up, and get some real work done.

Graduate School continually distracted me from the things I really wanted to learn.

A Distraction

I often felt distracted while sitting in class. That doesn't mean I didn't learn anything of value though. I had some very interesting courses with some great professors. Just look at the list of my favorite classes below.  You'll probably be envious.  I worked on some challenging team projects and met some really great people. I just never felt fulfilled. Even in my favorite classes, I couldn't help but wonder why I wasn't hearing about things like version control or deployment.  Even my favorite classes left me often feeling a little empty (the exceptions being "Algorithms and Programming" and "Advanced Data Structures").  For me, the experience of being in a graduate school course, or of studying theortetical topics, never held water to my web development books, or my late night hack-a-thons. HTTP, HTML, CSS, PHP, Python, SQL, performance tuning, JavaScript, Apache, server administration, Web Services ... there was no comparison for me.

I often felt distracted while sitting in class ... I often felt like I was pretending to care.

A Developers Quest to be Better

5 years ago I fooled myself into thinking that a degree in Computer Science would make me a better developer. What I didn't realize at the time was that writing code and building things are what really matter ... along with some less tangible inner qualities. At my core I have an insatiable love of learning and an uncompromising desire to improve. The caveat here is that I can't love to learn everything, and I didn't love a significant portion of what I was learning in Graduate School. I often felt like I was pretending to care.  3 hours of straight PowerPoint would be enough to drive anyone insane.  Maybe my negative memories have more to do with how I was learning, instead of what I was learning.

Not a Single Test

One of the courses I was most looking forward to during my time in school was a Software Testing and Quality Assurance course. Imagine my surprise when I got to the end of the course without ever being asked to write a test. Really! I never had to write a single test. Enough said.

My Favorite Courses

  • Algorithms and Programming 1/2 (Excellent Professor made Java interesting)
  • WWW Programming (Learned all about PERL)
  • Advanced Data Structures (Some great C++ Immersion)
  • Current Technologies in Web (Created SimpleMC, and a Rails CMS)

My Least Favorite Courses

  • Artificial Intelligence (No clear direction and focus)
  • Computer Organization and Design (3 hours every week of PowerPoint hell)

My Most Disappointing Courses

  • Software Testing (Not a single test required)
  • Programming Languages (Not a clear focus)
  • Principles of Software Engineering (A group project that did little to mimic the actual software development process ... like firing those who aren't performing)
  • Web Services (Half assed SOAP projects)

Conclusion

In re-reading my post, I don't believe I have captured my true feelings.  But I'm going to leave the words as they are.  Perhaps it will generate some discussion, or perhaps my words will fall silently into the bit bucket. It's interesting that I can have such negative feelings about graduate school, and at the same time look back fondly on at least 5 courses.  In retrospect, a lot of what I've felt might have to do with the fact that I took all my elective courses up front, and left all of my required courses for the end.  Maybe this has more to do with my impressions than I've allowed myself to admit.

For some people, I'm sure a CS Masters Degree would be well worth the time and effort. If you exhibit these traits, and you are considering a degree in CS , than perhaps you should question yourself:

  • You love to learn anything and everything you can about web development.
  • You are constantly buying web development books from Amazon or adding books to your wish list.
  • You subscribe to more web development related RSS feeds than you could possibly get through in a day.
  • You devour any and every web development related Podcast you can get your hands on (or maybe not directly web related. My absolute favorite is Security Now)
  • You don't feel at ease unless you are writing code and building things.

I think you've gotten the idea. Feel free to leave a comment if you agree/disagree.

4 Comments for "The CS Masters Degree Distraction"

Comment 1 Steven - Gravatar Steven

Ya, I totally agree with you. I am going through the same thing myself actually. At work I am a .NET guy up and down and we are convering an AS/400-based monster into something a little more flexible and robust. At school, they cram Java down your throat (which isn't terrible) but I just don't care. I have been developing enterprise software for 6 years now (I'm 30) and I got into it with a book and a dream. I learned from senior developers and made plenty of mistakes. I think the mistakes were more valuable than sitting through a class about algorithms.

Don't get me wrong the information is useful but I'm just so jaded by the whole thing. Like you said I am pretending to care about what is going on and I find myself learning just enough to get by. Maybe if I had an awesome professor it would help but I can barely undertand a word the guy says and he is so smart he's unable to convey what he knows in plain English. Also, these dudes that are all like 23 and 24 have never written a single block of 'real' code that does anything meaningful in a business. Its all been a lot of toy sites here and there and stuff like that. I'm close to just calling it quits and being happy learning on my own. I have a growing family like you said and life is just too short to waste it on horrible classes!

Sat, 31 Oct 2009 02:17:32 +0000 Link

Comment 2 Jason R. Leveille - Gravatar Jason R. Leveille

Well, noone is too smart to convey what they know in plain language. If they can't convey what they know, they're not trying hard enough.

The thing I found the hardest was trying to balance everything I thought I should be learning with all the things I was paying someone to teach me. I didn't do a very good job and I often ended up resenting school - I felt that it was just getting in the way. Like I said though, I did have some great classes, some great teachers, and I met some excellent people. At this point for my sanity, those are the things I need to focus on.

Tue, 03 Nov 2009 02:22:51 +0000 Link

Comment 3 Russell - Gravatar Russell

I'm so glad I stumbled upon your post! I'm a CompEng undergrad contemplating whether to go on to get a MS in CompEng/CS. I have a job offer in hand so I would be forfeiting that if I went, and I've been thinking really hard about this the past few days, getting opinions, reading all there was to read about it online etc.

Somehow after reading this post a light bulb just went off in my head. I want to have the experience of coding actual stuff and not more toy sites etc.(I've done internships before but my job/ass was never on the line) I want to have nights where I can sit down and work on stuff I want instead of going through more coursework, and I want to work on things that people actually use rather than do research which involves optimizing a piece of a piece of the potential whole.

I've decided to at least go into industry for awhile and see how it goes. Thanks for your "inspiration"!

Mon, 30 Nov 2009 01:03:17 +0000 Link

Comment 4 Jason Leveille - Gravatar Jason Leveille

The nice thing about graduate school is that it will always be there.  You can always go back (and perhaps get more from the experience because of the work experience you will have under your belt).  The bad thing about graduate school later on in life is that your life will start to get in the way (a significant other, kids, work, etc).  Whatever you end up deciding, I wish you the best.  Thanks for taking the time to leave a comment.

Tue, 01 Dec 2009 16:53:02 +0000 Link

Comments have been disabled for this post.