Breaking into AI: From DevOps Expert to MLE Beginner
Daniel Barbosa
Machine Learning Engineer @ Eko Health
How did you get started in AI?
I’ve been involved in technology for over 20 years, first as a systems administrator and then as a DevOps Engineer. I decided to take the Deep Learning Specialization because I kept hearing about all the incredible things that were being done with AI, and I had no idea how any of it actually worked. I’m a curious person by nature, and I enjoy demystifying things that seem magical from the outside. I was stagnating professionally at my prior job, so I decided to quit and devote some time to studying and understanding deep learning.
That’s a big undertaking. Where did you start?
The Deep Learning Specialization was the first class I took, along with a friend, which was very helpful for staying motivated as I worked through a lot of new and complex subjects. I skipped Andrew’s Machine Learning course and jumped right into deep learning because that’s what I thought was most interesting. However, when I started the course, I realized I needed to build up my foundational knowledge at the same time. One of the first things Andrew said was, “So we know from linear regression…” and I thought to myself, “What’s linear regression?” I ended up supplementing the course with lots of Youtube videos and other materials.
After finishing the Deep Learning Specialization, I went on to do the Deep Reinforcement Learning class through Udacity and then the fast.ai courses. All three were quite different and complemented each other well. The Deep Learning Specialization laid a solid foundation of both theoretical and practical knowledge around CNNs and RNNs, which is what most of the commercial successes in deep learning are based on. The Deep Reinforcement Learning class focused solely on reinforcement learning, which is fascinating but still very experimental, and there aren’t a lot of jobs in the field. The fast.ai courses were extremely hands-on and practical with a focus on getting results, then slowly understanding the theory.
How long did take to complete these courses?
I ended up taking a year to self-study full-time. I didn’t plan for it to be a year, but it was so refreshing to be learning new things every day that I woke up every morning excited to get started. Also, there was just so much to learn, so I constantly felt that I had more to do. After a year though, I began feeling that I would learn more collaborating on bigger projects with other people than I would sitting at home training models in my pajamas.
How did you transition from your studies into a job?
Given that there was so much demand for machine learning skills, I figured it would be fairly easy to land a job in the field. The reality was quite different. I applied to dozens of jobs but got very few replies. When I did, I would do well during the phone screen but fail miserably during the coding exercises.
From what I’ve seen, most people come to ML from either software development or data science. DevOps is a generalist role, so while I had broad experience, I had no deep experience in either of these domains.
After a couple months of struggling to get interviews, I decided to leverage my prior skills as much as possible, so I started looking for roles where I could apply DevOps to ML. When I interviewed with my current company, Eko Health, they were very receptive to my idea of starting out as DevOps and working a little on the ML side.
I spent my first two months at Eko doing traditional DevOps work. After that, I spent a couple more months applying DevOps to ML, doing things like building the data warehouse, streamlining the ML workflow, improving inference performance, and organizing collaboration among the ML team. Gradually, I let the team know my interest in working on ML-related projects and built up my trust with them. Just last week, I started my first ML research project.
Want to build your own career in deep learning?
Get started by taking the Deep Learning Specialization!
What are you currently working on?
Our devices record heart sounds and ECG signals from the heart. We then use machine learning models to analyze these signals for various types of cardiovascular disease. I’m working with the data science team to improve the entire ML pipeline, from collecting annotated data to production inference. Now I’m also starting to do data science research to expand our capabilities and develop new models that can detect additional types of disease.
What was the hardest part about learning ML? And how did you overcome that obstacle?
There’s a lot of math and statistics involved, much of which I didn’t know. I often found myself running into terms or concepts that I didn’t understand, which required me to pause and spend a few hours understanding new things. It made me move more slowly in the beginning, but I think it paid off enormously in the long run.
What advice would you give to someone who is just starting out?
Tenacity is the best skill you can have. You need to stick through a lot of failure before getting that one success. This is true for all aspects of the job, whether you’re programming, training models, or getting that first job. If you see failure as a challenge to overcome, then eventually you’ll get there.
Getting a job in machine learning is not easy. Leverage your existing skill set and network of contacts. Starting out as a contractor is a great way to circumvent the incredibly drawn-out hiring process that is today’s reality. If you can quickly show value, you’ll be more likely to receive a full-time opportunity.
How do you keep up on the latest AI news and breakthroughs?
I follow prominent researchers, like Ian Goodfellow and Yann LeCun, on Twitter. I also enjoy Lex Fridman’s Artificial Intelligence podcast.
Anything else you’d like to share?
Working in a startup as a machine learning engineer is very different than doing Kaggle competitions, where you’re given a nice clean dataset and spend all your time training models. There’s a lot of other machinery and infrastructure needed to make a model work. It’s not that different from most software development these days, where most of the work is plumbing. So it’s just as important to develop skills other than training models. Being a good plumber can take you far.
Daniel is a Machine Learning Engineer at Eko Health. You can find him on Twitter, Linkedin and Github.