I'll tell you:
- How I got into Georgia Tech's Online Master of Science in Computer Science (OMSCS) program while working and living in Russia.
- Requirements to enroll for foreign students.
- How much it costs.
- My experience with the courses.
- Why I am still pursuing the degree even after I started working at Facebook.
Hi! My name is Andrey. I am a senior software engineer at Facebook. Some degree with a moderately complex cyrillic name in CS from a Russian uni. For simplicity, let's call it a Master's equivalent. 4 years I spent working at IT outsourcing companies. 2 more years I worked remotely for US-based startups. Now I am excited to contribute to Flipper on behalf of Facebook and call it my full-time job. I have a couple of small libraries on GH. Try to do conference talks from time to time. Occasionally, I blog about tech. Oh, yeah, I am also pursuing my proper Master's from Georgia Tech online, and that's exactly why you are reading this post.
As you might have inferred at this point, the online Master's in CS for a price of your morning latte is the one from Georgia Tech. They call it Online Master of Science in Computer Science or OMSCS in short.
What it is:
- It is a proper Master's in CS. Your degree name is going to be the same as the on-campus one.
- It is a course-based Master's. You don't have to write a thesis to graduate. You only need to take 30 hours of classes (10 classes).
- It is taught solely in English. You need to pass a language exam (TOEFL) unless you are a US citizen, a green card holder, or you studied at the US uni before. My gut tells me that you should be fine if you hold UK, Canadian, Australian, or Irish citizenship, but you'd better ask yourself.
- It is 100% asynchronous program. All lectures are pre-recorded. All office hours are recorded. Recordings are available for all students. All communication with TAs (teaching assistants) and professors goes through Piazza. It is a Reddit-like platform where every class gets its own subreddit every semester. Even exams are asynchronous. They are carried online in a form of a test. Usually, students have an entire week to pass an exam. Therefore, it doesn't matter in which timezone you live or how busy you are at work.
- It is a Master's from a highly ranked uni. QS World University Rankings puts Georgia Tech on the 88th place. CS Rankings places Georgia Tech on the 5th place in 2021.
- It is a rigorous and demanding program. You are expected to complete graduate-level work and have graduate-level knowledge. While some classes might take you as little as 5-6 hours a week, other classes might squeeze every last free minute out of your schedule with their workload worth 30 hours a week. I don't want to scare you off. I heard that people without formal CS background still succeeded in the program, but be prepared to make sacrifices and invest in a good chair ;).
- It has a flexible schedule. You can take as little as 1 class per semester. It means 3 classes per year. You can even skip one of the semesters if needed. At this pace, the program is going to take you a little bit over 3 years. If you have some spare time, you can rush through the courses taking 3 classes per semester.
- It is more than affordable. I was not joking about the price of your morning latte. If you take 1 class per semester, you finish in 3 years and 4 months or 40 months or 1200 days. With 1 class they charge you $841 per semester. It adds up to $8410 for the whole program. Divided by 1200 days, we get $7 per day. Large latte in London is around 3 GBP. Muffin to accompany your latte is going to be another 2 GBP. 5 GBP is $6.79 at the current exchange rate.
You might have seen CS-7210 Distributed Computing with stunning 62 hours of weekly workload. It is a brand new class which, I believe, is going to be adjusted over the next few semesters to normalize the hours.
You'll be within your rights to claim that I lied about the Master's being at the same price as your morning latte. First, I sneakily added a muffin to the equation. Second, even with the muffin it is still 21 cents more. In my defense, statista.com claims that 60% of the UK population has a sweet tooth. It implies that they rarely enjoy their latte without a sweet delicious companion. I would also go out on a limb and claim that $6.79 is on par with $7. Nevertheless, I sincerely beg your forgiveness if it caught your eye and completely ruined the article for you.
You might have raised your eyebrows when I mentioned 3 semesters per year. In Russia (and, probably, in some other countries) we have 2: fall and spring. In the US, you can also study on summer.
Wha it isn't:
- It is not a research program. Reddit folks suggest that there might be a way to do research in scope of OMSCS, but it is limited.
- Georgia Tech will not sponsor your F-1 visa for the online program. As result, you are not eligible for STEM OPT after graduation.
OMSCS offers a vast selection of 56 classes. Most of the classes belong to 1 of 4 specializations. Each specialization is a list of courses. You need to take 5-6 courses from the specialization list and 4-5 courses of your choice from the overall list of classes available to OMSCS students. Each course has a public page with a syllabus and prerequisites. Most courses also have dozens and hundreds of reviews on OMSCentral. Bottom line is that everyone should be able to find something aligned with their interests.
... to get in.
- You need to have an undergraduate degree in Computer Science or related field (mathematics, computer engineering, electrical engineering). It might be any regionally accredited institution in you country. For instance, I graduated from a regional Russian university (Voronezh State University if you are interested) 5 years prior to starting my OMSCS journey. YOu might be fine with a BA in a totally unrelated field. Reddit people share their stories of getting in with a BA in Philosophy and Psychology. You can browse through various admission threads (like this one) to find a background matching to yours and see the outcome.
- It is officially recommended to have a GPA of 3.0 and higher. However, it is not a strict requirement. I got in with a low GPA around 2.98.
- You need to send transcripts from all academic institutions attended. If the transcripts are not in English, you have to translate them. Last time I checked, you need to send them a paper degree with the translation or ask your previous uni send these documents from the official university domain. I translated my degree myself, and then asked the dean of the Computer Science faculty where I studied before to send it over to Georgia Tech. God bless you, Alexander Krylovetsky for making my life so much easier!
- Collect 3 recommendation letters. They should come from your previous professors or from your professional contacts. They should be able to testify on your technical skills. In other words, do not ask the headmaster of your previous uni or your CEO write a recommendation letter. Ask someone credible, but whom you interacted with directly. Ask your previous professor whose class you enjoyed and did well at. Ask you direct manager at work, or a skip-level manager if they have enough context about your work. I was a bad student before, so I, kind of, burnt all bridges with my potential academic references. In the end, I asked 2 of my skip-level managers from previous gigs and my current direct manager to write my recommendations. They don't have to provide a paper letter. You submit their emails into the system when you apply. Georgia Tech contacts them later on with the instructions on how to fill a recommendation letter for you online.
- Write and submit your statement of purpose and your background statement. Here is my SoP and my background statement if you are interested.
- Pass TOEFL with a minimum score of 100 or IELTS with a minimum score of 7.5. At different times, I did both exams: TOEFL for OMSCS, IELTS for my UK visa. I found them pretty similar. I cannot recommend enough this YouTube channel that gave me amazing tips on reading, listening, and speaking. I also watched a couple of random videos on YouTube on the writing section but I can't name anything that stands out. Here is my short advice for every section:
- Reading - do not read the entire text. Instead, skim over the first sentence of every paragraph. Next, carefully read every first and last sentence of each paragraph. Go straight to the questions. You should have enough context to quickly find the right paragraph, and then find your answer.
- Listening - keep short notes about the essential information.
- Speaking - memorize several templates on how to answer. They are not interested in how reasonable your answers on their questions are. You do not need to provide facts and proofs. They want to hear your broad vocabulary and well-structured speech.
- Writing - once again, memorize a template of two and you should be fine.
- Pay your admission fee.
- Mind the deadlines. For the fall matriculation it's March 10. For the spring matriculation it's August 10. Yes, you have to apply almost half a year before you start.
- All done!
Remember that in the US the highest grade is 4.0. For example, in Russia it is 5. You might need to convert your grades to calculate your GPA properly.
... it is going so far.
As of this moment, I have been taking things slowly doing a single class at a time. In the upcoming spring semester I'll try to take 2 for the first time. Wish me luck!
So far I managed to get through:
- CS 6200: Introduction to Operating Systems
- CS 6250: Computer Networks
- ISYE 6644: Simulation and Modeling for Engineering and Science
- CS 7646: Machine Learning for Trading
All these classes were of exceptional quality. Each one of them produced enormous returns for every penny and every minute invested.
A few tips and tricks I learned so far:
- Don't try to come up with a perfect order of taking classes in advance. Each class has a limited number of seats. Many popular classes get filled in a matter of hours if not minutes. Moreover, if you are just starting the program, you'll get to pick classes last. So most high-demand classes are going to be taken by seniors at that point. Don't worry! You'll still get a spot in a class. But it might be not the class you first thought of. It is exactly how I wound up taking "CS 6200: Introduction to Operating Systems" as my first class. Believe me, I don't regret it a single minute! My advice here is to identify a few potential classes you'd like to take. If none of them have seats, use OMSCentral and just take the highest-rated class available.
- Get ready to suffer if you haven't read academic literature for a while ;).
- If you're on a tight schedule, do your projects over the last weekend. This way 99% of your potential questions will already be answered on Piazza.
- Take prerequisites seriously. If you only knew how much I struggled with "ISYE 6644: Simulation and Modeling for Engineering and Science" because of my arrogance and my neglection of the math and statistics prerequisite.
- You're a student now. Start asking for student discounts everywhere! If you are not in your twenties anymore doesn't mean you're not eligible.
... I am still studying after getting into FAANG.
Another major reason is that if I ever decide to move to the US on H-1B visa, I'll be eligible for the separate Master's quota. Hopefully, it gives me a better chance of winning the visa lottery.
To be honest, if I ever decide to move to the US, it is, probably, going to be on L-1B. I do enough gambling on the stock market.
Last, I am, kind of, tired of explaining to everyone what is a Specialist's degree. Yes, it could be considered a Masters' equivalent, but wouldn't it be better to have a proper Master's?
I hope I have made at least a semi-decent argument why education is cool. It also does not hurt when it's cheap, right? See you soon in one of the classes ;)
Here are some useful links:
Did you find this article valuable?
Support Andrey Goncharov by becoming a sponsor. Any amount is appreciated!