Starting, and stopping, the OMSCS program

Back in February of this year, I applied to Georgia Tech’s OMSCS program (Online Master of Science in Computer Science). Sometime over the summer, I got accepted and registered for my first course. Then in late August, the course started and was going fairly well; then by the start of October, I dropped out.

This post is to analyze my thoughts and emotions going through this process and why I made the decisions that I did. This is mostly a reflection for me - to organize my thoughts and to assist in making some decisions moving forward.

When I applied to this program, I was hungry - hungry for knowledge, hungry to jump-start my career, ready to dive in to the hard subjects and come out a better developer. These feelings were so strong, I was so sure that this is it! This is the program for me: it’s affordable, it dives deep into topics I want to learn about, it’s well respected.. It was a perfect match. I was excited once I got accepted and couldn’t wait to get started.

During this time, I was also having a lot of other thoughts - worse thoughts. Thoughts that I would fail again, that I would give up once it got hard, that I wouldn’t be able to do it. I started seeing a therapist to try to work through these, but that wasn’t much help. My therapist just wasn’t a great fit for me and how I think. I walked through my thought process and my own theories to fix it, and she would simply agree with me without any feedback..

So there were two parts of me coming out before the program even started. The one super excited at the prospect of learning a ton and working hard; and the one that was terrified of failing again.

I keep saying ‘fail again’ here, because I started a different master’s program through a local university and dropped out after 3 semesters. My reasoning? It was too shallow, and too similar to my bachleors courses. It wasn’t challenging, I was learning high-level stuff when I want to learn low-level stuff, and I was only looking forward to 1 or 2 courses out of 11. Compared to the OMSCS program, I was looking forward to almost all of them.

These two parts of me would be battling all the time, and I don’t know how to deal with it. Occasionally one side would win, and I would be in that mode for a day or two. Over time, the part that is terrified of failing wins more and more, until I rationalize that side enough that it’s the correct way to think and then do something like dropping out.

Maybe now I’ll go into detail on how the course went.

The course I was taking was ‘CS6200 - Graduate Introduction to Operating Systems’.

The first week of the course I was freaking out. A ton of information dumped out all at once, and we needed to get started right away. Tasks for the first week - watch 2 sets of lectures, read a paper on multi-threading, and set up the courses development environment. Sure, I was freaking out, but it was exciting and I was tackling everything as I had ever hoped. The lectures were clear and concise, the paper was obviously a very foundational paper for threadded programming, and the development environment took a bit of time but I got it working great.

[I stopped writing this post at this point without finishing it, deciding not to post it. Now on 2/16/2021 I feel like finishing it and posting it, so here I go.]

The next couple of weeks is where it started going downhill. My memory of this is a little foggy at this point, but this is around when the first project started up. To keep it general, I feel like the first project introduced too many things at once for me; it was linux socket/network programming, multi-threaded programming and working with the filesystem ensuring binary files were equal. I had done none of this before. I put about 20 hours into it, struggling every step of the way because literaly nothing worked as I expected it to.. When I got the results back from Part 1 of the project, I thought I had done pretty good - it was at least working on my machine and with my tests! However, the auto-grader said I failed miserably, failing to consider some edge cases. It was around this time I decided to drop out.

In hindsight, I probably should have pushed through it - gotten some real feedback, post my issues on the forum, etc. But at this point, my other side was winning - the thoughts of failure and that I couldn’t do it. It was a complete lack of motivation to move forward, that I am certainly dissapointed with.

I feel like I am lacking something, probably self-discipline. In the back of my mind, I know that I don’t have to do this; and motivation doesn’t last. So I continue dreaming, and waiting patiently for StarCodeGalaxy!

“Everything looks impossible until it’s done” - Nelson Mandela