Straight from the Hiring Managers Mouth: How to Improve in ML Interviews

“If there's only one thing I could ask the community, it is this: please provide feedback to people.”

Regardless of what industry you work in, looking for a new job is tough. Rejection is an uncomfortable inevitability of interviews and taking that next step in your career path can often feel like a sisyphean task. With all that being said there are many things you can do to turn a rejection letter, into an acceptance letter.

I sat down with the Head of AI at LanguageTool, Bartmoss Sinclair, who has a wealth of experience as a hiring manager. We discussed what it takes to be successful when applying for your next job, and how you can improve your chances when you interview for Machine Learning positions. Along with an open source project he works on the side.

Could you tell me a little bit about yourself and what it is that you do?

The current position I have is as the head of AI at LanguageTool, and I have a background in NLP, and management. I've been working in this area for about 10 years now, and originally started off in the field of physics and mathematics. Which was when I discovered my passion for natural language processing and I just never looked back.

And as a hiring manager, you've spent a lot of time looking through lots of different CVS and people with skills in the machine learning field. Could you tell me a little bit about what's changed, hiring wise, when applying for jobs in machine learning now compared to 10 years ago?

10 years ago, if you had a degree in physics, maths, or computer science, you could just about get a job anywhere because people didn't know what to hire for back then. That changed over the course of about five years, especially in the area of machine learning into: Can you do anything with a Jupyter Notebook and Python or something like SciKit-learn, NLTK or whatever it is you're using?

Now, it seems that the industry is really looking for combination roles. Where you have to be a data scientist, a software engineer and know MLOps. And of course, if you're specialised in natural language processing, linguistics, computer vision or any other field. Then you would have to know other, more specific domains. Even if they tried to separate these roles, it seems that they want someone who can do everything, which is crazy.

So, it's like far more is required of people now compared to 10 years ago. On the subject of specialised domains, then, what are the differences between them that you should be looking at when you're hiring for a new role? Is there anything different about applying for roles in these different domains?

Well, I would say the most important thing for a candidate to have would be a passion for that domain. Being specialised can be very helpful. If you have an interest in computer vision, natural language processing, some other sort of data science or analytics, you should have a passion for that. If you do find your passion in one of those areas, you will be good to go for the rest of your life, that's for sure.

That's definitely something that a lot of hiring managers that I speak to are asking for when they look for candidates. So, it sounds like a really helpful attribute to have.

Absolutely, when you really think about it, a hiring manager is constantly looking for someone to fill a specific role. And usually, it's not someone who could do everything, but it's someone who's specialised and still has a good skill set applied to business and business value, and that's hard to find.

Great, and when you're applying for a job in machine learning, what is the most important thing that you can do as a candidate?

I don't know if there's one specific important thing, but to make a small list. One would be, of course, knowing how to write production quality code, that's always going to be helpful. Second is something everyone always says, but having a good CV that makes it through the filters, and learning to build one experimentally by getting through the first rounds, is essential.

You will need a lot of practice with interviewing, I think people don't practice enough. This is really, really critical. You can practice with your friends or even apply for jobs and just do plenty of interviews, and you'll get better at it, you'll get way less nervous. I think that helps. Speaking of which, you should apply for many positions because you'll get mostly rejections. Even if you were a good fit. Statistically speaking, you're not going to just get a job instantaneously.

I think that is key for any field that you're looking to apply for. Just getting that interview practise and making sure that you're a candidate that stands out when you enter the Zoom call or walk into that interview room. You mentioned something about how hiring managers filter CV’s? So, what would those filters be?

I think often times they focus on technology keywords. I mean, this is something you should ask recruiters. Furthermore, I would say that it's good to have recruiters in your network because you can have these frank discussions saying; “hey, maybe you could give me some tips, what are the keywords you're looking for?”

I think recruiters in general are always open to discussions about that. I've always got a lot of valuable advice from them, even if there was a situation where the job might have not worked. They gave me wonderful feedback and if you ask for it, I think you can get it. That's the best way to get those keywords, just look behind the curtain.

That is true, I think feedback is vital. I remember in an earlier call that we had, you mentioned you always tried to reach out directly to candidates and provide that feedback, which is so important, especially nowadays.

Absolutely. This is one thing I would like to ask anyone who works at a company or as a hiring manager, please give feedback to candidates, whether they pass or not. Give them just five minutes of your time. Maybe you need to change your CV, perhaps you should study a bit more on a specific topic. Even if they pass or fail, give people feedback. They deserve it. I go by that philosophy of respecting the candidates. If there's only one thing I could ask the community, it is this: please provide feedback to people.

Definitely. I think, like you’ve said, it’s so important. We always try to get that for our candidates as well, sometimes it's a bit difficult. But any feedback is always helpful. Another question that I was keen to ask as well is; what advice would you give to people who are currently studying machine learning or any related field? To prepare them for industry?

Gosh, I could also make a huge laundry list for this. But if I had to break it down, I would say, learn to code, as that's obviously always important. And maybe even more important than that, learn to align what you do to business value. Because it's fun to work on a project that you're passionate about. However, when it comes to business and trying to transition into industry, you have to focus on business value. If you can align your interests with that, you'll always be happy.

The other thing is communicating that value, countless technical people have good communication skills when talking to very technical people and telling them about their pipeline. But for non-technical people, things can get lost in translation. A lot of times that can be because it's not tied to a business impact. So, if you can learn to communicate that successfully, you will get a lot further in your career in an industry.

What are some examples of good business value?

Business value is sometimes hard to understand. But it should be data-driven, you should get feedback from users. Whether you're doing A-B testing, or you're rolling out a feature and seeing how many people are using it, clicking it, what countries they are from, any sort of analytics. Then use that information you’ve gathered about the users to shape the future of what you're doing. You can then contribute to that and say, “hey, if we could optimise this a bit better, we can have a 20% higher impact”. So, I would say being very business value orientated is the same as being data-driven.

How much of an influence do the extracurricular projects that candidates are working on have on an application that they might be going through?

So, I do code in my free time. I do box off some time to work on open-source things. A lot of the open-source community has really taught me to be a better programmer and helped me get better at machine learning. You do come together as a community and learn things from each other, and I think that's very important. Whereas at the same time, I think if you have a hiring manager who's very technical, they might check out your GitHub, GitLab, or whatever repos you have, and to be perfectly honest, I don't think companies do that enough.

But I think it can help, especially if you're trying to get your foot in the door and don't have so much experience. If you have a few good projects you've worked on, you should try to pitch that during an interview and compare what they are doing with what you’ve done. I love to see candidates try to actually show what they know and shoehorn it into our conversation. It seems obvious, but it's beautiful, and I respect that.

I think that's some excellent advice. Regarding open-source coding and side projects, I know that you have been working on something called Secret Sauce AI at the moment. Could you tell me a little bit more about this kind of project and what it is?

Sure, secret sauce AI is a coordinated community of tech minded AI enthusiasts working together to identify projects that might have blockers and improve them in the area of natural language processing. Mostly in voice assistants, personal assistance, but it's all geared towards being able to self-host so that you can run it yourself without the cloud. And that's related to a subject called Tiny ML.

Now, there are three ingredients in Secret Sauce; community, programming, and philosophy. So, these are the basic tenants of secret sauce AI, and we’re not a very big community, but everyone is welcome. We have many different projects where we work together, sharing information. Even sharing repos, code working together to solve problems that are very similar but have different use cases. That's the community aspect.

And of course, you have to organise it somehow. We have plenty of different projects, and with different projects comes programme management. Which is something I have a background in, so I try to help out there where I can. But everyone's open to helping, it just means writing good milestones, good issues and planning effectively.

Then there is our philosophy of Tiny ML, as I mentioned before, where people can self-host and run all this stuff themselves, there's nothing hidden, we give you the secret sauce.

One way I love to round off these interviews is by asking if there's any kind of piece of literature, or any professional in industry, whose work you think the reader of this article should be checking out and having a look at?

I gave this a lot of thought and there are a lot of research papers out there, but that's probably what countless other people do. So, I thought about something from the other side, it's a book called Never Split the Difference. It's by Chris Voss and one I really love what you can take away from it, especially for the people reading this who are struggling to get their foot in the door. It can be hard to negotiate contracts and to navigate through interviews. Furthermore, it's something that you have to learn, but at the same time, I feel like this book distils how to negotiate your salary or something much better so that you get what you deserve. I think everyone should have that ability. So, I would highly recommend this book.

A special thanks to Bartmoss for agreeing to speak with me and for offering his advice and time.

Previous
Previous

Accessible Technology

Next
Next

Haven: The Digital Sanctuary for Your Mental Health and Wellbeing