ML/DL job hunting. Points of attention.
How to understand what you want from future job and be satisfied with your position.
ML/DL positions are growing in numbers very fast, and most of the time it is hard to understand if the position you are applying to worth it and if you and the company are a good match. Just look at this search of machine learning or data scientist in Linkein - over 300k positions.
Of course, there are tasty positions in google, Deep mind, Amazon, Apple, Tesla, etc. But it is hard to get there, and, probably, even harder to work. Meanwhile, there a lot of other companies and positions, that can be quite a good option. The problem is - the field is so hyped, that some positions are crap and some are surprisingly good while it is hard to find out which is what.
To help in that complex choice, I designed these 6 points of attention while job hunting in the ML area. Using them, you can ease this hard and exhausting process and find a good matching position.
Step 0. Define what you truly want.
Ask yourself where your passion lies. Is it fundamental research? Applied research? Engineering? What field is it: computer vision, natural language processing, time series analyses? Or maybe recommendation systems? From answers to that questions, you can define directions. You will get an idea, where you want to work: academia, corporation, start-up? Do you want to develop satelite image analysis neural networks for a small growing start-up with a production-focused team? Or maybe you want to develop text/speech recognition models for internal use by the support department in a big retail corporation? What about in-depth research of generative models foundations?
You name it.
This step is essential - it will help you to get in peace with yourself, narrow down the search area, define criteria for a future position. To be honest, I think this is already 80% of success.
Also, make sure what companies understand under the name of the position you are interested in. You might be surprised how many different definitions are there for ML engineers, or, even worse, Data scientists. Try to get on the same page with the future employer. You don't want to program web applications, while you thought you will train neural networks. (I wish I were exaggerating, but this is a real example).
Now, suppose you have all the answers. You applied to 20+ positions and started interviewing process on some of them.
Step 1. Ask about AI strategy.
Does the company has an AI roadmap? If yes, ask to elaborate on it. What are the goals for 5 years? How they are planning to get benefit from ML/DL. How essential is it for a company? What are the main development directions?
If there is no AI strategy in the compay, it is not necessarily a bad thing. It might be, that company thinks about it and ready to work on a long-term vision. And maybe you will be one of the pioneers. Do you want it? Or you want to work mostly on content and not be involved in high-level roadmaps development? The choice is yours.
But in any way, please. make sure that there is no "ML for ML". There should be the business value that will bring need in ML.
Step 2. Ask about data governance
That's super important since you can't work without good data governance. So it would be wise to know from the beginning what databases are there, where the data is coming from, how big is the data? Is there any annotation tool the company uses? If not, are they willing to pay attention to that (and that's the bridge to AI strategy)? How many training-ready datasets do they have? Do they have version control of the data?
Always remember garbage in -> garbage out. Your comfort and effectiveness depend on that.
Step 3. Ask about the team: roles, plans for positions, working style.
You do want to know who your potential colleagues are. Are there any ML/DL experts? Newbies? Does the team have interns from time to time? Any data engineers? Full-stack developers? Is the team centralized or there are islands of expertise across the company? How many meetings do they have? What meeting? Growth plans? Do they visit conferences? Attend in them? What they wait for from you?
You have the right to understand your place in the team and the company before you go there to work. You should see your growth potential.
From the answers, you can get an idea of how connected the team is as well as if you will fit in there.
Step 4. Any success stories?
What has already been done in the company in the ML/DL field? Are there any working solutions? Use cases? Proves of concepts? That can give you an understanding of what to expect. You can easily get in the working rhythm if it already beats. Or you can try to create your own if there are conditions for it.
Success stories can also indicate that the company knows the main customers/stakeholders, which is already a great achievement.
Step 5. Stack the company uses
Check the technology stack the team is using. Try to understand if they know, what they are doing. And if they don’t, check if they realize that.
Make sure the team has structured methods of research/production or at least is willing to have one.
How do they track their experiments? What frameworks/packages do they use? Is their code is just a pile of Jupiter notebooks? Do they work in their MLops? How they store and deploy the models? Who owns the models?
This is the base for the successfull work, don’t underestimate it’s influence.
As a comclusion, I believe that there are ton’s of beautiful machine learning positions out there. I know by my own skin, that job hunting can be exhasting and can suck all fun of your life. An I hope these few points of attention can help you ease the pain.