u/Fast_Ad_2681

Honest Review of the Program from Seasoned Engineer

Background

I have 20+ years of software engineering experience, including time as Head of Engineering in smaller companies, Principal Engineer, and Director of Engineering. Over my career, I have conducted more than 100 interviews and hired roughly 2-3 dozen people.

I actually graduated with CS Degree from CU Boulder, long time ago. I came across the program by complete chance and I figured why not as it was offered by my alter mater. I was interested in machine learning because I had no ML experience, and I also wanted to see what other areas of software engineering I might be missing. I figured another line on the resume would not hurt either.

The program took me exactly two years. I started with two courses per session and later increased to three. For me, 3–6 hours per week was usually enough, though some courses required two to three times more effort than others. I would not recommend taking more than 3-4 at a time (even if you have time), if you really want to really learn and absorb the contents.

Overall, I would rate the program as average.

In my opinion, it does a pretty good job of being master’s-level academically, but it does not do enough to prepare students for real-world industry work. Please keep in mind that most of the following is based on my personal opinions, YMMV.

Foundations of Data Structures and Algorithms

Professor: A+
Course: A+
Real-World Relevance: Excellent

This is what I expected from a master’s-level course. It was challenging, required real effort, and felt complete.

I understand that many software engineering jobs do not require deep DSA knowledge day to day, but the problem-solving challenges in this course are very relatable to real-world engineering situations.

Network Systems: Principles and Practice

Professor: A
Course: B+
Real-World Relevance: Good

This was a good course overall, but I would have liked more depth and more challenging exercises. Cloud-related networking could have been expanded, and I would have appreciated more discussion of how the material applies to real-world network engineering roles.

Machine Learning

Professor: A+
Course: A+
Real-World Relevance: Excellent

Note: I took the specialization before it was redesigned.

I understand there were many complaints that the course did not provide enough material to complete the exercises, or that it did not provide enough beginner-level background. (Hence the redesign) Personally, I say: deal with it. I had no ML background, and yes, I struggled at first. I had to take basic online ML courses and read a few books to catch up.

That said, I thought the professor was extremely knowledgeable and did a wonderful job compacting a large amount of material into the course.

Computing, Ethics, and Society

Professor: A
Course: B-
Real-World Relevance: Good

The main reason I rated this lower was the amount of blatantly AI-written work submitted by students. I am not sure whether more could have been done to ensure students were actually consuming and engaging with the content, but that issue definitely affected the course experience.

Software Architecture for Big Data

Professor: D+
Course: D
Real-World Relevance: Okay

I would describe the professors as being on the upper end of senior-level software engineers. They seem smart and appear to have real-world experience, but I thought they did a poor job teaching the content.

At times, it felt like the course was mostly about them saying how good they are. In my opinion, the entire course could have been compressed into a one-hour beginner-level developer conference presentation.

The Kotlin/Gradle projects were not a problem for me, but I expect many students would struggle with the language and environment. I also found the setup unnecessary. Even in a real-world setting, I would consider that project setup overly engineered.

(For folks that doesn't know, this used to be one of the pathway specialization until it was replaced with Network Systems. Thank God it did, because this was pretty crappy)

Data Mining Foundations and Practice

Professor: A
Course: B+
Real-World Relevance: Good

The first two courses were a bit bland, but the specialization made up for it with the final project. I think I spent more time on the final project than on all other content in the three-course sequence combined.

Some of the exercises could have been pulled earlier into the first two courses to increase the amount of hands-on work.

Object-Oriented Analysis & Design

Professor: C-
Course: C
Real-World Relevance: Good

I admit that I took this course partly because I was feeling lazy at the time. I expected to already know most of the material, and I was not far off. In other words, I knew as much as, if not more than the professor.

My main complaint is how old the content feels. Some fundamentals of software engineering do not change much over time, but UML? Seriously? It felt old 20 years ago, and I have not used it or seen anyone use it in at least 15 years.

There was hardly any mention of Domain-Driven Design or how it relates to OOP. There was also not enough coverage of enterprise design patterns. In my opinion, the course content feels at least 20–25 years out of date.

This was one of the few specializations that required deeper coding sessions for the exercises, which is the main reason I rated the real-world relevance as good. It properly designed and updated, it should have had EXCELLENT relevancy. But overall, it felt like a missed opportunity.

That said, the course content is not bad. It is relevant. I simply expected more from master’s-level coursework.

Security and Ethical Hacking

Professor: B+
Course: B
Real-World Relevance: Good

This was a good course overall. I just wish each course had been longer, with more exercises and challenges.

Even if someone is not especially interested in security, I feel the third course should be required for all graduates because it covers so many important topics in web security.

ME-EM: Systems Engineering

Professor: B+
Course: B
Real-World Relevance: Okay

I took this because I knew nothing about systems engineering. Unless you plan to work for a defense company or the government, much of the material may not be directly relevant.

Still, I enjoyed the course. The professor did a good job introducing the content, and the course size felt appropriate. It required graduate-level effort.

Individual Single-Course Enrollments

Introduction to Computer Vision — Course 1

Professor: A
Course: B+
Real-World Relevance: Okay

Introduction to Robotics with Webots — Course 1

Professor: A
Course: B+
Real-World Relevance: Okay

Generative AI — Course 1

Professor: C+
Course: F
Real-World Relevance: Poor

It looks like Courses 2 and 3 are much more relevant, but they were not available when I took the course. Course 1 was a huge waste of time. There was nothing in it that you would not already know unless you had been living under a rock.

Overall Assessment

The DSA and ML courses are excellent. Most of the others are just okay. (Maybe Data Science courses have higher quality, I may never know.)

I honestly wanted to take several other specializations, but they never became available during my time in the program:

  • Cybersecurity
  • Linux System Administration
  • Big Data Challenges and NoSQL Solutions

In my opinion, the program would benefit from courses or specializations in the following areas:

  • System Design
    • This should include a project presentation in each course, ideally three total.
  • Cloud Development and DevOps
    • This is a major area of modern software engineering and deserves dedicated coverage.
  • Domain-Driven Design
    • This is a classic and important area. I am not sure whether it is large enough for a full three-course specialization, but it should be covered somewhere.
  • Data Engineering
    • This is such a large and important field that I am surprised there is no dedicated specialization for it.
  • Modern Software Development Environment
    • Multiple programming languages
    • CI/CD
    • Dependency management
    • Containerization
    • Package management
    • Git workflow and lifecycle
    • Release management

Overall, I do not regret taking the program, but I came away feeling that while parts of it are strong academically, the program could do much more to connect the coursework to modern industry practice. The program from Georgia Tech seems to be more complete curriculum (which I didn't even consider), although I do not expect there to be much quality difference on each course.

reddit.com
u/Fast_Ad_2681 — 7 days ago