Avatar
πŸš€

Follow me on:

Why I Got a Master's Degree
Published by Mike Staszel on December 14, 2022

I recently graduated from Georgia Tech’s Online Master’s in Computer Science program! I’m now taking some time to reflect on my experience.

What was the program like?

Georgia Tech’s program is a 10-course (30 credit hour) Master’s degree in Computer Science. It’s fully online and follows a traditional academic structure with lectures, office hours, homework, exams, and grades. It’s the real deal, not watered down. You take the same courses the on-campus students take. You get a real degree that doesn’t mention that the program was online at all, because there is no difference between online and on-campus. You just have to watch recorded lectures instead of going in-person.

Why did I do it?

I love learning and I love my job as a software engineer. My employer even reimbursed me for tuition. I also wanted to expand my knowledge and skills beyond software engineering.

What courses did I take?

Software Development Process

My first course. I made my first real Android app – a Scrabble game – with a group. We also learned about UML, which I don’t care for.

Intro to Information Security

Made stacks overflow, wrote shellcode, gained root access, etc. This one was very hands on and took a lot of effort.

Machine Learning for Trading

My favorite course. I optimized portfolios using Sharpe ratios and built a reinforcement learning trading bot that beat the S&P 500 (but I learned that it’s best not to try to beat the S&P 500).

Intro to Operating Systems

I didn’t enjoy this course – it was similar to my undergraduate Operating Systems course. Our final project was to write an NFS-like server and client using gRPC, which was a new experience for me.

Machine Learning

Supervised learning, unsupervised, classifiers, regressions, areas under various curves - the whole nine yards. I don’t consider myself to be anywhere near close enough to claim I know much about this topic.

Human-Computer Interaction

This was a UX course (not UI!). I learned about usability, measuring productivity, and getting feedback from users.

Knowledge-Based AI

This was a tough course. I don’t remember much of what we learned. AI is tough.

AI, Ethics, and Society

We really dove deep into the nonsense that happened at Facebook/Meta. I learned about GDPR, which comes in handy a lot!

Network Security

This course was all about hacking into systems using clever methods. We covered SQL injections, web server bugs, JavaScript, and iframe attacks to fool users.

Game AI

As my final course, I wanted to do something new – video game AI. I learned C# and Unity (the game engine) and used them to program AI for a dodgeball game and a self-driving car.

Thoughts

When I started the program, I had vague goals of learning about “AI” and “Machine Learning” without a clear plan. I did it because I find these topics interesting, not for a promotion or career change.

Here are three unexpected benefits of the program:

  1. I opened an IRA and increased my 401k contributions. I had no idea about stocks, but I learned about the stock market and investing in stocks through my Machine Learning for Trading course.

  2. I learned to study effectively. The program was challenging and I had to work hard to keep up. Deadlines were real, projects were large and vague, and I had to actually learn the material to pass the exams.

  3. I made connections with other students and alumni. I joined the program’s Slack and participated in study groups and office hours.

Overall, I’m glad I did the program. It challenged me and helped me grow as a software engineer and as a person.

Get in Touch

If you want to hear more, I’m happy to talk to you about the program as a recent alumni. Send me a message!

Featured Posts

  1. A typical modern Spark stack nowadays most likely runs Spark jobs on a Kubernetes cluster, especially for heavy usage. Workloads are moving away from EMR on EC2 to either EMR on EKS or open-source Spark on EKS. When you’re running Spark on EKS, you probably want to scale your Kubernetes nodes up and down as you need them. You might only need to run a few jobs per day, or you might need to run hundreds of jobs, each with different resource requirements.

    aws development kubernetes

  2. Hi there, I’m Mike. πŸ”­ I’m currently working on big data engineering with Spark on k8s on AWS at iSpot.tv. 🌱 I’m focusing on mentoring and coaching my team to improve their skills and release awesome products. 🌎 I occasionally write blog posts about software engineering and other topics. Management and Software Engineering I consider myself to be a software engineer at heart. Nowadays I’m trying to do less code-writing and more of everything else:

    development