Building an ML team
You are just one step away from establishing your first commercial ML project. Where should you start? You surely need a team to make the project happen, and it can’t be that difficult to find engineers, can it? Unfortunately, it can, and as it turns out, assembling a machine learning team is a big issue for many organizations.
It’s challenging to quickly find experienced ML engineers — not only is there a scarcity of seasoned specialists on the market, also companies may find it difficult to precisely define what skill set exactly matches their needs. In this post, I’ll shed some light on the necessary skills and hiring options for a machine learning team.
What skills should you look for in an ML team member?
You can divide these into 2 groups: hard (technical) skills and soft skills.
Let’s start with the hard skills.
If you’re expecting a list of the programming languages or frameworks that an ML engineer should know, I have to disappoint you. Of course, there are some technical skills that are necessary, like the knowledge of statistics, experience with Python, R, TensorFlow, PyTorch (the list could go on) but what matters most is the ability to match the technical knowledge to a given business problem that is to be solved.
Instead of trying to figure out what frameworks are good for your business, look for validation of hard skills in portfolio, scientific papers, open source projects, and especially client reviews. All these give you a pretty accurate picture of what the ML engineers can do. After learning more about the projects they’ve done so far, it’ll be easier for you to list questions you want to ask them, and assess whether they have the skills that your organization is missing or looking for.
In O’Reilly’s AI Adoption in the Enterprise 2020, it is indicated that the common skill gaps related to ML and AI adoption include ML modelling and data science, data engineering, but also skills more on the “soft side” — understanding and maintaining a set of business use cases (see figure below).
source: AI Adoption in the Enterprise 2020, Roger Magoulas, Steve Swoyer
What’s evident here is that ML projects do not require narrow specialty in specific technologies, but a wider spectrum of skills, including modelling, engineering, data science, and business skills.
Addressing the issue of building successful teams in a Forbes interview, Andrew Ng, the founder of DeepLearning.AI, co-founder of Coursera, and adjunct professor at the University of Stanford, shares advice as to how executives should go about hiring AI experts:
You need talent that has a deep knowledge of modeling. They need to understand the capabilities of computer learning. Then this centralized team can work cross-functionally with all business leaders to develop specific AI applications. Ultimately it will be the teamwork that drives the application.
It’s important to remember that much of ML work is not just about ML (as weird as it sounds) — that’s because machine learning is used as a means to achieve business goals. The model does not function on its own but is a part of your system and your organisation. The model is worthless when it’s not a part of a bigger picture and does not support your long term goals. It’s not enough to build it, it also needs to be implemented, maintained, properly served and used properly to drive results.
As it turns out, the most important skills in a machine learning team are not about coding in a given language, but about a problem-solving mindset, the understanding of business use cases, the ability to quickly grasp the details of a new domain and, what’s not uncommon, to translate the knowledge gathered from scientific papers into a business solution.
What about the soft skills?
These used to be largely underestimated in the past, when companies would focus on technical skills and neglect all else. However, it is now clear that engineering is just a part of the job and soft skills are a must. The most important thing, and one that you’ll be able to assess quite early on in the talks, is communication. Communication is an essential part of any development process: it needs to be clear, transparent, and regular.
Some other soft skills to look for include curiosity and a strong work ethic; you can read more about these in “These soft skills are a sign of successful software project delivery”.
Since ML engineers need to be quick learners with a problem-solving attitude and good communication skills, you can’t choose the right people to hire by just looking at their resumes. When there is a candidate who looks promising, arrange a call to learn more about the way they approach their everyday work and who they are. It’s important for your new team member to fill the skill gaps that you have, of course, but they also need to be a good fit for your company (and the other way round, too). Talking about both work and some casual topics will help you make sure that it’s the right person for the job.
Building a machine learning team
When building a team, you must have in mind that you’ll need a variety of skills — you don’t have to know them all right from the start and you might need advice on the right team composition.
You can either hire an in-house ML team, find a contractor, or extend your development team with ML skills. What is the best option? Well, that depends on your priorities and possibilities. Let’s briefly go through some of the pros and cons of both options to see what we’re dealing with.
The most obvious advantage of having an in-house team is simply that it’s your own. This means that your project is the team’s only priority, all intellectual property rights are naturally kept inside the company, and you have some flexibility in managing the team — you can reassign team members to different projects if needed to fit your current needs and priorities. Some organizations also appreciate being self-reliant and not needing to “deal with” an external team. If you haven’t previously worked with an external partner in software projects, you can see how we’re making sure that our fully remote team delivers in this article: How to run a successful remote software development project.
That being said, hiring an in-house ML team is definitely not all sunshine. There are certain challenges that you need to keep in mind.
First, it’s even difficult to put a label on who you’re looking for. You can find a variety of positions: data scientist, data engineer, ML engineer, AI developer. There are also jobs related to specific fields of machine learning, e.g. computer vision. While I’d like to explain how these names of positions differ and what each entails, the tricky part is that it’s mostly up to a given company on how they choose to name their experts. There is no standard in the software industry and the same responsibilities and skills may be found under all these names.The naming may be misleading but you can still find out much more about prospective team members looking at their skill sets, known technologies and completed projects, not positions.
What’s more, hiring engineers is time-consuming and, quite frankly, expensive. Depending on the source, you can find information that hiring a software engineer (which is also a wide group that may or may not include ML engineers) takes from 30 days to months. It’s easier to hire juniors, and it’s getting increasingly more difficult with mid and senior engineers. And since we’re already talking about seniors… It’s really hard to find them. Of course, you can target them on LinkedIn, but most of them are pretty busy with some awesome projects.
In the State of Polish AI 2021 report by Digital Poland, 48% of surveyed software companies state that it’s difficult for them to hire AI specialists. It can be even more difficult for an organization that is currently missing know-how and may face problems assessing the skills of candidates.
source: State of Polish AI, Digital Poland
If you don’t have any ML skills in your company and want to build an in-house team from scratch, you’re facing a big challenge. Even if you manage to find people who seem to be great candidates, how will you assess their competences? In many cases, engineers can’t share a lot of details on the commercial projects they’ve developed, not all engineers publish articles or scientific papers that serve as proof of their expertise, and talking about what they can do is just not enough. To add insult to injury, getting help from an HR specialist will probably be of no help, either. You need ML skills to hire ML skills.
That’s why it’s easier to make your first steps in ML with a contractor who will consult you, guide you through the process, and get you on board with ML development to help you make a good start into your ML project. Starting from that, you’ll get the basics you need to help you with future endeavors.
Hiring an external team, or outsourcing, is another option. This option’s biggest advantage lies in evidence of experience: portfolio, case studies, reviews. With most companies, you’ll be able to quickly verify whether they have the right skills and see what projects they’ve delivered. You can also have a look into blind CVs (you can request such when contacting the company) to learn more about given engineers, or sometimes even see each individual team member on the company’s website (like this one).
With an outsourced team, you’re also taking some responsibility off yourself: you can change the size and composition of your team (without having to hire or fire), start quicker (in comparison to building an in-house team from scratch), and leave some project management to your new team. I use “some” because all software projects require close collaboration and good communication, so there's a need for a partnership where all parties involved take ownership of the parts they’re working on but also stay a team.
There’s another benefit of hiring an external team: you get to work with experts you wouldn’t otherwise have access to. You wouldn’t because it’s almost impossible to hire them in-house, their rates are pretty high, and you might not need them full time. Working with a vendor, though, you often get access to specialists with extensive knowledge and a solid business or scientific background. Such a person can guide your organization through the process of ML development and help you make sure that it’s as efficient as can be.
There’s also an option that’s somewhere in between: adding machine learning skills to your existing development team. If you already have a software development team in-house, but they lack experience in machine learning, you can hire an external expert (or even a team) that will join your company to add new skills to the team.
This approach brings together the benefits of both hiring in-house and outsourcing. It takes away the pains of recruiting and onboarding new employees and doesn't require technical knowledge to vet the candidates. At the same time, new team members are a part of your company and follow the same rules as the rest of your team when it comes to company culture, project management, communication. If you need a bigger team, you can scale it up quite easily, if the project slows down, you can have fewer people involved in the project and nobody gets fired. An additional benefit of this approach is that the external expert exchanges knowledge with your in-house team, helping them expand their skills and gain valuable experience that will come in handy in future projects.
Learn more about the differences between team extension & dedicated development team and the advantages of both models in this article: Let’s hire developers! Team Extension Model vs Dedicated Development Team.
How to successfully build a machine learning team?
There is no universally best way to approach building your ML team but whatever option you choose, there are certain elements that you need to consider.
You have to know what you expect. If you’re planning to build a PoC, it will probably be the most efficient to hire an external team that will start faster and get you on board with machine learning. From there, you’ll see what path is best for your organization. If you’re expanding your existing team with new skills, both hiring in-house and team extension might work well for you, depending on your priorities and preferences.
Here’s a short list of the things to remember when building your machine learning team:
- Choose the option that will give you the best results
Depending on your current situation with the development team, you may find any of the above options to be the most suitable for your company. It’s good to have an overview of the pros and cons of each option to make a reasonable decision.
- Look for skills, not positions
As companies name their experts however they wish to, data scientists, ML engineers, and AI developers can, but don’t have to, all have the same skills. Knowing the approximate scope of the ML project will help you hire for skills that match your needs
- Vet the candidates' technical and soft skills
When looking for a contractor, check the portfolio, publications, and client reviews, then have a chat with your prospective team, too, so you can see whether you want to work with them. Interviewing candidates for your team, you should also try to verify their knowledge and check for cultural alignment with your company.
- Remember that the team should be interdisciplinary
Don’t focus on ML and data science skills only. Machine learning projects go beyond algorithms and involve other team members like software engineers, domain experts (those who know your business best), business analysts. Building a successful ML team means bringing together people who can successfully address a business problem.
Though it may seem quite a challenge to assemble your dream team, it gets easier when you realize what your possibilities and priorities are. When you already have your own development team, team extension can bring the best value not limited to ML skills only. If you don’t have the skills to evaluate the technical competences of your prospective employees, choose the option that’s more easily available to you.
Looking for a verified machine learning tech partner? Just drop us a line and we’ll get back to you!