What is the generally accepted definition of an ML Engineer?
Job titles do not have consistent meaning across regions or industries. People use buzzwords and hype to recruit funding and talent.
You've learned an important lesson: use interviews to gather information about companies and teams. "Can you describe in broad strokes a typical project for this role?" is a perfectly reasonable question to ask a hiring manager.
The deployment of ML is still per-paradigmatic in that people today deploy products based on luck, blood, sweat and tears. Many projects fail and many more never get started.
I am sure that somebody somewhere had a team that gets results consistently, I can partially picture what it would take to do so, but that's not the usual condition. (That team is so productive that it doesn't need to hire more people!)
For instance, you might not want to do any of these things, but any of them could be essential to putting something in production:
* manually classifying 10,000 images or documents
* figuring out how to run a program in the Java and C++ debuggers at the same time
* be able to convince somebody that their research programme is a dead end
* survive a 40 minute build process
* push back against a 40 minute build process and reform it
* reproduce a result from a scientific paper
* get a "data scientist" (who thinks he is too good to listen to you, or even to the CEO) to standardize their python distribution so their work isn't wasted
* find the scalability bottleneck in a system, where it is, not where you want it to be.
Many teams fail at ML because there was an essential task that nobody wanted to do that didn't get done.People who do these things today will be able to say tomorrow that they were part of a successful team. Other people will expect great praise because they diddled around with Word2Vec for a summer.
Some day the social structures will be in place and they might have a role made for you that will make you productive but for now you must ask: who do you want to be?
ML Scientist and Data Scientist versus ML Engineer and Data Engineer.
Basically every company have their own definition. For some companies, a SRE is just a traditional software engineer who happens to know how to use Kubernetes, where for others, a SRE is a "modern systems guy", with focus on IaC and automation.
Guess you're experiencing the same but regarding ML.
On smaller teams, the titles mean less - but I rarely see ML engineer positions for small teams.
ML involves both science and engineering. ML engineer by definition sits on the engineering side of the fence, but how much of the science they are involved in will vary by company.
I've worked in environments where ML engineers were "data science plus", and those were really unhealthy work environments - it ended up feeling like a prestige war with lots of cookie licking and turfing. When you're at the point of needing differentiated roles, you really need someone to focus on infrastructure to deploy ML models and someone else to focus on managing stakeholders, wrangling data, and developing proof of concepts.
- Helping with feature engineering at scale
- Putting models into production
- All of the environmental stuff (Framework versions, security patching, etc)
- Monitoring models and model drift
- Supporting hot/swapping models with zero downtime
- Model persistence, A/B testing and evaluation in production
- Distributed hyperparameter tuning
Kind of interested how you got hired to a completely different role though and how that didn't come up in the interview.
Without the PhD, I feel like you're just a data jockey. Just clean the data and create APIs for the PhDs and consumers to use.
Meaning, does not push the train button and watch loss curves?
What's out of this role's scope at the new company?
Imo unless you are a rich company or have a well funded research arm, it mostly seems wasteful to make someone's job pure modeling.
Either its an expert at building and training ml models, or its an expert at putting ml models in production.
Ex ML Engineer at a company.