How I Got a Job at DeepMind as a Research Engineer (without a Machine Learning Degree!)
❤️ Become The AI Epiphany Patreon ❤️
https://www.patreon.com/theaiepiphany

👨‍👩‍👧‍👦 Join our Discord community 👨‍👩‍👧‍👦
https://discord.gg/peBrCpheKE

In this video, I share my story on how my journey to DeepMind looked like.

I cover some details of my background story, how my ML curriculum looked like, how to get a referral for a top-tier company such as DeepMind, and finally how my final preps looked like. 

⌚️ Timetable: 
00:00 Intro - I landed a job at DeepMind
01:11 My story
07:16 ML curriculum
14:57 Landing an interview at DeepMind
17:34 Final preps

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 
💰 BECOME A PATREON OF THE AI EPIPHANY ❤️ 

If these videos, GitHub projects, and blogs help you,
consider helping me out by supporting me on Patreon! 

The AI Epiphany - https://www.patreon.com/theaiepiphany
One-time donation - https://www.paypal.com/paypalme/theaiepiphany 

Huge thank you to these AI Epiphany patreons:
Eli Mahler
Petar Veličković
Bartłomiej Danek
Zvonimir Sabljic

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 

💼 LinkedIn - https://www.linkedin.com/in/aleksagordic/ 
🐦 Twitter - https://twitter.com/gordic_aleksa 
👨‍👩‍👧‍👦 Discord - https://discord.gg/peBrCpheKE

📺 YouTube - https://www.youtube.com/c/TheAIEpiphany/
📚 Medium - https://gordicaleksa.medium.com/ 
💻 GitHub - https://github.com/gordicaleksa 
📢 AI Newsletter - https://aiepiphany.substack.com/

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

#deepmind #engineering #job
 Hey, what's up you guys? In this video I thought sharing my full story on how I managed to land a job at DeepMind as a research engineer, as this was one of the most requested videos by you guys, so I thought making it happen. So I guess what makes my story kind of special is the fact that I do not have a machine learning degree, and when I say that I mean I don't have a PhD, nor master's, nor bachelor's degree in machine learning. Also, my first exposure to this whole world of programming was fairly late when I was 19 years old, and similarly my first exposure to machine learning field was back in the summer of 2018, which is fairly recent as well. Also, I come from a relatively poor country and the higher education system here in Serbia is not that great, especially compared to some of the best universities out there. So in this video I thought telling you something more about my background story, telling you how I managed to craft my own machine learning curriculum, I'm going to tell you as well how I managed to get referred to DeepMind, and finally I'm going to tell you a little bit more how my final preparations look like. So having said that, hopefully you find this video useful and enjoy. Back in the high school I wasn't even aware that working for a big tech company is a thing. Like I had all of this software on my computer, like Windows and Google search, but I wasn't quite aware that you can work for a company out there to build products like these. Like that was the level of my ignorance back then. So no, I'm not that guy who started programming when he was six, nor did I dream about building an artificial general intelligence when I was seven years old. No, I was probably the mutt back then. Then in 2013 I was supposed to pick the field of my study, and back then I didn't quite know what I want to do yet, and so I heard about this electrical engineering faculty where only smart people can get in, and it's the hardest faculty in my country, and so I was very attracted by the challenge, and I decided to enroll and study electrical engineering. During the first couple of years of me studying there, aside from studying really hard, my extracurricular activities did not involve building fancy applications and cool technical projects. No, I was actually learning human languages, and I was working out focusing, like training calisthenics and stuff like that, and back then all of that seemed very irrelevant for my like future career, but like only later did I realize that all of the meta skills I acquired doing that were invaluable later during my career. So I learned how to discipline myself, I learned how to like build a program and execute on it, I also learned how to learn on my own, and all of these are very, very important. Then at the end of my studies in 2017, I decided I want to make a hard pivot into software engineering, and the reason was my studies were mostly focusing on digital electronics and analog electronics, and I did have some programming courses, but those constituted a minor like percentage of the courses I had, and so I started taking more and more programming courses, and around that same time in 2017, I managed to land an internship in a small general startup as an Android developer by this student organization, and so I decided I want to prepare myself, and I started learning Android, I started building apps, uploading them to Google Play Store, and again, this whole period of me experimenting and learning and searching for the resources myself and building my own curriculum proved to be very important later for my later journey. Fast forward to summer of 2017, while I was doing my internship in Germany, I realized I was falling behind, and the reason was I finally decided I want to start applying for big tech companies, and I realized that the only thing that's actually important are algorithms and data structures, and so all of the knowledge I accumulated throughout the years, all of that engineering knowledge I accumulated was actually not that important. I remember I felt really bad because of that, because somebody who was like 19 years old and was doing like competitive programming for a year already had an advantage compared to me. That feeling sucked really bad, and so once I got back to Belgrade end of the summer 2017, I decided I want to start learning algorithms and data structures, and so I started building my own software engineering curriculum. I started taking algorithms and data structure courses, I started reading through the textbooks, I started doing competitive programming, going through the cracking the coding interview book and stuff like that. In parallel, as soon as I started my preparations, I started applying for big tech companies, and soon, very soon, in December 2017, I managed to land my first ever interview with Facebook, and I failed miserably, but I did not give up, and so I just started pushing and learning and applying, and soon enough, I got my second interview with Microsoft, I failed, I got my interviews later on in 2018 with Nvidia, and I failed again, but the main point was I did not give up, that's it. Around that same time in 2018, I was accepted into this machine learning summer camp organized by Microsoft employees, and so I realized this was a perfect opportunity for me to show that I'm passionate and knowledgeable, and maybe this was my entry card for Microsoft, and soon enough, after I attended this machine learning summer camp, while I was in Brazil doing yet another student internship, I finally got my offer from Microsoft, and I was so happy. The team I was supposed to work for was the HoloLens team, the very same team that organized the machine learning summer camp, and I'm not sure how many of you know about HoloLens device, but this is a science fiction-like device that you put in your head, and all of a sudden, you have holographic projections in the 3D space around you. So because I was working on this really cool project, the HoloLens project, and I was surrounded by computer vision, and where is computer vision? There is machine learning, I was quite motivated myself to start learning machine learning on my own, even though my official role at Microsoft back then was software engineer, and so I started doing Coursera courses, Andrew Yang classics, but in all honesty, during that period, ML was not the strongest focus point myself, so I was trying to build strong software engineering foundations, I was also reading a lot of literature that doesn't have anything to do with tech, like investing and finance, etc. And so throughout 2019, I was learning ML, but on a low intensity mode, and nonetheless, the internal management in Microsoft noticed my efforts, and so I got shifted internally from a software engineer role to a machine learning engineer role, and I was sent to this ICCV conference, a famous computer vision conference, and all of this gave me additional boost and motivation to start learning and understanding how machine learning works in all of the nitty-gritty details. So all of this made me develop my own machine learning curriculum, and next up, I'm going to tell you more about it. I knew I wanted to research various subfields of machine learning, such as various computational R-Telegrams, such as neural style transfer, as well as GANs, or generative adversarial networks, transformers, which are all around the place, and reinforcement learning. And so I decided I want to dedicate like a two to three month periods of time to each one of those subfields of machine learning. How I call those in my head are macro cycles, and inside of each of those two to three month long macro cycles, interspersed are something that I call the micro cycles, and those micro cycles, again, can be of two types, input or output. Now those input cycles are all about me ingesting the information. So the initial micro cycles would be all about just understanding the high level structure of the subfield I'm trying to tackle. So I'd start with some high level resources, such as some blogs or some YouTube videos, stuff like that. And then in subsequent micros, I dig a lot deeper, and I start reading research papers, some chapters of some hard books, stuff like that. The output micro, on the other hand, is all about me outputting information. So me teaching you guys the stuff I've learned, and by doing that, I help you out, and also I learn stuff much better myself. So that's a win-win situation. Now some of the public artifacts that I create during those output micro cycles are things such as YouTube videos, things such as open sourcing, like a GitHub implementation of some paper or something, and usually those would come in the middle of the macro cycle. And finally, I decided I want to write a blog summarizing everything I've learned investigating researching that subfield of machine learning, and I'd usually publish those on the medium at the end of the macro cycle. Now all of this might seem like a perfect plan, but the reality is over the first couple of iterations, so that means over the first couple of subfields of machine learning, I was making lots of mistakes, I was not, I was deviating from the plan, but like after a couple of iterations, after a couple of months, like I think five or six months, I got much better at this, and yeah. And now let me tell you a bit more about the topics I was covering over that year and a half of my machine learning curriculum. First up is neural style transfer, and the reason is I'm A, very passionate about computer vision and about images and just visual stuff in general, and B, I like art in general. So ever since I was a kid, I loved drawing, painting, I was even doing graffitis back in my high school days. So this field like such a natural, like a topic to start with. Needless to say, I learned a lot about stuff like PyTorch, so the deep learning framework, I learned a lot about convolutional neural networks, about optimization algorithms, stuff like that. This was also the first time I read so many research papers, and aside from that, I open sourced three projects, the first one implementing the original neural style transfer paper, the second one is the fast version of the NST algorithm, and the third one was NST applied to videos. During that period, I also created my first ever YouTube video and YouTube playlist on NST, obviously, but I unfortunately did not write a blog sharing the learnings throughout that period, which was actually somewhere around four and a half months long, which is, as you can see, I was deviating from my initial plan of doing it two to three month chunks of time. Things were not perfect, but I was getting better, and that's what matters ultimately. Next up, I decided I wanna explore Deep Dream, because ever since I've seen the first outputs of that algorithm, I was fascinated by it, and I knew I wanted to understand the nitty-gritty details of that algorithm. And so again, I started exploring, reading blogs, going through subreddits, exploring projects, and implementing my own project as well, and unfortunately, again, I just created a single video, and I did not write a blog as well, but I was getting better slowly. In contrast to neural cell transfer, I was exploring Deep Dream for only about a month and a half, again, some deviations from the plan, but nothing too alarming. Next up, I switched my attention to generative adversarial networks, because they were, A, very popular back then, so even more than they are now, and B, the GAN component was used all around the place just to make some baseline have a more realistic output. And so again, I was reading a bunch of research papers, I implemented three projects as well here, so the original GAN paper, the conditional version of the GAN paper, and finally the DC GAN version, i.e. the deep convolutional GAN algorithm, which is one of the most seminal GAN papers, because it caused a Cambrian explosion of various novel papers down the line. Aside from GANs, Transformer was the name that was thrown all around the place, and I knew I needed to understand and nail the concept if I was to understand all of the advanced papers that were coming out every single day. And this time, I think I executed everything pretty much perfectly. I implemented and open-sourced the original Transformer paper, so that was a machine translation system that translated between English and German and vice versa, and since I knew both languages, it was quite kind of easier for me to debug the code and understand whether the outputs make sense or not. Also, this was the first time I started covering research papers on this channel, and finally the macro was ended by me writing a blog summarizing everything I've learned throughout the last three months. After Transformers came the GraphML subfield, and this is very very important because I was thinking about covering this subfield for many many months, and also this is the place where the DeepMind channel opened up for me, but I'm going to tell you about it a bit later in this video. I'll keep this short. Again, I implemented the original GraphAttention network paper, I created a very popular YouTube series of tutorials on graph neural networks, and all in all, I got an awesome response from the whole community of researchers and engineers alike, and as I said, all of this helped me later open up that DeepMind communication channel and land a first interview. And finally, probably somewhat expected, the last subfield I was covering was reinforcement learning, something DeepMind is very famous for. I open sourced the original DQN paper, which was a model that was the first model to solve most of the Atari games on a superhuman level. I covered various interesting papers, seminal papers such as the AlphaGo paper, AlphaGo Zero, Mu Zero, DQN, all of those goodies. And once I wrapped up RL, I felt I have enough breath to start covering the most advanced papers as they are coming out, and that's what I've been doing ever since, covering novel research papers on my YouTube channel. Now, all of this was great. I gained a huge breath and depth in various ML topics, but I still knew, like considering my background, that I'll need a referral if I was to land an interview at a company such as DeepMind. Now I'm going to tell you something more about how I managed to get a referral for DeepMind, and I'm also going to give you a couple of tips for how you can yourself land an interview at a top-tier company such as DeepMind. So somewhere around mid-2020, I approached this guy from DeepMind called Petar Valdichkovich. So I just sent him a message on LinkedIn, and we started chatting, which went way easier than I would have thought, because as it turned out, he was already following my content to my surprise, and I obviously knew who he was because he's one of the leading experts in the GraphML field. And so that's how we kicked it off. We started discussing various papers. I told him that later that year, I'll start exploring the GraphML field, to which he was very receptive and told me to ping him if I need any help whatsoever. And so obviously I did. We were discussing various Graph neural networks, and I've even implemented a paper where he was the first author of the famous Graph Attention Network paper. Later, in April 2021, we went on a call, and we were just chatting again, and then I told him I want to start applying for DeepMind. Two minutes later, without me even being aware of it, he already made a referral, and a couple minutes later, the interviewer came back and told me I have an interview scheduled for Monday, and that was Friday. So that's how my story rolled out. It doesn't have to be the same for each one of you, obviously. And so here I'm going to give you two tips on how you can get a referral for a top tier company such as DeepMind. So the first option is to form a genuine connection with a person from your target company. And I said genuine deliberately because the worst thing you can do is just spam a random person from that company asking for a favor, asking for a referral. Instead, ask what you can do for that person. How can you help out? And this is going to vary by a lot, so I can't give you a specific advice, but see what that person needs, and you can help out around some project or whatnot. The second option you've got is to find a project, an open source project from that target company of yours, and contribute. Invest a couple of months of your time, push a couple of pull requests, add some value to that project, add some value to that company, and somebody, I guarantee you, some of the contributors will notice you and will be glad to refer you back to the company. Back to my story. Once I managed to land an interview at DeepMind, I knew I had to prepare really hard because, as you may know, there is this discrepancy between the interviewing pipeline and between your daily work, and so I knew I had to refresh some of my algorithms and data structures knowledge, etc. And because of that, next up, I'm going to briefly tell you how my final preparations for DeepMind look like. So I personally did not have a lot of time because I already have landed an interview before I even started preparing for the interviewing process. So what I've done is I went through this algorithmic textbook with which I was already familiar with back from 2017 when I was applying for big tech companies. I also went through some chapters of cracking the coding interview book, and finally I went through this mathematics for machine learning book. Aside from the books, obviously, I was using various other resources like YouTube videos, etc. And the whole point for me was to cover four broad areas. So that would be machine learning, statistics, computer science, and mathematics. So aside from those technical topics, I knew I had to prepare for the behavioral questions as well, and so that's where the initial part of the cracking the coding interview book came in handy again. Finally, because this was DeepMind, I did some research on the artificial general intelligence from both the philosophical as well from the engineering side, and for every single interviewer, I've done my research and I've read many of the papers that they've published. So all of these preparations were interspersed between various interviews I had, which were usually like maybe 10 days apart from each other. Finally, I've passed all of the first five interviews, and on the last day, I had two more interviews scheduled, and again, I failed. And now it's really hard to express how devastated I felt, and if there is a single piece of advice that's that never put all of your eggs in a single basket, and that's what I did. I was laser focused on getting this job at DeepMind. In general, you should apply for multiple companies, because first of all, the hiring pipelines are almost always noisy, and so sometimes, even though you're a good candidate, you may end up getting a rejection. Luckily for me, because I was deemed as a technically strong candidate, I was rerouted to another group inside of DeepMind, and four interviews later, I got a yes, I got an offer from DeepMind, I became a research engineer, and that's pretty much my story. So I tried to be maximally transparent in this video, but I had to ditch some details, because otherwise, this video would be too long. But if you have any additional questions, feel free to write them down in the comment section, and I'll make sure to answer every single one of your comments. Hopefully you found this story useful, or at least inspiring, if nothing else, and I encourage you to subscribe to this channel, share this video out if you liked it, and also join the Discord community. Until next time, bye bye.
[{"start": 0.0, "end": 5.5200000000000005, "text": " Hey, what's up you guys? In this video I thought sharing my full story on how I managed to land"}, {"start": 5.5200000000000005, "end": 12.96, "text": " a job at DeepMind as a research engineer, as this was one of the most requested videos by you guys,"}, {"start": 12.96, "end": 17.68, "text": " so I thought making it happen. So I guess what makes my story kind of special is the fact that"}, {"start": 17.68, "end": 22.400000000000002, "text": " I do not have a machine learning degree, and when I say that I mean I don't have a PhD,"}, {"start": 22.400000000000002, "end": 27.92, "text": " nor master's, nor bachelor's degree in machine learning. Also, my first exposure to this whole"}, {"start": 27.92, "end": 34.72, "text": " world of programming was fairly late when I was 19 years old, and similarly my first exposure to"}, {"start": 35.28, "end": 41.040000000000006, "text": " machine learning field was back in the summer of 2018, which is fairly recent as well. Also,"}, {"start": 41.040000000000006, "end": 45.92, "text": " I come from a relatively poor country and the higher education system here in Serbia is not that"}, {"start": 45.92, "end": 50.72, "text": " great, especially compared to some of the best universities out there. So in this video I thought"}, {"start": 51.36, "end": 56.64, "text": " telling you something more about my background story, telling you how I managed to craft my own"}, {"start": 56.64, "end": 62.72, "text": " machine learning curriculum, I'm going to tell you as well how I managed to get referred to DeepMind,"}, {"start": 62.72, "end": 67.12, "text": " and finally I'm going to tell you a little bit more how my final preparations look like. So"}, {"start": 67.12, "end": 71.6, "text": " having said that, hopefully you find this video useful and enjoy."}, {"start": 75.52, "end": 79.92, "text": " Back in the high school I wasn't even aware that working for a big tech company is a thing."}, {"start": 79.92, "end": 85.04, "text": " Like I had all of this software on my computer, like Windows and Google search, but I wasn't"}, {"start": 85.04, "end": 90.88000000000001, "text": " quite aware that you can work for a company out there to build products like these. Like that was"}, {"start": 90.88000000000001, "end": 96.80000000000001, "text": " the level of my ignorance back then. So no, I'm not that guy who started programming when he was six,"}, {"start": 96.80000000000001, "end": 101.52000000000001, "text": " nor did I dream about building an artificial general intelligence when I was seven years old."}, {"start": 101.52000000000001, "end": 109.36000000000001, "text": " No, I was probably the mutt back then. Then in 2013 I was supposed to pick the field of my study,"}, {"start": 109.36000000000001, "end": 114.80000000000001, "text": " and back then I didn't quite know what I want to do yet, and so I heard about this electrical"}, {"start": 114.8, "end": 120.96, "text": " engineering faculty where only smart people can get in, and it's the hardest faculty in my country,"}, {"start": 120.96, "end": 126.8, "text": " and so I was very attracted by the challenge, and I decided to enroll and study electrical engineering."}, {"start": 126.8, "end": 131.12, "text": " During the first couple of years of me studying there, aside from studying really hard,"}, {"start": 131.92, "end": 138.4, "text": " my extracurricular activities did not involve building fancy applications and cool technical"}, {"start": 138.4, "end": 144.96, "text": " projects. No, I was actually learning human languages, and I was working out focusing, like"}, {"start": 144.96, "end": 150.72, "text": " training calisthenics and stuff like that, and back then all of that seemed very irrelevant for"}, {"start": 150.72, "end": 157.12, "text": " my like future career, but like only later did I realize that all of the meta skills I acquired"}, {"start": 157.12, "end": 163.6, "text": " doing that were invaluable later during my career. So I learned how to discipline myself, I learned"}, {"start": 163.6, "end": 170.32, "text": " how to like build a program and execute on it, I also learned how to learn on my own, and all of"}, {"start": 170.32, "end": 177.35999999999999, "text": " these are very, very important. Then at the end of my studies in 2017, I decided I want to make a"}, {"start": 177.35999999999999, "end": 182.79999999999998, "text": " hard pivot into software engineering, and the reason was my studies were mostly focusing on"}, {"start": 182.79999999999998, "end": 187.84, "text": " digital electronics and analog electronics, and I did have some programming courses, but those"}, {"start": 187.84, "end": 193.68, "text": " constituted a minor like percentage of the courses I had, and so I started taking more and more programming"}, {"start": 193.68, "end": 201.36, "text": " courses, and around that same time in 2017, I managed to land an internship in a small general"}, {"start": 201.36, "end": 206.8, "text": " startup as an Android developer by this student organization, and so I decided I want to prepare"}, {"start": 206.8, "end": 212.64000000000001, "text": " myself, and I started learning Android, I started building apps, uploading them to Google Play Store,"}, {"start": 212.64, "end": 218.16, "text": " and again, this whole period of me experimenting and learning and searching for the resources"}, {"start": 218.16, "end": 223.51999999999998, "text": " myself and building my own curriculum proved to be very important later for my later journey."}, {"start": 223.51999999999998, "end": 230.0, "text": " Fast forward to summer of 2017, while I was doing my internship in Germany, I realized I was falling"}, {"start": 230.0, "end": 235.51999999999998, "text": " behind, and the reason was I finally decided I want to start applying for big tech companies,"}, {"start": 235.51999999999998, "end": 240.0, "text": " and I realized that the only thing that's actually important are algorithms and data structures,"}, {"start": 240.0, "end": 244.88, "text": " and so all of the knowledge I accumulated throughout the years, all of that engineering knowledge I"}, {"start": 244.88, "end": 250.0, "text": " accumulated was actually not that important. I remember I felt really bad because of that,"}, {"start": 250.0, "end": 256.48, "text": " because somebody who was like 19 years old and was doing like competitive programming for a year"}, {"start": 256.48, "end": 261.76, "text": " already had an advantage compared to me. That feeling sucked really bad, and so once I got back"}, {"start": 261.76, "end": 268.48, "text": " to Belgrade end of the summer 2017, I decided I want to start learning algorithms and data structures,"}, {"start": 268.48, "end": 272.88, "text": " and so I started building my own software engineering curriculum. I started taking"}, {"start": 272.88, "end": 278.24, "text": " algorithms and data structure courses, I started reading through the textbooks, I started doing"}, {"start": 278.24, "end": 283.28000000000003, "text": " competitive programming, going through the cracking the coding interview book and stuff like that."}, {"start": 283.28000000000003, "end": 289.04, "text": " In parallel, as soon as I started my preparations, I started applying for big tech companies, and"}, {"start": 289.04, "end": 295.84000000000003, "text": " soon, very soon, in December 2017, I managed to land my first ever interview with Facebook,"}, {"start": 295.84, "end": 302.88, "text": " and I failed miserably, but I did not give up, and so I just started pushing and learning and applying,"}, {"start": 302.88, "end": 310.56, "text": " and soon enough, I got my second interview with Microsoft, I failed, I got my interviews later on"}, {"start": 310.56, "end": 315.59999999999997, "text": " in 2018 with Nvidia, and I failed again, but the main point was I did not give up, that's it."}, {"start": 316.23999999999995, "end": 321.59999999999997, "text": " Around that same time in 2018, I was accepted into this machine learning summer camp organized"}, {"start": 321.6, "end": 327.12, "text": " by Microsoft employees, and so I realized this was a perfect opportunity for me to show that I'm"}, {"start": 327.12, "end": 332.72, "text": " passionate and knowledgeable, and maybe this was my entry card for Microsoft, and soon enough,"}, {"start": 332.72, "end": 337.76000000000005, "text": " after I attended this machine learning summer camp, while I was in Brazil doing yet another"}, {"start": 337.76000000000005, "end": 343.44, "text": " student internship, I finally got my offer from Microsoft, and I was so happy. The team I was"}, {"start": 343.44, "end": 349.44, "text": " supposed to work for was the HoloLens team, the very same team that organized the machine learning"}, {"start": 349.44, "end": 355.12, "text": " summer camp, and I'm not sure how many of you know about HoloLens device, but this is a science"}, {"start": 355.12, "end": 360.32, "text": " fiction-like device that you put in your head, and all of a sudden, you have holographic projections"}, {"start": 360.32, "end": 365.2, "text": " in the 3D space around you. So because I was working on this really cool project, the HoloLens"}, {"start": 365.2, "end": 369.52, "text": " project, and I was surrounded by computer vision, and where is computer vision? There is machine"}, {"start": 369.52, "end": 375.44, "text": " learning, I was quite motivated myself to start learning machine learning on my own, even though"}, {"start": 375.44, "end": 381.12, "text": " my official role at Microsoft back then was software engineer, and so I started doing Coursera"}, {"start": 381.12, "end": 388.64, "text": " courses, Andrew Yang classics, but in all honesty, during that period, ML was not the strongest"}, {"start": 388.64, "end": 394.0, "text": " focus point myself, so I was trying to build strong software engineering foundations, I was also"}, {"start": 394.0, "end": 398.88, "text": " reading a lot of literature that doesn't have anything to do with tech, like investing and"}, {"start": 398.88, "end": 407.04, "text": " finance, etc. And so throughout 2019, I was learning ML, but on a low intensity mode, and nonetheless,"}, {"start": 407.04, "end": 413.36, "text": " the internal management in Microsoft noticed my efforts, and so I got shifted internally from a"}, {"start": 413.36, "end": 418.48, "text": " software engineer role to a machine learning engineer role, and I was sent to this ICCV"}, {"start": 418.48, "end": 423.6, "text": " conference, a famous computer vision conference, and all of this gave me additional boost and"}, {"start": 423.6, "end": 428.48, "text": " motivation to start learning and understanding how machine learning works in all of the nitty-gritty"}, {"start": 428.48, "end": 434.64000000000004, "text": " details. So all of this made me develop my own machine learning curriculum, and next up, I'm"}, {"start": 434.64000000000004, "end": 443.84000000000003, "text": " going to tell you more about it. I knew I wanted to research various subfields of machine learning,"}, {"start": 443.84000000000003, "end": 451.12, "text": " such as various computational R-Telegrams, such as neural style transfer, as well as GANs, or"}, {"start": 451.12, "end": 457.12, "text": " generative adversarial networks, transformers, which are all around the place, and reinforcement"}, {"start": 457.12, "end": 463.52, "text": " learning. And so I decided I want to dedicate like a two to three month periods of time to each one"}, {"start": 463.52, "end": 469.52, "text": " of those subfields of machine learning. How I call those in my head are macro cycles, and inside of"}, {"start": 469.52, "end": 475.12, "text": " each of those two to three month long macro cycles, interspersed are something that I call the micro"}, {"start": 475.12, "end": 481.6, "text": " cycles, and those micro cycles, again, can be of two types, input or output. Now those input cycles"}, {"start": 481.6, "end": 488.0, "text": " are all about me ingesting the information. So the initial micro cycles would be all about just"}, {"start": 488.0, "end": 493.92, "text": " understanding the high level structure of the subfield I'm trying to tackle. So I'd start with"}, {"start": 493.92, "end": 500.24, "text": " some high level resources, such as some blogs or some YouTube videos, stuff like that. And then in"}, {"start": 500.24, "end": 507.92, "text": " subsequent micros, I dig a lot deeper, and I start reading research papers, some chapters of some"}, {"start": 507.92, "end": 513.04, "text": " hard books, stuff like that. The output micro, on the other hand, is all about me outputting"}, {"start": 513.04, "end": 518.16, "text": " information. So me teaching you guys the stuff I've learned, and by doing that, I help you out,"}, {"start": 518.16, "end": 524.4, "text": " and also I learn stuff much better myself. So that's a win-win situation. Now some of the public"}, {"start": 524.4, "end": 529.6800000000001, "text": " artifacts that I create during those output micro cycles are things such as YouTube videos,"}, {"start": 529.6800000000001, "end": 534.24, "text": " things such as open sourcing, like a GitHub implementation of some paper or something,"}, {"start": 534.24, "end": 539.92, "text": " and usually those would come in the middle of the macro cycle. And finally, I decided I want to write"}, {"start": 539.92, "end": 545.92, "text": " a blog summarizing everything I've learned investigating researching that subfield of machine"}, {"start": 545.92, "end": 551.76, "text": " learning, and I'd usually publish those on the medium at the end of the macro cycle. Now all of"}, {"start": 551.76, "end": 557.6800000000001, "text": " this might seem like a perfect plan, but the reality is over the first couple of iterations,"}, {"start": 557.6800000000001, "end": 562.72, "text": " so that means over the first couple of subfields of machine learning, I was making lots of mistakes,"}, {"start": 562.72, "end": 568.5600000000001, "text": " I was not, I was deviating from the plan, but like after a couple of iterations, after a couple of"}, {"start": 568.5600000000001, "end": 574.8000000000001, "text": " months, like I think five or six months, I got much better at this, and yeah. And now let me tell you"}, {"start": 574.8000000000001, "end": 579.44, "text": " a bit more about the topics I was covering over that year and a half of my machine learning"}, {"start": 579.44, "end": 585.52, "text": " curriculum. First up is neural style transfer, and the reason is I'm A, very passionate about"}, {"start": 585.52, "end": 591.84, "text": " computer vision and about images and just visual stuff in general, and B, I like art in general."}, {"start": 591.84, "end": 596.32, "text": " So ever since I was a kid, I loved drawing, painting, I was even doing graffitis back in my"}, {"start": 596.32, "end": 601.76, "text": " high school days. So this field like such a natural, like a topic to start with. Needless to say,"}, {"start": 601.76, "end": 606.88, "text": " I learned a lot about stuff like PyTorch, so the deep learning framework, I learned a lot about"}, {"start": 606.88, "end": 613.0400000000001, "text": " convolutional neural networks, about optimization algorithms, stuff like that. This was also the"}, {"start": 613.0400000000001, "end": 618.88, "text": " first time I read so many research papers, and aside from that, I open sourced three projects,"}, {"start": 618.88, "end": 624.24, "text": " the first one implementing the original neural style transfer paper, the second one is the fast"}, {"start": 624.24, "end": 629.84, "text": " version of the NST algorithm, and the third one was NST applied to videos. During that period,"}, {"start": 629.84, "end": 636.24, "text": " I also created my first ever YouTube video and YouTube playlist on NST, obviously, but I"}, {"start": 636.24, "end": 642.08, "text": " unfortunately did not write a blog sharing the learnings throughout that period, which was"}, {"start": 642.08, "end": 648.0, "text": " actually somewhere around four and a half months long, which is, as you can see, I was deviating"}, {"start": 648.0, "end": 652.4, "text": " from my initial plan of doing it two to three month chunks of time. Things were not perfect,"}, {"start": 652.4, "end": 658.48, "text": " but I was getting better, and that's what matters ultimately. Next up, I decided I wanna explore"}, {"start": 658.48, "end": 664.24, "text": " Deep Dream, because ever since I've seen the first outputs of that algorithm, I was fascinated by it,"}, {"start": 664.24, "end": 669.2, "text": " and I knew I wanted to understand the nitty-gritty details of that algorithm. And so again,"}, {"start": 669.2, "end": 675.36, "text": " I started exploring, reading blogs, going through subreddits, exploring projects, and implementing"}, {"start": 675.36, "end": 681.92, "text": " my own project as well, and unfortunately, again, I just created a single video, and I did not write"}, {"start": 681.92, "end": 688.32, "text": " a blog as well, but I was getting better slowly. In contrast to neural cell transfer, I was"}, {"start": 688.32, "end": 693.44, "text": " exploring Deep Dream for only about a month and a half, again, some deviations from the plan,"}, {"start": 693.44, "end": 699.36, "text": " but nothing too alarming. Next up, I switched my attention to generative adversarial networks,"}, {"start": 699.36, "end": 706.24, "text": " because they were, A, very popular back then, so even more than they are now, and B, the GAN"}, {"start": 706.24, "end": 712.08, "text": " component was used all around the place just to make some baseline have a more realistic output."}, {"start": 712.08, "end": 717.28, "text": " And so again, I was reading a bunch of research papers, I implemented three projects as well here,"}, {"start": 717.28, "end": 723.2, "text": " so the original GAN paper, the conditional version of the GAN paper, and finally the DC GAN version,"}, {"start": 723.2, "end": 730.24, "text": " i.e. the deep convolutional GAN algorithm, which is one of the most seminal GAN papers, because it"}, {"start": 730.24, "end": 737.0400000000001, "text": " caused a Cambrian explosion of various novel papers down the line. Aside from GANs, Transformer was"}, {"start": 737.0400000000001, "end": 742.8000000000001, "text": " the name that was thrown all around the place, and I knew I needed to understand and nail the concept"}, {"start": 742.8000000000001, "end": 748.96, "text": " if I was to understand all of the advanced papers that were coming out every single day. And this"}, {"start": 748.96, "end": 754.88, "text": " time, I think I executed everything pretty much perfectly. I implemented and open-sourced the"}, {"start": 754.88, "end": 760.8000000000001, "text": " original Transformer paper, so that was a machine translation system that translated between English"}, {"start": 760.8000000000001, "end": 766.32, "text": " and German and vice versa, and since I knew both languages, it was quite kind of easier for me to"}, {"start": 766.32, "end": 772.24, "text": " debug the code and understand whether the outputs make sense or not. Also, this was the first time"}, {"start": 772.24, "end": 778.64, "text": " I started covering research papers on this channel, and finally the macro was ended by me writing a"}, {"start": 778.64, "end": 785.12, "text": " blog summarizing everything I've learned throughout the last three months. After Transformers came the"}, {"start": 785.12, "end": 791.04, "text": " GraphML subfield, and this is very very important because I was thinking about covering this subfield"}, {"start": 791.04, "end": 796.56, "text": " for many many months, and also this is the place where the DeepMind channel opened up for me, but"}, {"start": 796.56, "end": 802.08, "text": " I'm going to tell you about it a bit later in this video. I'll keep this short. Again, I implemented"}, {"start": 802.08, "end": 809.44, "text": " the original GraphAttention network paper, I created a very popular YouTube series of tutorials on"}, {"start": 809.44, "end": 815.44, "text": " graph neural networks, and all in all, I got an awesome response from the whole community of"}, {"start": 815.44, "end": 823.2800000000001, "text": " researchers and engineers alike, and as I said, all of this helped me later open up that DeepMind"}, {"start": 823.2800000000001, "end": 829.6, "text": " communication channel and land a first interview. And finally, probably somewhat expected, the last"}, {"start": 829.6, "end": 834.72, "text": " subfield I was covering was reinforcement learning, something DeepMind is very famous for."}, {"start": 834.72, "end": 841.0400000000001, "text": " I open sourced the original DQN paper, which was a model that was the first model to solve"}, {"start": 842.0, "end": 846.96, "text": " most of the Atari games on a superhuman level. I covered various interesting papers,"}, {"start": 847.6, "end": 856.72, "text": " seminal papers such as the AlphaGo paper, AlphaGo Zero, Mu Zero, DQN, all of those goodies. And once"}, {"start": 856.72, "end": 864.0, "text": " I wrapped up RL, I felt I have enough breath to start covering the most advanced papers as they"}, {"start": 864.0, "end": 869.2, "text": " are coming out, and that's what I've been doing ever since, covering novel research papers on my"}, {"start": 869.2, "end": 876.5600000000001, "text": " YouTube channel. Now, all of this was great. I gained a huge breath and depth in various ML topics,"}, {"start": 876.5600000000001, "end": 882.72, "text": " but I still knew, like considering my background, that I'll need a referral if I was to land an"}, {"start": 882.72, "end": 888.08, "text": " interview at a company such as DeepMind. Now I'm going to tell you something more about how I"}, {"start": 888.08, "end": 893.0400000000001, "text": " managed to get a referral for DeepMind, and I'm also going to give you a couple of tips"}, {"start": 893.0400000000001, "end": 897.52, "text": " for how you can yourself land an interview at a top-tier company such as DeepMind."}, {"start": 903.52, "end": 908.72, "text": " So somewhere around mid-2020, I approached this guy from DeepMind called Petar Valdichkovich."}, {"start": 908.72, "end": 914.1600000000001, "text": " So I just sent him a message on LinkedIn, and we started chatting, which went way easier than I"}, {"start": 914.1600000000001, "end": 919.6, "text": " would have thought, because as it turned out, he was already following my content to my surprise,"}, {"start": 919.6, "end": 924.64, "text": " and I obviously knew who he was because he's one of the leading experts in the GraphML field."}, {"start": 924.64, "end": 929.36, "text": " And so that's how we kicked it off. We started discussing various papers. I told him that later"}, {"start": 929.36, "end": 935.28, "text": " that year, I'll start exploring the GraphML field, to which he was very receptive and told me to"}, {"start": 935.28, "end": 940.24, "text": " ping him if I need any help whatsoever. And so obviously I did. We were discussing various"}, {"start": 940.24, "end": 944.56, "text": " Graph neural networks, and I've even implemented a paper where he was the first author of the"}, {"start": 944.56, "end": 951.12, "text": " famous Graph Attention Network paper. Later, in April 2021, we went on a call, and we were just"}, {"start": 951.12, "end": 956.0799999999999, "text": " chatting again, and then I told him I want to start applying for DeepMind. Two minutes later,"}, {"start": 956.0799999999999, "end": 961.6, "text": " without me even being aware of it, he already made a referral, and a couple minutes later,"}, {"start": 961.6, "end": 966.16, "text": " the interviewer came back and told me I have an interview scheduled for Monday, and that was"}, {"start": 966.16, "end": 971.2, "text": " Friday. So that's how my story rolled out. It doesn't have to be the same for each one of you,"}, {"start": 971.2, "end": 976.8000000000001, "text": " obviously. And so here I'm going to give you two tips on how you can get a referral for a top tier"}, {"start": 976.8000000000001, "end": 983.6800000000001, "text": " company such as DeepMind. So the first option is to form a genuine connection with a person from"}, {"start": 983.6800000000001, "end": 989.76, "text": " your target company. And I said genuine deliberately because the worst thing you can do is just spam a"}, {"start": 989.76, "end": 995.52, "text": " random person from that company asking for a favor, asking for a referral. Instead, ask what you can"}, {"start": 995.52, "end": 1000.64, "text": " do for that person. How can you help out? And this is going to vary by a lot, so I can't give you a"}, {"start": 1000.64, "end": 1006.24, "text": " specific advice, but see what that person needs, and you can help out around some project or whatnot."}, {"start": 1006.24, "end": 1012.16, "text": " The second option you've got is to find a project, an open source project from that target company"}, {"start": 1012.16, "end": 1018.88, "text": " of yours, and contribute. Invest a couple of months of your time, push a couple of pull requests,"}, {"start": 1018.88, "end": 1024.8, "text": " add some value to that project, add some value to that company, and somebody, I guarantee you, some of"}, {"start": 1024.8, "end": 1031.6, "text": " the contributors will notice you and will be glad to refer you back to the company. Back to my story."}, {"start": 1031.6, "end": 1037.68, "text": " Once I managed to land an interview at DeepMind, I knew I had to prepare really hard because, as"}, {"start": 1037.68, "end": 1042.96, "text": " you may know, there is this discrepancy between the interviewing pipeline and between your daily"}, {"start": 1042.96, "end": 1049.04, "text": " work, and so I knew I had to refresh some of my algorithms and data structures knowledge, etc. And"}, {"start": 1049.04, "end": 1054.4, "text": " because of that, next up, I'm going to briefly tell you how my final preparations for DeepMind look like."}, {"start": 1058.56, "end": 1064.32, "text": " So I personally did not have a lot of time because I already have landed an interview before I even"}, {"start": 1064.32, "end": 1070.4, "text": " started preparing for the interviewing process. So what I've done is I went through this algorithmic"}, {"start": 1070.4, "end": 1075.6000000000001, "text": " textbook with which I was already familiar with back from 2017 when I was applying for big tech"}, {"start": 1075.6000000000001, "end": 1080.72, "text": " companies. I also went through some chapters of cracking the coding interview book, and finally"}, {"start": 1080.72, "end": 1085.1200000000001, "text": " I went through this mathematics for machine learning book. Aside from the books, obviously,"}, {"start": 1085.1200000000001, "end": 1090.48, "text": " I was using various other resources like YouTube videos, etc. And the whole point for me was to"}, {"start": 1090.48, "end": 1096.3200000000002, "text": " cover four broad areas. So that would be machine learning, statistics, computer science, and"}, {"start": 1096.32, "end": 1101.4399999999998, "text": " mathematics. So aside from those technical topics, I knew I had to prepare for the behavioral questions"}, {"start": 1101.4399999999998, "end": 1106.1599999999999, "text": " as well, and so that's where the initial part of the cracking the coding interview book came in"}, {"start": 1106.1599999999999, "end": 1111.4399999999998, "text": " handy again. Finally, because this was DeepMind, I did some research on the artificial general"}, {"start": 1111.4399999999998, "end": 1116.8799999999999, "text": " intelligence from both the philosophical as well from the engineering side, and for every single"}, {"start": 1116.8799999999999, "end": 1122.8799999999999, "text": " interviewer, I've done my research and I've read many of the papers that they've published. So all"}, {"start": 1122.88, "end": 1128.4, "text": " of these preparations were interspersed between various interviews I had, which were usually like"}, {"start": 1128.4, "end": 1133.8400000000001, "text": " maybe 10 days apart from each other. Finally, I've passed all of the first five interviews,"}, {"start": 1133.8400000000001, "end": 1140.0, "text": " and on the last day, I had two more interviews scheduled, and again, I failed. And now it's"}, {"start": 1140.0, "end": 1146.5600000000002, "text": " really hard to express how devastated I felt, and if there is a single piece of advice that's that"}, {"start": 1146.5600000000002, "end": 1151.2, "text": " never put all of your eggs in a single basket, and that's what I did. I was laser focused on"}, {"start": 1151.2, "end": 1157.3600000000001, "text": " getting this job at DeepMind. In general, you should apply for multiple companies, because"}, {"start": 1157.92, "end": 1163.6000000000001, "text": " first of all, the hiring pipelines are almost always noisy, and so sometimes, even though you're"}, {"start": 1163.6000000000001, "end": 1169.6000000000001, "text": " a good candidate, you may end up getting a rejection. Luckily for me, because I was deemed as"}, {"start": 1169.6000000000001, "end": 1175.3600000000001, "text": " a technically strong candidate, I was rerouted to another group inside of DeepMind, and four"}, {"start": 1175.3600000000001, "end": 1181.04, "text": " interviews later, I got a yes, I got an offer from DeepMind, I became a research engineer,"}, {"start": 1181.04, "end": 1186.32, "text": " and that's pretty much my story. So I tried to be maximally transparent in this video, but I had to"}, {"start": 1186.32, "end": 1191.2, "text": " ditch some details, because otherwise, this video would be too long. But if you have any additional"}, {"start": 1191.2, "end": 1195.68, "text": " questions, feel free to write them down in the comment section, and I'll make sure to answer"}, {"start": 1195.68, "end": 1201.36, "text": " every single one of your comments. Hopefully you found this story useful, or at least inspiring,"}, {"start": 1201.36, "end": 1206.72, "text": " if nothing else, and I encourage you to subscribe to this channel, share this video out if you liked"}, {"start": 1206.72, "end": 1223.52, "text": " it, and also join the Discord community. Until next time, bye bye."}]