Some of my friends who are about to start their Masters in US have been asking me questions about my experience. So, I decided to write it down hoping it helps them and a few more incoming students.
You could be interested in Masters in CS for one or more of following reasons:
- Honing your technical skills.
- Pursuing research in your area of interest, probably with a renowned professor.
- Studying at your dream school: MIT, Stanford, Harvard, etc
- Landing a job in your dream company: Google, Facebook, Apple, Microsoft, etc.
- Becoming wolfs of silicon valley $$.
- Starting your own gig.
- Living the American dream, if that’s still a thing for you.
- All of the above.
Well usually we all start with the last option, and then strive to achieve as many as we can during this ~2 years journey.
I got acceptances from University of Southern California (USC) and New York University (NYU) for fall 2015, after a series of rejects from some of my dream schools. But Phew! I was very ecstatic and excited! One needs a good obsession to join the elite, not necessarily the best platform,
Look in the mirror .. that’s your competition.
From GRE to TOEFL to SOPs to LORs to Applications to Acceptances, it’s indeed a long exhausting path. But, if your were determined enough to get through it, take a breather, and buckle up for the real game.
USC vs NYU was a tough choice for me, but proximity to Silicon Valley and Hollywood made it easy. I never regretted my decision and have now become a proud Trojan! Fight On! ✌🏻
Let me split my overall experience into some key verticals listed in ~ descending order of time commitment:
1. Course Work
Well you are here for Masters, so you will be taking some very technical courses which will suck your time in the form of classes, homework, projects, research, exams, etc. Choosing your courses wisely is important to success.
A lot of incoming student will be interested in the Data Science courses (AI/ML/etc) which is great if you are specifically targeting a data scientist position, or a research in the field. Previous related projects, research, experience is a great bonus.
To land the right job at the right time (check #2), I was more focused on courses that would help me get a job during the first semester and then took courses that intrigued me like AI/ML/Gaming/etc in the later semesters. If you are like me, revisit data structures sooner than later and maybe take an Algorithms class in the first semester. It’s definitely a bonus if you have some experience with Web/Mobile development. If you are not, take a Web/Mobile Development course online – it helps you land both on-campus jobs and internships!
2. Financial (Loan/Part-time Job)
You can skip this section if you do not have financial burdens and are not looking to do part-time jobs.
Masters in US can be financially challenging if you took hefty loans for tuition/expenses. On the bright side, it means controlled movies/travelling/partying/etc, keeping you focused on the bull’s eye. You will want to put your American Dream on brief hold until you land that fat pay check. Or may be not? 😀
You can earn some decent money through on-campus jobs to take care of your living expenses and parts of tuition: Teaching Assistantship(TA), Research Assistantship(RA), Web/Mobile Development, non-technical, etc. I mostly worked 20 hours a week (maximum legally allowed hours for F1 students) doing various part-time jobs like Technical Services/Kitchen/Android/Web development. This can become very hectic along with #1 and #3, but there are hacks to get around which I am sure you will figure (Clue: study during your shifts).
3. Job Hunt: Getting an Interview + Cracking the Coding Interview
This is an end goal for many of us who are out here away from home – to land that dream job!
Getting interviews can be a very tedious process. It works very differently from how it did back in India where we had companies coming to campus and hiring a fixed number of students after a series of elimination rounds. In US, companies visit the campus for 1-3 days to gauge the student individually where you have an opportunity to pitch yourself. If you can impress, you win an interview with the company which is same for everyone and usually involves serious programming/design/subject-matter knowledge. If career fair doesn’t work for you, networking and LinkedIn are the ones to rescue (Hint: I applied to 100+ jobs online during the 2 years).
ProTip: Update your Github (add your projects), LinkedIn profile and a single-page Resume. Work consistently to add meaningful content during your Masters. I can’t stress enough the importance! These are worth more than your 3.5+ GPA.
Its best to start your preparation for the coding interview in advance because time flies amongst so many tasks. Revisit data structures and start solving problems from Data Structures and Algorithms Made Easy by Narasimha Karumanchi & Cracking the Coding Interview. Treat them as your Bhagvad Gita, Bible, Quran, etc until you land that dream job! If you are an absolute beginner with that coding fear, you can check the solutions to grasp the concepts. Otherwise, try to solve problems on your own without referring to the solutions – be honest to yourself! Once you are the done with the basics and feel some confidence, take on LeetCode which is growing list of 850+ recently asked programming questions by top software companies (you can filter by DS type, company name, or difficulty level). Aim is to solve a good mix of question of all types and difficulty level.
I will write more about job hunt and coding interviews in a separate blog post. For now, you can take my words that it’s going to be one of the most time consuming yet rewarding thing that you will do.
4. Personal Projects/Research/Hackathons
Your Resume doesn’t get classy until you spend time working on stuff outside your curriculum. I remember a recruiter saying to a student during one of the career fair: “Tell me about something other than the XYZ project, I have seen this in everyone’s Resume so must be part of some course “.
Work on a few (maybe just one) high quality project(s) that you can talk about end-to-end. It depicts more skills that you can think of and makes you outshine your peers.
Hackathons are great way of working on new interesting projects that you always wanted to build, or attend them anyways just for sake of networking, swag and free food! Checkout upcoming college hackathons and some of my hacks (more about Hacakthons in a separate blog post).
5. Errands: Cooking, laundry, cleaning
Unless your MOM is accompanying you for Masters, you are pretty much on your own and will very soon realize how ignorant you were all this time. Initially this can be overwhelming to some, but you will get used to it. Masters away from home is a life lesson!
6. Personal: Socialize, Party, Gym, Sports, Swipe Right
Do I need to say something here? After all, we are just humans. 🙂
– – – – –
Masters taught me a lot more than just Computer Science. In few cases, it enriched my previous experiences. I hope it does the same to you.
- Managing your time to be more productive: work-life balance.
- Responsible independence.
- Running personal errands: Cooking, laundry, cleaning, etc.
- Dealing with Financial Pressure.
- Value of every job: From cutting carrots to fixing classroom projectors.
- And most importantly, the value of family and friends.
If you are still confused about pursuing Masters due to whatever reason, take a leap of faith. Also, I am willing to answer any burning questions you might have.
Somehow everything will fall into place.