Machine Learning Engineer or Data Scientist?
Good question. Honestly, as I said in my previous post, I think there's a grey area about where Data Science "stops" and Machine Learning Engineering "starts". A lot of that is because the actual job role doesn't consistently match the job title. The ambiguity between ML Engineering and Data Science is exactly what confused me for so long about what I wanted to do - I'm interested in the ML algorithms themselves, creating them and understanding them alike; but I'm also interested in putting those models into production. In some companies that meant I could either be a Data Scientist or Machine Learning Engineering (or something else entirely!)
Now, that's not to say that a "Data Scientist" nor a "Machine Learning Engineer" can't do both. As I say, a title is just a title and nothing more. There's no reason that someone in either of those roles couldn't write the ML model, refine it and then productionise it using automated pipelines, cloud technologies and the latest MLOps guidelines. In fact, some roles will expect that.
The explanation that has stuck with me through my musings has really helped me sort through this conundrum. If we compare to software development - a more mature field in the tech world, you've got the Front End Developers, who'll work on the user interface. Crudely: they'll make the form that you fill out. You've then got the Back End Developers who make sure that when you submit your form, the data actually gets saved correctly. You've then got the Full Stack Developers who make the form and write the logic to save the data when you submit it.
In a similar way, there are "Data Scientist" roles that focus on model development and "Machine Learning Engineer" roles that focus on productionisation and scalability. Or to put it differently, I've heard Data Scientists focus on writing a great model that works on their computer, Machine Learning Engineers focus on getting a great model to work on all computers. Both of these job titles can focus on both model development and operations - which would be more "full stack" thinking about the software development analogy.
It's not to say that one role is better than any other, nor that any is more skilled that any other. It's a matter of interest and structure: people are interested in different things, so we gravitate towards a role that allows us to do what we think we'll enjoy. Companies are different, they have different budgets and foci which means their teams are set up differently so they'll advertise for roles that fit with them, irrespective of what other companies are doing.
My best advice, is not to think about the job title when reflecting on what you want to do, or indeed what you've done, but on what it is you want your day to day to be/what it has been. I feel like I am very much in a Machine Learning Engineer role as my focus is MLOps, scalability, productionisation and pipelines. I didn't necessarily pick it to be so, but honestly so early in my career I wanted a job in a company I could be happy in and learn loads. I think I made the right choice, and honestly, learning just one part is keeping me on my toes enough for the time being.
Anyhow, that'll be where my focus is at work and in this blog, but I love learning from my Data Science colleagues and keeping up (trying!) with what's new in models and algorithms too. In fact, I'd say that's a vital part of being a good ML Engineer too...