What I'm most interested in knowing is what the day to day work is like, and how different is it from every other software engineering job?
At a high level the work is pretty similar. Instead of working with design/product you work with data science/product. The conversations do tend to skew more technical. I remember we talked a lot of about user experience on my old team whereas now it's more about the stability of our services/pipelines and the maths behind the models and features.
One thing I'd call out is that, as an engineer, you're largely responsible for productionising what the data scientists come up with. There can be varying degrees of collaboration on the modelling depending on the team/project but at the end of the day you're there to make the thing work in the real world.
Compared to other engineering jobs, I think the work tends to be more experimental, i.e. can you quickly write code to test an idea.
If you're interested in trying it out, go for it. There's a tendency to silo engineers (backend, web, mobile, etc) but code is code and you can ramp on the concepts in a few months :)
On the other hand, if you're loving frontend there's nothing wrong with staying there. The depth is definitely there but you might need to change teams/companies to keep growing.
1. Front end is customer obsessed. Trying to think through all customer navigation paths and design UI covering all aspects of usability. ML engineering, many times, is not customer facing. There will always be times when you don't know how your product / algorithm is put to use. Be prepared to accept such a change.
2. ML engineering is a lot about data - raw and unstructured. Your flexibility to work with any kind of data, being creative to come up data related processes is important.
3. Front end is overloaded with frameworks for improving developer productivity. ML frameworks have just set the foundation and your contributions at this stage to some of these will help it to grow stronger.
4. Both front-end and ML need deeper understanding of the domain on which it is applied to. Understanding every business logic involved will help to build better algorithms as well as front end workflows.
5. Lastly, ML too need a lot of front end tools to capture data, annotate data, cleanup data, measure model outcome etc. So, in lots of areas Frontend and ML go hand-in-hand and knowing both would be a unique skill-set in the market.
Good luck on expanding your domain to ML.
Moving from where you are now to a more senior position is most likely both an easier and a more profitable option for you. ML doesn't necessarily equal higher pay. And the roles that do come with significantly higher pay require years of math and statistics. Overall, the money is a really bad reason to get into a completely new field, especially this one.
The good thing is that you don't have to immediately go all in - you can read, learn and experiment and reevaluate your thoughts on the field once you have a bit more experience in it.
Traditional ML is much tricker but I think visualization might be a good starting point