NVIDIA Senior Applied Research Scientist
UC Irvine Ph.D., Information and Computer Science
Current Time 0:00
Duration Time -:-
Progress: NaN%

How did you get to where you are today? What is your story? What incidents and experiences shaped your career path?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
I am originally from Ukraine, I got my bachelor's in applied mathematics and a Masters in applied mathematics in the Ukraine University of Kyiv. Over there my major was applied mathematics and I was doing graph theory. Then I applied to the US and got into the Ph.D. program at the University of California at Irvine. I said the chance to work on applying graph theory and statistics and problems in bioinformatics. When I was doing my Ph.D. coursework and research, I got really interested in machine learning. After finishing my Ph.D I got a job at Microsoft as an applied researcher. I spent three and a half years at Microsoft working on some projects inside the search engine. Then I switched to Apple where I worked as an applied researcher on the condition problems for Apple stores and Itunes. Now I am working at NVIDIA and I've been here for three and a half years. Regarding experiences, obviously educational experience is very important. My original education was more in pure applied maths but during my student days at the University of Kyiv I got the chance to participate in programming competitions organized by Microsoft Gold Imagine Cup. Those experiences convinced me to move to mass from computer science.

What are the responsibilities and decisions that you handle at work? Discuss weekly hours you spend in the office, for work travel, and working from home.

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
At NVIDIA I'm applied research scientist and I am part of a product group. We are not part of media research but we also do applied science. We work on the problems related to conversational AI. It involves special cognition, natural language processing and speech generation. We write a lot of open-source quotes which we share with our partners It's open-source so it is basically shared with everybody. We give the code for free to grow GPU usage for deep learning. I make it easier for everybody to use it's a major goal of our work. We also do research in the sense that we develop new models that run faster or maybe use less memory or maybe achieve better accuracy. When we get something interesting we publish it online or it goes to the conference. In terms of weekly hours as applied research scientist my work typically cycles between development and doing research. Once you have signed my idea you need to implement it. Typically it involves a lot of engineering especially if your idea involves something like bringing a lot of GPU nodes. There is some software engineering aspect you need to handle first. Once you're done with that you go to the experimentation stage where you can run experiments, do model considerations and so on it cycles between those two modes. In terms of hours, I think it's true for not only NVIDIA but for all other companies at Silicon Valley that we don't have any hard requirements that we must come in at like nine or leave at five or six. Most meetings happen in the middle of the day. It's totally fine to work from home when you have to and you can come late and then leave late or vice versa it is pretty flexible.

What tools (software programs, frameworks, models, algorithms, languages) do you use at work? Do you prefer certain tools more than the others? Why?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
In my current role and in terms of languages we mostly use Python. It is the most popular language for deploying right now for deploying you would use some framework. In my day to day work, we're using PyTorch. We were using TensorFlow before but I would also say that this is very flexible. It depends on a particular researcher what he or she is willing to use TensorFlow or PyTorch. it. Actually a few years ago, I can define this policy for myself that I just try new projects with a new framework but now it is mostly PyTorch. If you want to do something with codes rather than the framework. Then you are actually out of the Python territory and into c++ territory. The knowledge of lower-level languages such as C++ helps. 

What things do you like about your job? Were there any pleasant surprises?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
I like the work I do and the work problems we work on. In terms of pleasant surprises specific to NVIDIA. The first one is at NVIDIA it is surprisingly easy to share and open-source our work. It is also very easy to go to conferences and discuss and share ideas. I guess it's influenced by our business model because we sell hardware and then the software and research it. We kind of mostly give away for free so that it would drive demand for the hardware. In my particular role, it is very easy it makes me feel as if I am in the media. Actually the projects that I am working on right now it is open on NVIDIA so it's open source. it's very easy to work with some other companies on a particular problem. Another pleasant surprise probably not a very big surprise but at NVIDIA we have access to a lot of cool hardware used for deep learning. Nowadays that is very important for doing research.

What are the job titles of people you routinely work with inside and outside of your organization? What approaches do you find to be effective in working with them?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
It depends on the company. I'll give you some examples if we're at some conference, and we want to talk with the company and this is a relatively small company, there may be like CTO or even CEO in the meeting, but if it's a bigger company there will be other folks. I would say a more important thing is not a job title but a job role. So I would kind of distinguish between engineering and business. Inside engineering, the title doesn't really matter. There are junior engineers, senior engineers, distinguished engineers, and so on and they speak the same language. Whereas in business people may have some details and try to come up with a representation of what the product has to do. So you kind of have to switch your head a little bit from engineering to product so that you speak the same language. I would say that the role is more important when you talk to peoples and their specific titles.

What major challenges do you face in your job and how do you handle them? Can you discuss a few accomplishments?

Summarized By: Jeff Musk on Mon Feb 17 2020
We work in a deep learning field and this field is moving really fast. It's both exciting and challenging. I'll give you a specific example for an accomplishment that so last year that is 2019 we were working on a new model for speech recognition. We developed it trained it and it turned out to be pretty good. Basically we were creating a benchmark getting the best result. We submitted our paper to the conference and there is a sight like where you track the progress. There we can see which algorithms are the best in a particular benchmark. We were number one for two weeks. There was another team from Google and they submitted to the same conference. Both papers got into the conference and it was a great conference. The challenge is that the field is moving really fast sometimes you have to catch up and I would say that the important part is not to try to catch up, but just to try to do your best work. You have some idea evaluate it show if it's working or not, and try to understand why and that may result in a valuable product or a research publication.

What are the recent developments in the field? How significant are these improvements over past work? What are their implications for future research & industry applications, if any?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
In the field of conversational AI there is rapid progress in natural language processing. It's very similar to what you have seen a few years ago in the image processing. Basically when you can train some models on the big data sets and then fine-tune them on different tasks or on different data sets. Now this is happening in this field so we can train those huge language models. Actually there is a very nice thing about those models that they are trained on unsupervised data. So it turns off unsupervised text data out there on the Internet Wikipedia so lots of data. Once we train those huge models we can reuse them later for the tasks that do require supervised data. For example, question answering, The model not only owns your questions and answers but that whole Wikipedia in knowledge. It really improves those downstream tasks and works very well to transfer to other domains and so on. Those are very exciting advancements in this field. In terms of the implications for the future of the research industry, I would say that we would see smarter personal systems. It seems like Alexa, Google assistants and Siri will become much smarter in terms of research. We would be able to create more dialogues that are much closer and common for people.

What qualities does your team look for while hiring? What kind of questions does your team typically ask from candidates?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
We hire for applied deep learning roles. It really means that the candidate should have two kinds of skills. One is the candidate has to be actually a good engineer or like a programmer. So that means that strong computer science fundamentals and knowledge of at least one object-oriented language. On the other hand because it is an applied deep learning role the candidate must understand the basics of deep learning. These are two categories for the candidates that we are looking for. Of course we also look at whether the person is easy to work with whether he or she is an employer. In terms of questions I can actually tell what the process is. So for internship positions, we have two technical phone screens. Before that you may have just a phone screen with the recruiter. On the two technical phone screens, you will get a programming assignment and some deep learning questions. In terms of programming assignments we never give people like tricky or Basel questions. The questions that we use are basically trying to test whether they understand data structures whether they understand Time complexity. Whether they understand where it makes sense to apply for example set vs list vs hash tables. So nothing really tricky but trying to measure their understanding of computer science fundamentals. On the deep learning side the question we ask is from the course you can take online. For the full-time candidates, we typically have two or three phone screens and then before as a candidate inside, where we actually have a full day of like five interviews and several people meeting him.

What was the hiring process like for your job? What were the roles of people who interviewed you? What kind of questions were asked?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
We started with a phone screen with the recruiter. Then there were two phone screens with the engineers and the team. During those phone screens I was asked questions like where I was working at that point some questions related to optimization algorithms. After that, I had a full day of on-site interviews. I met about five people that included my manager and three engineers who are now my co-workers. I was asked C++ programming questions, one python programming question and several deep learning and system design questions. My interview process was a little different because at that time, both the team I was interviewing for and me, we went to the same conference. We had one interview during the conference. Thishappens frequently if you go to machine learning conferences.   

What are different entry-level jobs and subsequent job pathways that can lead students to a position such as yours?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
It is very helpful to start with an internship. In my team we have about three to four people who started as interns. There is one more person who started as an intern and is in the media team. It is very helpful for students to start as interns. You can come in summers for internships. Once you graduate you can come back for a full-time role. If you are a new college graduate NVIDIA typically goes to several campuses to hire new college graduates so you can apply on your career fair if you see us on your campus. If you don't see NVIDIA on your campus it is totally fine to apply yourself. So you can be hired out of any school or any country. In terms of subsequent job pathways I was always into engineering. For me it was only applied research I just moved from researcher to senior researcher. I know people switch the disciplines like you can go from engineering to program management or testing or from testing to engineering. That happens but I just always stayed in applied research.

What were the responsibilities and decisions that you handled at work? What major challenges did you face in your job?

Based on experience at: Principal Applied Researcher, Apple
Summarized By: Arushi Chaudhary on Mon Feb 17 2020
At Apple I was working on recommendation algorithms for App Store and iTunes. Sometimes when you go on the APP store and then say you click on the Expedia app there is a tab like it's called Related Assumption exists where it shows you customers also bought Travelocity or American Airlines. It was probably a less controversial feature. Another feature I have worked on was was game recommendations. Basically, it's when you go to the app store and click on the game shop It would show you games you might like. So this is basically recommendations of games personally for you, based on what you have already purchased. This is a personal recommendation feature. So my responsibility as an applied researcher is to develop algorithms behind this future. I also helped engineers in implementing features of the data pipelines to make this work. My major challenge there was personalized recommendations. As you all know Apple is very concerned about user's privacy and this feature involved user's privacy. When I started, that was a new feature so that was the first personalized recommendation featuring the APP store. So it was very hard to convince editors and business people that this is something that we could ship to the customers, that it would be good user experience. Nobody really doubted that it would increase revenue. The very important part was like convincing a lot of people that the user experience will be good and sometimes it was a very gradual process.

What were the responsibilities and decisions that you handled at work? What major challenges did you face in your job?

Based on experience at: Research Software Development Engineer II, Microsoft
Summarized By: Arushi Chaudhary on Mon Feb 17 2020
In Microsoft I was working on several things. One very cool thing that I worked on was in 2013 we worked with another person from Microsoft Research on the deep learning tool kit. took it, actually. It was my responsibility to GPU back end and look for it. I had to do all the matrix operations and congressional operations on GPU implementations. The major challenge was the tools at that time the tools were not that upgraded so I had to do a lot of work on my own. Another part of my job was to apply our new deep learning tool kit on the real problems at Microsoft. Which at that point I was doing for clickbait predictions for ads. The challenge there was to keep up with baseline. There are a lot of smart people at Microsoft so it is very difficult to keep up with them.

How did the program prepare you for your career? Think about faculty, resources, alumni, exposure & networking. What were the best parts?

Based on experience at: Ph.D., Information and Computer Science, UC Irvine
Summarized By: Arushi Chaudhary on Mon Feb 17 2020
As a Ph.D. student the important part of your course is your research and what kind of advisor do you have. Even though my Ph.D. research is not directly related to what I do right now the important part is to understand the process of research. Learning how to define the problem. Outline promising ideas like rank them, which are promising which are not in terms of benefits versus how hard it would be to try something. This is the research process in general. Learning it was pretty useful because now as an applied scientist I can't just sit and think about something for half a year without producing any results. I need to identify the most important directions. Split them into smaller chunks and divide them on how to proceed and what would I do if something doesn't work as I hoped it would, and so on. The earlier part of Ph.D. was you take courses like algorithms courses or probability statistics. These courses are very helpful but you don't have to take up a PhD program for these courses.

Would you like to share something that is not on your resume? This may include your passions, facing setbacks or adversities, a unique experience, or an unexpected help.

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
This is actually related to my career path but it's not in my resume. When I was in high school, I met a really great maths teacher. That was very important for me for being able to get in Kyiv Unversity. She left her job but she helped us prepare for different mathematical contests. It was a very unique experience because with her help I got to participate in so many maths competitions and I got a chance at Kyiv University. In terms of passions outside of work I love to visit the ocean. It's important to not forget to have fun. As a Ph.D. student you learn to manage your time so I spent a lot of time at the beach doing surfing. My advisor was totally fine with this as long as I produced eight years and results. Being outside helps you to come up with new ideas. Sometimes you have to work for hours but being outside refreshes your mind.

Do you have any parting advice for students and professionals hoping to get to a position such as yours? What 3 dos and 3 don'ts would you suggest?

Summarized By: Arushi Chaudhary on Mon Feb 17 2020
If you are a student and want to start working in a similar position start with internships. Let me get into three Dos. First do is to get into some open source presence where you can share your projects or contribute to the projects. Another thing is maybe you are mass media student or engineering student who wants to check out deep learning and it is not your major so you can take up courses like deep learning specialization. I feel that it does not matter where you do your course from and my colleagues feel the same too. What matters is that you did take the course and you have the knowledge and are self-motivated. The third do would be to stand out of the crowd and try to participate in programming competitions or data science completions. I participated in the imagine cup and it was very helpful after that I was interviewed by big companies like Google and Microsoft so it was a great experience. The major don't according to me is don't exaggerate on your resume because it is very easy to catch. I would like to add one more do that interview is a two-way process. While getting interviewed always interview your interviewer and ask questions about your future at the company. Make the interview seem like a conversation.