Interviews with UofT Data Scientists: Ramaneek Gill

Ramaneek Gill, Machine Learning Data Scientist, Manulife’s Lab of Forward Thinking (HBSc Computer Science: AI focus and Computer Vision focus, 2016)

Q: Tell us a little bit about yourself — what did you study, where do you work, what are your hobbies?
I'm a Machine Learning Data Scientist at Manulife's innovation lab called LOFT, which is located in the MaRS DIscovery District. While at UofT I did a Computer Science Specialist with a double focus in AI and Computer Vision.

My hobbies include spending time with my dog, playing ice hockey, golf, soccer, and playing many video games — mainly Counter Strike Global Offensive, Super Smash Bros, and of course Pokemon GO.

Q: How did you get interested in data science?
I've always been interested in the latest tech/research. Since I was a kid I always wanted to know how things work and what it took to push the boundaries of current technology. My main source of inspiration into machine learning was Nintendo's Wii system. It introduced computer vision to me from a hardware level. Pursuing this interest led me to software and then to machine learning research.

Research interested me heavily because of its applications to video games. As I matured this focus shifted to automation and then to tough high-level artificial intelligence problems such as NLP and Computer Vision.

Q: Which courses were the most relevant to your job? What are the similarities and differences between the coursework in the data science-related courses that you took and what you see in the workplace?
I can't stress enough with how much UofT's machine learning courses prepare you for a job. UofT is known for being a tough school, so if you thrive in the tough courses there's nothing that can stop you in the real world from applying your aptitude for learning to data science. The key things that UofT's machine learning and computer vision courses taught were the basics, once you intuitively understand them its just a matter of applying higher level abstractions.

Michael Guerzhoy's CSC320 offering taught me a bunch of basic computer vision algorithms from a mathematical level. The assignments in that course gave me confidence from turning algorithmic theory into a python application in a very fun and practical way. It really warmed me up for the 'tough' courses by showing me that being passionate is all it really takes to do well in a course.

CSC321 — the neural networks course — was great for a very quick introduction into neural nets, by the end of the course you could almost call yourself an expert beginner if you took the assignments and lectures seriously. It gives you everything from a theoretical to a practical education on getting started with deep learning.

CSC411 was great at going through the history of machine learning algorithms and the applications and limitations of each one. This knowledge is used every single time a new machine learning model is being trained. There is no point to deep learning if k-means or logistic regression provide you with more than adequate results. You need the right tool for the job and 411 teaches exactly that.

CSC412 was a very tough course, I personally don't use it in my current job but the bayesian inference that is taught is key for many people who are looking into a Quantitative Analyst/Researcher field. It is heavily statistically based and you get to experience what its like to use Matlab. Many Quantitative Analysts actually don't use python at all, just Matlab or R.

Of course STA247, STA248, MAT223, MAT235 teach you the bread and butter of all the algorithms you'll learn during an undergraduate degree focusing on data science so be sure to take those.

Every job is different, including the consulting and full time ones. A bad craftsman will blame their tools, a mediocre craftsman won't even think about them, and an experienced one will choose the right one. Each tool has its own complexities and most of the time you'll either have to relearn how to use one or learn a new one that everyone else has recommended. This is exactly what its like to work in Data Science. There's a reason why UofT's courses are tough - it is because they adequately prepare you for what its like in the real world.

I really can go on and on about this but the important take away is that your undergraduate courses are important. Especially the upper year ones. Remember to learn, not just get good grades. It depends on your goals but Data Science as a career is achievable with even an undergraduate degree. A high GPA won't help you excel in an interview or task, it will get you that interview. A good set of skills will help you ace it and land a job.

Oh and the focus for AI specialist exists for a reason — it's because it gives you a great foundation for your career in data science.

Q: What is your typical day at work like?
Arrive at work, daily morning meeting to catch up with other teams. Work on tasks I feel are important. Spend time brushing up skills I've been neglecting or learn something new. This includes reading a bunch of blog posts by other people who are much smarter than me and maybe a bunch of abstracts from a variety of papers.

Here is my overall process that can span weeks or months:

Think about the business problems my employer faces.
Think about how machine learning can help with that.
Think about the business value that can be provided with those applications.
Research other companies and see what their solutions are to a similar problem.
Find out what tools/algorithms they use.
Think about the best tools to use to create those applications.


Implement the basic proof of concept algorithm to see if it can be easily done and to establish a baseline. This includes things like support vector machines and basic clustering algorithms.

Research deep learning papers that can be applied to the problem.
Prototype them out. Visualize the input data, the training and the results.
This is where the most stressful part of work is. Its stressful because its incredibly rewarding!

Decide if this deep learning model is adequate enough to make it into production or find a different paper to restart the prototyping on.
Work with other application developers to incorporate it in to an existing or new application.
Get more data, finalize the model. Deploy it.

Perhaps write a research paper on it if the application is novel.

Q: Tell us a little bit about your data science-related projects outside of your coursework (please talk a little bit about 494/495 in your answer as well)
My biggest source of experience and transferable skills came from doing a project course with Michael Guerzhoy as my supervisor. I decided I was interested in NLP since I hadn't done anything with that field yet and was eager to learn skills. We worked with Twitter data and tried to extract/predict topics. It was a very fun project that taught me how to mine data, preprocess it, visualize it, the importance of applying different algorithms, the process with writing a research paper (even though we didn't have a final one), using and learning new tools, exploring the theoretical implications of different algorithms. These are all things I do day to day in my job.

I hopped on TensorFlow the first day it came out. It looked promising and Michael Guerzhoy was curious about it which motivated me to use it for CSC494 and CSC494 (he was my supervisor). I then used TensorFlow and recreated many tutorials online: RNNs, MNIST, Deep Nets, RBMs and more. It was fun and rewarding.

Q: How did you go about looking for a job?
I was ruthless about it. I applied everywhere and any way I could since I was still a student and was eager to kickstart my career I needed to make it through HR to an interview so I could showcase my skills. I used sites such as indeed, linkedin, glassdoor, monster, recruiters on linkedin. In the end I only had 3 interviews after a couple months of leisurely but persistently applying to many different jobs. 1 or 2 interviews is all you really need in Data Science, if you were diligent in your undergraduate or graduate career and stayed on top of the latest technologies (in my case TensorFlow) you can easily do well on an interview.

Q: Do you have any interview prep tips?
The biggest feedback I got from my managers was my confidence. Be confident in your personal and academic skills. I was confident I can help build out a team, confident I could create state of the art deep learning models, confident about every single answer I gave since the experience from my projects, undergrad and short (1 year) web development career at a startup prepared me for it.

Q: What is your advice for UofT students who want to work in data science after university?
Never stop learning. Data science is changing very quickly and keeping up is fun and tiresome. It will separate you from the rest of the candidates. Always be reading something new and most of all enjoy what you're doing. It's hard to love this field because you'll be failing most of the time, but that is what makes it worth it.