Harvard Online Master’s Degree in Software Engineering

by Mark Shead on March 15, 2011

Post image for Harvard Online Master’s Degree in Software Engineering

I’ve seen a lot of questions recently by programmers on Slashdot, Reddit and Stack Overflow basically asking:

I’m writing code, but I’m not very good.  What can I do to change that?

For people in that position who already have a bachelors degree (but not necessarily in software engineering or CS), I’d suggest a little known educational gem.  The ALM in IT degree focused on software engineering from Harvard’s Extension School is an excellent program that will often meet the needs of people who find themselves in the position above. It offers a good education and it one of the least expensive ways to get a master’s degree for someone interested in software engineering. In this article I want to describe the program, my experience and go through class by class and discuss what I found useful.

I completed a master’s degree (ALM in IT) from Harvard with a concentration in software engineering last year. Most of my classes were taken online. I’ve written about what it was like getting an online degree, but I wanted to write up something a bit more focused on programmers who are looking at possibly getting a master’s degree and would be interested hearing about Harvard’s online master’s degree programs.

ALM in IT Degree with the Software Engineering Concentration

The ALM in IT degree is a master’s of arts degree. It isn’t a master’s of science like you’d get if you went to the engineering school. The required courses (see below) were similar to what I’ve seen in many master’s of science degree plan sheets at state schools. If you want to be a computer scientist, this isn’t the best degree for you.  If you want to be a better software engineer, it is ideal because it allows you to choose a good balance of practical classes in current technologies (Java, XML, distributed computing, etc.) with the more theoretical classes (algorithms, theory of computation, etc.).

This balance keeps the program accessible to people who don’t have a heavy computer science or math background.  If you are writing programs, but don’t feel like you are doing “software engineering” you probably have sufficient background to be successful with some hard work and perhaps an extra course in discrete mathematics.

Admission to Harvard’s Extension School

Admission to the Harvard Extension school is simple and very different from the normal competitive college admissions process.  You take three classes toward the degree and then apply for admission. As far as I’m aware, the successful completion of the three courses with B or better is the main criteria for admission. There isn’t a panel of people looking over your application and rejecting this person because they didn’t have enough extra-curricular activities. You must be proficient in English, have a bachelor’s degree and enough of a background in what you are wanting to study to have a reasonable chance of success. It appears that your ability to pass three courses with a B is probably going to demonstrate most of those skills.

This is an interesting approach because it is very much based on your ability to actually do the course work.  The Extension School can do this because their online classes allow them to scale to a much larger number of students than what you’d experience in the other Harvard schools.

Online Master’s Degree / Residency Requirement

To be clear, Harvard doesn’t offer any degrees that are completely done online.  Even the degrees where the majority of the classes can be taken online have a residency requirement. For the ALM in IT program, I had to be on campus for one semester.  Fortunately the summer 8 week semester counts toward the requirement so that is what I did. It is a lot easier to work out an 8 week leave of absence or telecommute arrangement with your employer than it is to try to take off for an entire semester.

The Master’s Degree Classes

My degree plan required 10 four hour courses. Below are the classes I took for the ALM in IT degree. I’ve tried to list them in roughly the order I took the classes from start to finish. Some of my choices were influenced by what was available and also the need to take a certain number of classes from Harvard instructors as opposed to the classes taught by adjunct faculty.

After I started the program, they made a change so one of the three courses you complete for admission must be an algorithms or computational theory course. This is a good thing because you don’t want to get clear to the end of your program only to discover you can’t pass one of the more theoretical classes.

Java for Distributed Computing CSCI E-160

This was was a bunch of firsts for me.  It was the first class I had taken on Java, the first class I had taken online, the first class I took at the Harvard Extension School and my first graduate programming class.  While most classes that introduce you to Java focus on just learning the language, this class assumes that you can pick the language up without too much effort so after a short introduction to the JDK, classspaths and syntax, it gets into distributed computing using RMI.

The class was fascinating and I was impressed with how much material we covered in such a short period of time.  The teacher was very interesting even if he did tend to occasionally veer off on rabbit trails.  (We had one optional lecture on jazz music.)

If you are wanting to learn Java, I’d highly recommend this online course because it focuses on actually doing stuff with the language instead of beating people over the head with the syntax.  If you have no programming background, it probably isn’t the best place for you to start.

Distributed/Enterprise Computing CSCI E-162

When I signed up for this course I still wasn’t sure if I was going to actually pursue the degree.  I wanted to get a but more exposure to Java so learning about  Java EE seemed like a good next step.  The class was well worth my time and I learned a lot, but a lot of what I took away from it was that I’m not that interested in doing pure Java EE programming–particularly Java EE the way it was done when I took this class.

The class was actually focused on distributed computing and Java just happened to be the programming language that was being used to illustrate those concepts. So there was a lot of discussion about the the theory of how distributed computing works followed by the actual application of implementing those things in Java EE.

Even if you don’t plan on doing any type of distributed development, this class is well worth the investment of your time because any Java programmer is going to run into aspects of EE regardless of what they are working on.  This class provides a good foundation.

Design Patterns and Java CSCI E-247

This class covered design patterns and software design.  It used Java and required quite a bit of work with UML diagrams. Looking over my notes, it looks like most of the programming projects involved working with directed acyclic graphs–what you use to create a project management flow chart. The code included things like writing Iterators to navigate the graph and Exceptions if you tried to create some type of illegal cycle.

The idea was to work through a set of assignments where each on built on the previous. If you used what you were learning in the class it was easy to do each assignment because your code was decoupled and easy to modify. If you didn’t make good use of design patterns you ended up having to tear out large sections of your code and redo it. It was a good experience because it modeled real life, but in a setting where you could carefully observe and learn from the consequence of each design decision.

Communication Protocols CSCI E-131B

I took this class because I had been doing quite a bit of work in networking. In retrospect, I think I’ve used less of what I learned from this class than some of the others.  Of course, I also went into this class with a great deal of prior experience and training, so it is hard to separate my current knowledge into what came from the class and what came from other experience. In reality, I think the class clarified a lot of information that I kind of knew from my network training, but it really made me think through the process of exactly what is happening on the network.

For example, a typical homework assignment showed a network design with several hosts on either side of a router and asked you to provide a detailed list of exactly how a message was sent from a host on one side of the router to the host on the other side.  The correct answer included details about how the application passes data down the stack, the host sends and ARP request, gets a response from the router, enters the MAC address in the ARP table, etc.

The class was interesting, but not as hands-on as the programming classes.  My prior experience in networking made the class seem less memorable, but at the same time I have solved some incredibly complex networking problems that drew heavily on the information I learned in this class.

Adv Topics in Data Networking CSCI E-132

Like 131B, I took this online class because I was doing a lot of work in networking at the time. It felt like a continuation of E-131B, but with a different teacher and more of a “survey” course style.  One thing I took away from this course is how difficult open book tests can be. I remember the professor saying something about his grading tried to take into account how long your answer was.  The more you wrote, the less they assumed you knew the correct answer so they tried to give more points for correct short answers than “cover all the bases” answers.

Discrete Math MATH S-104

Before taking this class, I was trying to make it through Theory of Computation by sheer effort. I eventually dropped Theory of Computation, took Discrete Math and then went back and passed Theory of Computation.  Discrete Math didn’t count toward my degree, but it was well worth the effort for someone without a lot of math background.

I took this class during the summer semester when I was on campus.

Web Development Using XML CSCI S-L

This class was very interesting because it was taught by someone who works on the Harvard websites and turns the data in the Oracle database into the static HTML listing every course with links to the prerequisites, etc. My final project in this class was a system that would take an xml file listing book ISBN numbers and my review, download the associated information from Amazon and created a combined XML document.  This XML document was then processed using XSL to create a HTML website with an index, category and individual pages.  It also used FOP to create a PDF using the same data file.

Interestingly when I applied for my first job where I was going to be programming 100% of the time, this project was what they seemed to be most interested in hearing about. Their product didn’t really do anything with web-services or XML, so I’m not really sure what was impressive about it.

The class had a lot of interesting projects including using XML to generate SVG flags for various nations. We also used some of the Harvard course listings to produce PDFs with hyper linked indexes and Apache Forest and Cocoon to create dynamic pages defined in XML.

The class was a lot of work, and I took it during the summer session so the timeframe was very compressed, but it was very rewarding and the knowledge has been very useful.

Theory of Computation CSCI E-207

For me this was the hardest course out of the entire program.  As I mentioned above, I originally started this class and dropped it.  I was about 1/3rd of the way through and earning a B, but I felt my foundation was weak and I wanted to take Discrete Mathematics to help shore things up.

If you have a great deal of training in math this class might not be very difficult, but I was coming from a strong background in music composition–which wasn’t particularly useful in this context.

This class was the last time it was taught by Dr. Lewis.  From what I understand he was the same teacher who taught the course when Bill Gates took it years ago.

While the class was difficult, it probably stretched my mind more than just about anything else.  It was my first introduction to finite state machines, turing machines, Big O, etc. Beyond just computing topics, it changed how I approach business problems in both terms of the process and what is sustainable over the long term. The class was well worth the investment of my time.

The challenge of the class wasn’t so much understanding the concepts, but being able to prove something was right or wrong. Here are some questions from the mid-term. Telling whether the statements were true or false was easy. Proving them was a bit more of a challenge:

  • P ({n ∈ : n ≤ 2002}) is uncountable. (Recall that P (A) is the power set of A.)
  • {w : w is a regular expression for {an bm : n + m ≤ 2002}} is a finite language.

I think they have changed the degree plan sheet to require that you take this class or an algorithms class before you can apply for the degree.  This is probably a good idea, although if this had been the first class I took, I probably would have assumed that the rest of the courses would be too hard for me to complete.

Practical Perl CSCI E-13

This class was taught by a programmer who worked at Yahoo.  It had a very interesting grading process.  To submit your code, you had to run some tests on it.  If the tests passed, you were guaranteed at least a C.  If the tests didn’t pass, you couldn’t even submit your code.  With a large class, this kept the teachers from dealing with a great number of submissions that might not even run.

I learned a lot about Perl, but it wasn’t a particularly difficult class.  That was good because I took it at the same time I was taking Theory of Computation. As far as usefulness, I haven’t done much with Perl.  Still it has been nice to know what I’m looking at when faced with Perl code.

Unix Systems Programming CSCI E-215

This course was challenging, but very much worth it.  Most of the exercises were in the form of reproducing basic Unix commands. There were two projects that really stood out in my mind.  One was creating a simple web server. The second was creating a curses based pong game.

Software Engineering Thesis ITSE E-499

Probably the biggest problem I ran into was getting a thesis advisor.  The process literally took years.  In fact, by the time I was first assigned a thesis advisor, my original thesis proposal was irrelevant so I did another proposal and started over again. The thesis consists of a non-trivial piece of software along with a document explaining the problem, design, and implementation.

Personally I didn’t think the thesis was too difficult.  The hardest part is staying disciplined to get it done.  You layout a plan along with dates and milestones, but it is a different type of work than dealing with class assignments.

My project was a social news/link voting site similar to the concept behind Reddit or Digg.  The interesting part was the algorithms that controlled the ranking.  The algorithms were designed as plugins that could be loaded or unloaded at run time and different weight could be assigned to each one. Instead of a global rank, each person visiting the site would get a customized front page based on what they were likely to see as good content.  Another key part of the project was the way it tried to identify users without requiring cookies or having them log in.  It created a unique identifier based on their ip address, browser headers and other pieces of information. It also retrieved links from RSS feeds instead of relying on end users to submit links.

The basic idea of the project was to create software that would let you run a useful social news site with a much smaller number of users that what you’d need to successfully pull of something like Reddit or Digg.

The programming project definitely wasn’t the hardest programming I’ve ever done, but it did cover a lot of ground when it comes to demonstrating a mastery of the software engineering process.  The project used unit tests as well as Selenium tests and the builds were triggered by a continuous integration server that would turn on a green lava lamp when the tests were running correctly and a red lamp when they were failing. Cobertura was used to make sure the tests were actually covering the code and I used an issue tracking system to keep track of the bugs and features that needed added. I used Subversion for source management, Maven for the build and Mylyn for what I’d call “context management”.

The prose part of document consisted of the following sections:

  1. Introduction
  2. Overview of Link Rank Application
  3. Architecture
  4. Framework and Libraries
  5. Development Process and Tools
  6. Users Guide
  7. Summary and Conclusions

That was followed by the appendix which was mostly the code listing.  All in all the thesis document was 190 pages–about half appendix code and half text.

For many people writing the thesis is extremely difficult. In fact it isn’t uncommon for people to get all their coursework done only to get stalled on the thesis. I think I had an easier time because I spend a lot of time writing.

Real Degree?

A lot of people wonder if it is really a degree from Harvard.  Yes it is. You get a Harvard diploma (in Latin) just like everyone else. They did start adding a phrase that basically means “in extension” to the diploma after I started the program.

There are some people who complain that the Extension graduates aren’t really Harvard graduates. Their objections usually fall into one of two categories.  The first is that Extension students don’t have to go through the same competitive selection process.  The second is that they don’t have the social experience that traditional students get.

Obviously there is truth to both of these objections. The application for admission is merit based which means if you can do the work, you can get admitted.  It isn’t like there are 100,000 people competing for 15,000 spots. Personally I like the objective based approach where your admission is based on your proven ability to successfully handle the coursework. However, if a good part of your identity is wrapped up in the idea that “I’m special because I was admitted into a school that turns down lots of other people” you might not like the Extension School’s approach.

As to as whether or not it is a real “Harvard experience,” there are obviously interactions and networking that you don’t get like you would on campus.  The residency requirement helps some, but it is much more limited.  I wouldn’t recommend getting a bachelor’s degree online because the college experience is so important to kids fresh out of high school.  However, if you are like me and going back for a second master’s degree, you’ve probably already acquired most of your social skills and your focus is more on the class content than the other experiences.

If you see the Extension School as a way to “sneak into Harvard”  and get around the stringent admission process at other schools, you are probably going to be disappointed.  If you are concerned about whether or not people will know you took your classes online, you probably aren’t going to be a good fit for the program.  If you are the type of person who would sell yourself in an interview as someone who was able to complete a difficult online distance program while holding down a full-time job, the Extension School degrees are likely to be a very good fit.

Cost of the ALM in IT Degree

So how much does it cost to get the ALM in IT degree with a concentration in software engineering?  The program consists of 10 4 hour courses if you do a thesis. (I think there is a newer 11 course program that forgoes the thesis as well).   The classes cost $400 to $500 per credit hour so you are looking just under $20,ooo in tuition. By the time you add in lodging and travel for the residency requirement, books, etc. you are likely looking at $22,500 to $30,000.

All in all this is a pretty good deal. It is in line with the cost of graduate programs at many state schools.  By way of comparison, Columbia has some similar programs, but their cost is is over $1,300 per credit hour, plus an additional $375 per course.  So a four hour course from Harvard Extension school would cost $1,600 to $2,000.  A three hour course from Columbia would cost over $4,275. (Columbia’s program requires 10 3 hour courses, so a 3 credit hour course from Columbia Video Network represents the same percentage of the total degree plan as a 4 hour course from Harvard’s Extension School.)

Graduate tuition at KU for out of state students is $691 per credit hour. Residents are only charged $295. The closest degree I could find at KU would require at least 30 credit hours.  So tuition would be about $9,000 or $20,000 depending on whether or not you were a resident of Kansas.

The total cost of a degree from Harvard is more than going to a state school where you are a resident, but very comparable or better than the other options. However, the real cost of getting a masters degree is your time.  If you have to quit your job to go back to school, that will likely be a greater expense than the tuition you pay. Unless you live right next to a university an have a very flexible work schedule, the Extension School programs are going to be far cheaper than your other options once you account for your time away from work.

In addition, many employers have some type of tuition reimbursement program that can help pay for some of the cost–but it doesn’t help you if you have to quit your job in order to go back to school.

Job Prospects with the ALM in IT Master’s Degree

I only applied for a single job after beginning work on this degree, so I don’t have a lot of experience seeing how it perceived in the job market.  The job was my first full time programming position. Many of the classes had interesting final projects and this is what the interviewers asked me the most questions about.  Some of the projects I remember discussing:

  • Writing a simple webserver in C.
  • Writing a curses based version of the game Pong.
  • Java distributed computing projects.
  • XML and webservices projects with Amazon’s data.

The programmers who were in on the interview seemed impressed.  I think there were two reasons for this.  First, I had taken a number of the projects and expanded the after the class was complete.  For example, I had taken the project for the Amazon Web Services and expanded it quite a bit on my own to create a system for keeping track of the books I read. Second, the breadth of experience was great enough that I had experience with certain technologies doing things that the programmers weren’t exactly sure how to do themselves.

The interview went well and I got the job.

My next career move was to start my own company, so I really don’t know the true career impact of the degree on a career working for someone else.  However in dealing with clients there is one experience that kind of stuck out.  I was working on a project that went much better than the client had expected.  They commented, “I guess that is what we get when we contract with someone who went to Harvard.” This surprised me because I had never said anything about my education.  However, people talk and the name “Harvard” sticks in people’s memory.  It turned out that this client had talked to a friend of mine and said they had contracted with me.  My friend said something like, “Oh yeah.  Mark is really smart.  He even went to Harvard.”

A lot of what it takes to be successful in consulting is getting your name to be the first one that pops into people’s mind when they are looking for someone who can solve their problems. Having the Harvard name attached to you as a consultant isn’t a bad thing.


The ALM in IT program isn’t for everyone, but it can be an ideal fit for a working software engineering professional that wants to further develop their skills. It is relatively low cost and offers a reasonably flexible way of getting a degree while maintaining a full time job.


{ 137 comments… read them below or add one }

doug January 10, 2014 at 9:43 am

I’m starting my 7th class next week in the ALM – DIGM track and wanted to thank you for blog. It was a great inspiration in getting started at HES. I brought your site to the attention of Harvard the other day during a marketing research study by HES in case someone contacts you. Thanks again.


Mark Shead January 11, 2014 at 11:49 am

Doug – I’m glad to hear that you found it useful. Best of luck in completing your studies.


Rebecca March 19, 2014 at 7:27 pm

Thank you for sharing your experience! Why did it take years to secure a thesis advisor?


Mark Shead March 22, 2014 at 4:35 pm

I was pretty busy with work so I was checking in every few months to find out if there was anything I needed to do on my end of things. If I had of followed up more frequently I probably could have gotten one sooner.

Also after I wrote my original thesis proposal, the problem became irrelevant before I got an advisor. So I had to start over with a new thesis proposal.


Siddharth April 7, 2014 at 1:53 pm

Hi Mark,

Your blog is very helpful. Why did discrete maths did not get counted in your degree?



Mark Shead April 18, 2014 at 10:38 am

It wasn’t a class that counted toward the degree I was pursuing.


Charles June 13, 2014 at 4:05 am

I like your blog. Is there any possibility for a Nigerian to participate in this Harvard Extension program? I’d love to do it as I have a good background in computer science. Will it be indicated on my certificate that I did an online masters?


Mark Shead June 15, 2014 at 11:21 am

Charles – The only thing that I think might be an issue is getting a visa to get into the country in order to complete your residency requirement. I think you can probably get an educational visa, but I would check with the Extension School to find out what they recommend. The degrees offered through the Extension School say something like “in extension studies” on them somewhere in Latin. It doesn’t appear that there is any difference in the diplomas Extension School degrees where some courses were taken online and where all courses were taken in person.

However, if your goal is to try to hide the fact that you took courses online, I’d recommend going with a local university.


Mohammad July 30, 2014 at 5:06 pm

Hi Mark,

Firstly, I want to thank you for responding to the many comments from different bloggers – it has been greatly appreciated by all of us. I had a personal question as I’m seeking to pursue graduate level studies…

I’ll provide a bit of background:

I’m 25 years old and graduated as an Electronic Engineer from a well known university in Canada and have been in the work force (software related – developing automation framework) for about 2 years now. I was recently accepted into a competetive masters program (i.e. Master in Software System ~ 2 year program) at University of British Columbia (among the top 30 post-secoundary institutions in the world) which I was contrasting with the ALM software engineering program at Harvard. In both cases, I plan on undertaking a full course load and being on campus – what would you advise someone such as myself? How should one compare a open program (i.e. ALM) against a competetive program at a well known University (UBC)? My aspiration is to become a senior software developer…


Mark Shead July 31, 2014 at 7:59 am

One of the big advantages of the ALM in IT program is that you don’t have to be on campus for the whole thing. So you can work a full time job and still get the degree without going into debt. If you are going to be full time on campus, you might want to look at which school lets you graduate with the least amount of debt and which one is more recognized in the area you wish to work. For example UofBC might be better recognized by employers in Canada than Harvard’s Extension School. Another thing to consider is which program has classes that best align with the type of programming you wish to do.

One last thing, the best way to become a good software engineer is by doing a lot of programming. The more experience you bring to either of these programs, the more you will get out of your coursework.


Mohammad July 31, 2014 at 2:45 pm

Thanks for the prompt reply Mark. Just a follow-up question – how would you rate the quality of education at Harvard Extension School? Did you find that the skills from the program were of sufficient quality/proficiency that you were able to compete successfully with other candidates (mid-tier seniority) in the software industry after graduation?


Mark Shead July 31, 2014 at 3:09 pm

I don’t think I’ve ever been in a position where I was competing for a job opening with other prospective employees. If someone wanted to hire me, I’ve always been pretty much the only person they were looking at. Also I started my own company before completing the degree, so I’m probably not a very good person to ask about that.

However, in interacting with senior level software engineers that I’m either working with or coaching at other companies, I haven’t run into issues where I felt like I was lacking in core skills that they possessed. I wouldn’t attribute that just to the degree though. If you go through the ALM in IT program and get a lot of experience programming, you should be well prepared as a software engineer. I would try to do as much programming as possible before and during your school work.

luke September 3, 2014 at 2:35 am

Hello sir,

It is easy to get a job? I am a truck driver, can I easily get a good job if I do the master’s in software engineering? thank you.


Mark Shead September 5, 2014 at 8:19 am

Luke – If you successfully complete the ALM in IT degree you’ll probably have enough skills to get a job–especially if you don’t mind relocating. However, a degree doesn’t guarantee that you will be a great developer, easy to work with, interview well, etc. So while it can help you, there are a lot of other factors involved in getting a good job working for someone else.


Victor Akosile January 26, 2015 at 9:51 pm

I really would like to know. Can you graduate from HES without a bachelor’s degree?


Mark Shead February 16, 2015 at 10:18 pm

You cannot get a Master’s degree without having a Bachelor’s. HES does have have Bachelor and Associate programs.


doug March 13, 2015 at 7:13 pm

HES discontinued the Associate degree program.


Eric February 23, 2015 at 9:40 am

Mr. Shead,

I will be finishing up my MS in Systems Engineering this spring and was considering the Software Engineering Certificate through Harvard Extension. Would you recommend this program?


Mark Shead February 23, 2015 at 10:19 pm

If you already have a MS, you may be better off getting a job and using your current qualifications. A job giving you work history in your field is probably going to be the most valuable thing you can get at this point. However, if you want to get more experience creating software, then the program or individual classes might be a great thing to pursue on nights and weekends.


Joe May 6, 2015 at 3:19 pm

You listed your first class as Java for Distributed Computing CSCI E-160, upon reading the course description is does not appear to be an intro course. I read that you have a music background/degree, did you have any programming experience prior to taking this course?



Mark Shead May 15, 2015 at 9:23 pm

I had taken a class or two in C++ from a local university, but I had also done a lot of programming on my own in Tcl, Quick BASIC and Java.


Brett June 17, 2015 at 12:46 pm

Thanks for sharing your experience with HES. Can you say more about why you said, “If you want to be a computer scientist, this isn’t the best degree for you”?


Mark Shead August 5, 2015 at 9:47 pm

If your goal is to get a PhD in the branch of mathematics known as computer science, then the ALM in IT program is probably not a good path.


James August 13, 2015 at 10:38 pm

Hi Mark, thank you so much for a very informative post. I’m going to start studying Law at Cambridge (UK) next year, but have always wanted to do a bit more on the software side (strange combination eh?). I’ve already done a bachelor’s, so should be eligible for the HES. What do you think about the work commitment level? Do you think it’s possible to balance the two?


Mark Shead September 16, 2015 at 7:03 am

I did HES while working a full time (but flexible) job. However, I would assume that your law degree will require as much or more time than a full-time job.


Thawda September 3, 2015 at 1:14 am

Thanks for your information. I am thinking about about starting some admission courses this spring. But I learned JAVA 5 years ago and I forgot most of the thing. Do you suggest I should study JAVA somewhere else like coursea before attending the admissions courses?


Mark Shead September 16, 2015 at 7:01 am

It won’t hurt you to have reasonably good skills at programming. If you haven’t been writing code regularly, you might want to take a course like you suggested to make sure you can keep up with the classes and be able to focus on their content–not the mechanics or syntax of the language you are using.


Vanessa September 11, 2015 at 11:12 am

This is a really informational post, and very helpful for prosepctive students like me!

I’m considering a graduate degree from HES, and I was just curious how long it took you to complete it? I know graduate students have five years to complete their degrees, but I wonder if that’s the average, or if it depends on what you can handle in a semester.


Mark Shead September 16, 2015 at 6:59 am

It took me nearly 10 years, but most of that was spent waiting on a thesis advisor. Since I was waiting on them, I wasn’t subject to the 5-year limit. I finished the coursework in 4 years.


Chad September 29, 2015 at 11:04 pm

Mark, thank you for answering everyone’s questions and the blog. I have been looking at online comp sci masters program. I have read the negative criticism on HSE and there isnt much about how the HSE software eng program ranks or how well it is structured. I have been a developer for some time now in the SF bay area and come from a math background. To an employer how much does it matter that it is a Masters in Liberal Arts or even Extension School vs Harvard School of Eng and Applied Sciences. Or do they just care that you at least have a masters. Im not completely sure how the extension school is viewed by the tech firms in silicon valley. Thank you so much again for your time and insight.


Mark Shead September 30, 2015 at 7:13 am

Back before I started the program, I compared the degree plans from the Extension School ALM with several Master’s of Science programs at state universities. There were some state programs that (at least on paper) appeared slightly more rigorous. By “rigorous” I mean much more focused on the mathematics of computer science and less on industry type knowledge. However, there were quite a few where HES seemed to provide a better theoretical foundation. Of course, the degree plan sheet may not exactly correspond to the actual classroom experience, but it does give you an idea of how the college views the degree. I’d encourage you to do a similar comparison with other schools that you are looking at.

As far as how employers view a particular degree, I honestly don’t know. Most of my work is done as a consultant coming in to help teams become more efficient in their development process. I haven’t ever heard anything negative about HES being on my resume, but I think my degree is more of background information and people are more interested in who has recommended me and what projects I’ve worked on.

In fact, I tend to think that if an interview spends much time talking about your education, it is probably a bad sign. Even in interviews where Harvard was mentioned, I had people much more interested in the actual work I had done–even if it was for a class project. For example, in the only interview I remember where we actually discussed the Harvard Extension School for more than 30 seconds, they were very interested in a project I had done that involved manipulating large quantities of Amazon data and how I had optimized it. I realize that there are some places that you need a degree to even get an interview. I’ve never pursued those types of jobs, so I’m not sure how valid my opinion and experiences are for those types of positions.


Leave a Comment

Previous post:

Next post: