Daniel quit his job as a web developer and embarked on a journey of courses, Kaggle competitions, and research papers to break into AI. While he was still studying, an AI startup reached out to him, and now he’s the first MLE on a team building an NLP-powered chatbot. Read about Daniel’s advice for getting started and how he structured his own learning plan.
Introduce yourself: What’s your background? Why did you decide to take the Deep Learning Specialization?
I was a web developer for a bit over eight years, working on different projects throughout university and then full-time. While I was advancing, I wanted to do something more challenging. I was at a point in my life where I could either start learning something new or continue on like before. I decided to quit my day job and invest in my education, though I didn’t know exactly what I would study. Initially I wanted to transition to more conventional software engineering because I had a background in algorithm design.
After a month of researching what I should specialize in, I found out about the big advancements happening in artificial intelligence. Searching for more information, I stumbled upon the Deep Learning Specialization. I wasn’t sure how far I’d go, but after taking the first course in the Specialization, I was completely hooked. For the next 7 months, I ate courses for breakfast, lunch and dinner.
That’s a big decision! Did you take any other courses?
I finished the Deep Learning Specialization but felt like I had just scraped the surface. I got an internship as a Machine Learning Engineer for a couple months, but decided to go back to learning so I could work on bigger projects. I decided to try the Mathematics for Machine Learning Specialization next. I’d understood the logic behind the foundational ML concepts, but I didn’t really understand much of the math. This Specialization was a lot more challenging, but it was worth it. I started reading research papers and actually understanding them! I also took the Stanford Machine Learning course by Andrew Ng and the Big Data Specialization.
Besides courses, what else did you do as part of your learning plan?
I participated in a few Kaggle competitions to gain experience working on big and state-of-the-art problems. Even though I didn’t get a good rank, I learned so much by implementing all the knowledge learned in the courses and seeing all the concepts come together. During the first competition, I stopped and realized “Hey, I actually know what to do. I don’t have to search for it on Stack Overflow. Sure, I need to research and experiment, but I actually learned this already and I can do it.” I would advise any beginner to try a few competitions like this. You learn so much about how to put in practice what you’ve learned and how to go through the many and complex steps of an ML project. The best part is that you’re not alone, you’re part of an entire community doing the challenge alongside you and sharing their findings and ideas.
While I was doing these competitions, I made a goal to read at least one research paper per day. I found a pretty good deep learning papers roadmap that went chronologically through the main papers from the main ML categories. Here’s the link. The list was very good when I started a year ago, but things evolve rapidly in this field, so I would suggest supplementing this list with main papers from the missing years (2018-2019).
How did you transition from studying to your current ML job?
While I was still in the middle of learning, I was approached by a startup that wanted to build an NLP-powered chatbot that interviews people. At the time, I was more interested in computer vision. But I began to like the NLP area while working on the chatbot. I decided to specialize more in NLP and am now working full-time at the startup as the first ML engineer. Soon we’ll start increasing the company size and constructing a team to tackle this challenging but extremely fun mission.
What was the hardest part about learning ML? And how did you overcome that obstacle?
Besides being called a crazy person, cutting my salary in half, and working without any guarantee of success? Even with all these concerns on my mind, it was keeping up the momentum, finding the motivation to do a little bit of a course every day that was hardest. Somehow I managed to do it, partially because I was genuinely enjoying what I was learning, and partly because the courses were extremely well organized. It was kind of like a college class, but more in-depth and with the freedom to learn at my own pace.
What advice would you give to a learner who is just starting out?
Learning ML may be a lengthy process. (There’s a reason why the courses are organized in weeks.) Make a roadmap with things you want to learn, courses you want to take, and projects you want to try. Then just start. The original roadmap will probably change a lot after a few months, but having an overarching plan in mind will help you.
Spend time to really understand the foundational concepts. Do a course again, or read about the same concept multiple times from different sources. It may be boring at times, but you’ll already be a better practitioner then some people with 3-4 years of experience in the field.
Search for advice from the best in the field. In the Deep Learning Specialization, the Heroes of Deep Learning interviews at the end of the week had some of the best people from the Deep Learning community. I found the advice given there extremely valuable.
How do you keep up on the latest AI news and breakthroughs?
I subscribe to a dozen AI newsletters (Towards Data Science, Import AI, Medium and Analytics Vidhya) and try to read any interesting story I get from them. I’m also still doing my one-paper-per-day challenge. It’s the best way to understand the state of the art, and it also helps me find new areas to research. I also plan to attend the next ACL annual meeting or another similar conference. I think it’s the best place to gather news and knowledge about the state of the art of the field.
What are you currently working on?
Besides the chatbot project, I’m using Knowledge Graphs and NLP to help bots interact with humans in a more context-aware and in-depth way.
What do you envision as the next step for you? Where would you like to end up?
I’m still figuring out my next step. Having seen an overview of the field I realize that I still have so much to learn, so while I’m working on my current projects I still plan to further my knowledge for the time being. Ideally, I would love to research and help move forward the state of the art in NLP. Eventually, I’d like to make my own contribution to the field and become, dare I say, an expert.
Anything else you’d like to share?
Machine learning is new and cool, and there’s a lot of companies looking for ML engineers. While learning ML is a great way to change your career, the end goal should be about improving your skills and finding out whether ML makes you excited and joyful. Focus on learning, and the job will follow naturally.
I’d like to thank all the instructors on Coursera for creating great educational content. Also, I’d especially like to thank Andrew Ng for his extremely insightful courses and all the work he’s done for the community.