Almost daily, I get asked on LinkedIn what skills somebody needs to get a job in ML.
It’s not an easy question to answer because almost everybody hiring in ML will require different skills. So I wanted to approach it a little differently and explore what skills one needs to build a platform for a career in ML.
Skills to be an ML Developer
But then I had to slice that a little further – there are many types of ML careers, from data scientists to product managers and beyond. So I narrowed my focus on my area of expertise: Software Developers.
So, if you want to be a software developer in the realm of ML, what do you need to be able to do in addition to the traditional skills you need as a dev.
It started with doing a job search myself. I explored lots of different job sites and different job listings. What I found was that the vast majority of people who were hiring software developers in ML roles needed at least 1 of the following three broad skillsets:
- Computer Vision: Including Deep Neural Networks, Convolutional Neural Networks, image processing, mobile skills, and more
- Natural Language Processing: Including GRUs, LSTMs, Convolutional Neural Networks, string management, tokenization, etc.
- Sequence Modelling: Including Convolutional Neural Networks, time-series management, basic statistics.
Beyond these specific needs, of course, are the general ML skills required as a foundation: data management, feature engineering, model architecture setup, choosing appropriate loss functions and optimizers, overfitting/underfitting, python, NumPy, TensorFlow, etc.
You will also need a foundation of software engineering and coding, at least in Python, but preferably in other domain-specific languages. From experience, I have also found that you will need at least entry-level ability to build distributed applications, understanding web client and server architecture.
With all of that in mind, Google launched the TensorFlow Developer Certificate, designed around testing the skills I mentioned above. Holders of this certificate pass a 5-hour exam, where they go from a skeleton of code to a fully working model in each of the above three scenarios, as well as a few more foundational ones. I helped write the Candidate Handbook which I’d strongly recommend reading.
This certificate is a really powerful way of demonstrating that you have all the above skills. It’s a great way to show employers that you have the foundational knowledge, but it’s also a great way of building a career beyond your first job.
Being a certificate holder also grants entry to the TensorFlow Certificate Network where prospective employers can find you.
Preparing for the exam
We also worked with deeplearning.ai and Coursera to produce specializations that teach the material you need to know to take this exam. You can find the beginner course here if you want to experiment before going deeper! My book AI and Machine Learning for Coders also covers this syllabus and helps prepare for the exam!
Widening access
I’m also passionate about widening access to the traditionally underserved, so people of diverse backgrounds, experiences, geographies, and perspectives can transform machine learning for the better. An equitable approach to AI and ML is essential for us all to succeed. We’ve already seen great dividends with projects worldwide and a massive global developer community helping push the platform forward. With that in mind, there is a stipend available, and successful applications will get no-cost access to the TensorFlow Professional Certificate courses at Coursera, as well as a discount on the exam fee.
If you’re exploring expanding your software developer toolkit with Machine Learning, I strongly recommend checking it out at https://www.tensorflow.org/certificate