top of page
  • Facebook
  • Instagram
  • Twitter
  • Pinterest

Keval Morabia (Arcesium SI, Microsoft Research Corporate Thesis, MCS at UIUC)



Batch: 2015

Branch: Computer Science

CGPA: 9.72

SI at Arcesium, Microsoft Research Corporate Thesis

MCS at University of Illinois at Urbana-Champaign (UIUC)

SWE-3 AI Research Engineer at Bloomberg, New York



Q. Could you brief us about your work and interests?


A. I have been working at Bloomberg, New York, since February 2021. Although my role is AI research engineer, 60% of it is software engineering work, and the rest is machine learning. My work is mainly in NLP and information retrieval. So far, I have worked on AWS and PySpark for two of my projects, and I just started a third project on the enrichment of research documents. We have financial research documents, company filings, and transcripts for earnings calls. We are trying to enrich these documents with sentiment and topic tags. It means automatically tagging different sections with different topics. Say, a paragraph corresponds to earnings per share, another corresponds to Coronavirus. That is something I just started a few weeks ago, and it has been going good so far.


Q. When was the first time you realized that the field of AI/ML interests you and that you wanted to work on it further?


A. I did not know anything about machine learning or data science until my fourth semester. That is when I took the data mining course by Professor Bhanu Murthy and got some experience with machine learning and algorithms. Since I enjoyed working on it, I took many other machine learning courses during my third and fourth years. I also approached Professor Bhanu Murthy to work with him on a project related to event detection from Twitter. We took tweets from the last couple of days and identified a few of the most trending topics. I worked on it for two semesters, and we got pretty good results. I also submitted it to a conference which later got accepted. Also, as part of my thesis, I worked at Microsoft Research on building recommendation systems on top of the Microsoft Teams application. That was the first time I got to work with TensorFlow and got a good taste of the industry. So I decided that I wanted to pursue higher studies and specialize in the field of AI.



Q. How did you manage time between projects and academics at BITS?


A. I used to be regular to classes, so I did not have to study much afterwards. Whenever we had a quiz or exam, I only needed to revise everything taught in classes the day before. The assignments were an excellent hands-on experience and were not all that hard to juggle around. On the other hand, the project took much time, which is usually the case in any research project. For the first few weeks or months, you would spend a lot of time doing literature reviews and reading many research papers, which I'm not good at. I felt that part was a bit boring and challenging. Nevertheless, the implementation part was something I enjoyed. I enjoyed implementing algorithms or models and machine learning, and time just flew by without me even noticing.


Between academics, personal life, and projects, managing my time well is the most critical part of my life. I started planning out what I wanted to do on my calendar itself. I would mark the time slots for a particular task. I would plan for the next few days, which helped me very much with staying on track. I would also keep two to three hours spare for any pending work that I could not finish. That way, I would make sure that anything that I planned would get finished.



Q. How did you go about approaching professors for formal or informal projects in college?


A. As I mentioned, I had taken a few courses with Prof. Bhanu Murthy. At the end of the first semester of my third year, I approached him and told him that I wanted to work on a project with him. So he offered that project to me along with two of my batchmates. Three of us worked on the same project, and my work went pretty well, so I decided to continue it the following semester. Even though I was formally doing the project with Prof. Bhanu Murthy, other professors like Prof. Aruna Malapati and Prof. Surender Samant were also actively involved. The following semester, I was formally registered with Professor Aruna Malapati because Bhanu Murthy sir did not have any other openings. I just spoke with the professor, and as it went well the first time, in the next semester, Aruna ma'am was happy to take me with her as a formal project student.



Q. How was your experience working with professors? What can one expect when they are affiliated with them?


A. You meet the professors every week or so. You read papers, and then you present some of those papers to the professors. You would have to make your path and decide the next thing you think you should do. Then you run it by the professors; if they think it is a good thing to do, you move forward with it. You implement everything yourself, run experiments, discuss with professors, and show them the results. And then you discuss with them some of the followup things you think you could try as an experiment. Even when we had good results and wanted to publish a paper, 95% of the paper writing was our my own. So you mostly have to work independently on the project, even though you are working with the professor.



Q. How does being a first author of a paper differ from being the second or third?


A. Being a first or second author is not very different. It is good to be the first author, but being a second author means you still did much work on the project. Regardless of being the first or second author, having your name on a paper presented in a reputed conference means that your work is recognized and that itself goes a long way.



Q. How does one choose a topic to explore?


A. The good thing about working with professors is that they tell you the set of projects they are working on. If you want, you can work with them. They can guide you through the way when you do not have clarity on what to do. However, research is something where you can never predict the outcome; you just have to keep improving your work, give it some time and have patience. I worked on a project with a professor at graduate school, but the paper has not been accepted even after three attempts. Even at BITS, I think working with professors hardly gives the optimum results in one semester. So if you believe it’s a good project and something you are learning from, then you should continue with it for at least one more semester. Even if you do not get a paper out of it, you still have made good progress in that project, which shows a good part of your resume.



Q. Since much of your work is related to DS, AI and ML, did you look for summer internships in the same area to branch out your profile? Did you also search for research internships in the domain?


A. I had applied for internships for the summer after my third year and got one at Arcesium. Though it was not mainly related to Data Science, it turned out to be pretty good because it was my first proper industry experience. They sent me a list of technologies they used a few months before the internship. So I spent some time learning about them to work and spent more time doing impactful work rather than going through training. Back then, I was not aware of the numerous foreign research internships I could have easily secured because I had a good CG and projects. Nevertheless, after all these years, I still think it was a good decision to go with Arcesium because software engineering skills are always essential and the internship laid a strong foundation for me.



Q. Why did you choose a corporate thesis over an academic one? When and how did you get to know about Microsoft Research? Did you look for other options as well?


A. I did not need to look at other colleges since I had already worked with professors at BITS for two semesters. So I had a decent academic research experience, but I also wanted to get industry research experience. I felt like Microsoft Research had awesome projects in machine learning, so it was a pretty good choice for me.


Right after my summer internship ended in July, a senior was a research fellow at Microsoft Research. He asked if anyone wanted to apply for the internship. So many of us just submitted our resumes. Around August-September, a recruiter reached out to me for interviews. By November, I got to know that I had been accepted.



Q. What is the difference between working in an academic setting and a corporate setting?


A. One of the main differences when working in an academic setting is that you generally are not concerned with any product you are working for. You do some research day after day and hope to get some good results. If you do have a good performing model, you publish the paper. Generally, there is no importance given to the application’s latency or the model you have. The industry, however, has a robust latency requirement. If you have any service or model, you want to predict or infer within hundreds of milliseconds. That is something you never look at, or never even measure when doing academic research. There are also many constraints on what type of models you can work on in the industry. You will want to start with the most basic type of models and you are always working towards a goal, and you know which product you are designing a model for.



Q. Many students are confused about how to get an LOR. How would you advise someone to go about it?


A. For someone who is still in their second year, I would recommend working under a professor. It is the easiest way to get a solid LOR instead of someone you just took a course with. Usually, only a few students are offered formal projects. However, I would still recommend all students to just reach out to professors and ask them for an informal project. Ask them for project ideas and see if you can work on them on your own. After a month or two, you can just reach out to the professor again and get some guidance. That way, you will be engaged with the professor. In most cases, the professor would be more than happy to write you an LOR. Apart from that, being a TA with professors is also very helpful because that's still work you are doing with a professor. If, for some reason you did not get a chance to work with a professor, you could still reach out to them, tell them you took some of their courses and that you want to pursue a career or graduate studies in the field of the course they took. You can then request them to write you an LOR.



Q. When did you decide that you wanted to do a Masters right after graduation? Furthermore, when did you start preparing for the GRE, and when did you appear for the test?


A. Initially, I was not very sure if I wanted to do a Masters or not. During 2-2 is when I registered for the on-campus Princeton GRE preparation course. Even then, I was not entirely sure but I still prepared for it. Then during my third year after my internship, I felt like a Masters would be an excellent path to take. I did not feel like waiting for a few years for industry experience first since I had a pretty good CG, giving me a good chance at some of the top universities. So my entire third year, I spent much time working on GRE preparation. GRE is something where you cannot make much difference in your score in a few months. I spent more than six months on it, and I think my verbal skills have only partially improved from my first mock test. It has always been a weak spot because I never read novels and had trouble with uncommonly used words. So I spent a lot of time on the website subscription they provided us during the Princeton course called membean.com. It helped me to work on some vocabulary questions constantly.

I gave the GRE in September of my 4-1 and the applications are usually due in December. I also gave my TOEFL around the same time. My TOEFL and GRE scores were excellent, but I was not satisfied with my verbal or English scores in TOEFL. So I decided to give TOEFL again just to increase my chances. By the time I was done with both the exams, it was the end of October.



Q. How did you decide on which colleges to apply to?


A. First, I went through some university-ranking websites, shortlisted a few, and asked seniors for their opinions. Then, I posted my profile on the BITS2MSPhD Facebook group and got my queries answered by seniors who had gone through the application procedure in the past. I ended up applying to 7 universities across the US and got admits from two of them - UIUC and UC San Diego. Selecting one university of these two was a difficult decision. Because I did not know any BITSian seniors at UIUC, I reached out to many students from both the universities on LinkedIn and asked them about critical factors like job prospects, TA and RA opportunities and made my decision easier.



Q. How big of a role does CG play in all these applications?


A. I think that depends on the universities. Many universities strongly prefer people with high CG. However, many universities prefer people with good work, project experience, or a good GRE score. There are always types of universities for anyone and everyone. My CV was pretty good. However, my GRE score was decent; it was 320. Most of my batchmates had outstanding scores like 325 and 330. That was one thing I was worried about because I felt like my GRE score might lower down my chances. So I was fortunate to get into UIUC. So there's always something for everyone.



Q. Did you have a PhD in mind, and how did you weigh the options - PhD and working?


A. I never wanted to do a PhD. Even when I was applying for masters, I was sure that five years was too much commitment. I just wanted to have a short masters and then work in the industry. In UIUC, they have separated masters in CS into two different programs. One is MS in CS, which is two years long but doing a thesis is compulsory. The other one is MCS (Master of Computer Science), which is 1.5 years (three semesters) long, and you cannot do a thesis. So I applied for the MCS program because it was shorter, and I did not want to do a thesis.



Q. What is the difference between professional masters and research-oriented masters?


A. It depends on the universities. At my MCS program, they technically call it the professional masters of computer science. However, it is still similar to MS CS in other universities. So the name itself does not make much of a difference. It is about what is inside the program. How is the course organized? What are the courses that you would be doing? Would you be getting any experience working with professors? These would differentiate the two.



Q. While applying for Masters, would having an undergrad thesis be more helpful than an internship experience?


A. In my opinion, working with professors is always a plus point, because more often than not, you decide whether or not to research after you join the program at a university. Having worked on a thesis or some good research projects could be very helpful in such a scenario. However, I also think that a good blend of software engineering, internships and research internships would benefit your application, especially the SoP. Even though I was sure about not going for a PhD, my experience at college helped make the research aspect of my application much more potent.



Q. Looking back at your college years, what, according to you, did you do right that you would recommend to juniors and what do you think you could have done better?

A. After going for my Masters, I felt like I wanted to have more entrepreneurial skills. So I took part in some competitions during my Masters which led to entrepreneurship. However, I never participated in any such events in BITS, I wasn’t part of the E-cell. Looking back, I think that I should have been part of such clubs where I could develop these kinds of skills that would be helpful in the future.


There is never any specific path for everyone. You should focus on what you think would make your career better for you. I felt my CG was good, and I maintained it. It was beneficial for my Masters. But it's not always necessary. When it comes to jobs, no one cares about it. But when it comes to applying for Masters, it is a plus point. Maintaining my CG is something I think I did right.



Q. What clubs and departments were you part of? Do you think club PoRs can directly help with applications?


A. I wasn't part of any technical clubs. I applied for many in my first year but could not get into any. But I was always involved with the Gujarati Association. Starting from my first year, I would participate in all of their events and the Sanskriti performances. When in my third year, I felt like I wanted to develop some leadership skills. So I stood up to be the president of the association - I spent a lot of time organising workshops, dandiya nights, performances during Sanskriti. I spent a reasonable amount of time on it, and it was a good learning experience for me as well. That was one of the most important extracurricular activities I was a part of and helped develop my overall personality.

I think being part of technical clubs can be helpful for applications wrt the interaction you might have with professors associated with the club.



Q. What advice would you give to a fresher coming into college and to members of the following years? A. First Year: In the first year, try to familiarize yourself with college life and explore one or two clubs because your first year is when you have the most free time. You have the bandwidth to meet people and make connections.

Second Year: This is when you should reduce the extracurricular activities and focus more on academics.

Third Year: The third year is when things get dire because you will begin looking for internships, so you’ll want to prepare for them. For CS, you want to have a pretty strong coding background and maybe some knowledge of other fields like OS, programming, etc. The third-year is when you should put in the most effort in academics. I would strongly recommend second and third years to get involved with a project under a professor.

Fourth Year: You should ensure that whatever PS or thesis you work on is something you want to build a career on.



Q. Right after graduation, there are not many opportunities for students interested in data science. That is one of the primary reasons people go for MS. Can you shed some light on how big a difference MS makes when seeking out opportunities?


When it comes to general software engineering roles, just a bachelor's degree is good enough. But for more specialised courses, like machine learning or data science having a graduate degree is very important. Most of the roles I was applying for would mention an MS or a PhD as a requirement.

But again, just doing the coursework in masters is not helpful. You should try to work with professors or at least do some good course projects. For example, in every course of Masters, there is one credit point just for the project where you have to make a team with other classmates, decide your project and carry out everything on your own. Moreover, the project itself is an excellent experience for all the courses that you do.

That way, by the time you are applying for jobs or internships, you have already worked on some relevant projects, which you generally do not get in undergraduate studies.

That said, I have seen some people in my current company with just a bachelor's degree. So it's not that a Master's is always a requirement, but it helps. Even without a Master's, you can get jobs at some companies if you have worked on sound and relevant projects.



Q. Usually, after Masters, people join at SDE/SWE-2 equivalent, but you have joined at SWE-3 equivalent role. How was that possible? Did you have to put in extra effort to get that?


A. Bloomberg does explicitly not care too much about the years of work experience you have. I had a Master's, and they were okay with it. It all comes down to how well you do in the interviews. While I was applying to new grad positions, I was also applying to roles that required one or two years of experience. I would justify it on my resume by mentioning my experience as a research assistant under a professor for two semesters, even though we do not have a technical name for the role. Also, during the beginning of my Masters itself, I was working with a professor on computer vision for information extraction. That project itself was an outstanding experience and relevant for the machine learning jobs I was applying for. So by the time I was applying for full-time jobs, it had already been one year of me working on that project.

In general, your experience and how well you do in the interview determine what role you get. So you should apply for roles with prior work experience even though you technically do not have any.



Q. What final piece of advice would you give to your juniors?


A. My main advice would be to try to work on different areas and get diverse experiences. I first worked on NLP; then, during my Master's, I worked on computer vision. So I could apply for both types of jobs. Also, try to learn as many technologies as you can because every company uses different technologies. In general, during your Bachelor's, you learn only primary programming languages like C, C++, Python, Java. You do not know any industry-specific technologies like AWS, Docker, PyTorch or TensorFlow. That is something you learn if you work on a specific project in the industry or sometimes with the professors. I would recommend trying to get experience with various types of technology used in the industry.


Disclaimer: The points given above are the views and steps taken by the individual. They are not fixed steps and guidelines to base your college upon. Our hope is to inspire students so they can take the necessary steps hereafter. We hope you like it!


bottom of page