Ask HN: Any front end engineers transition to ML/AI engineering? What's it like?

37 points by baron816 ↗ HN
I'm a frontend engineer and I really enjoy it, but I do feel like there isn't much more for me to learn or room to grow. I've been thinking about trying to start learning ML, but I'm not sure I'd like it. Seems like it would be very different from what I'm currently doing. My interest in it at the moment is money related, but I'm confident that could change once I really get in it. I'm also confident that my company would give me the opportunity move into a relevant role, so long as I knew what I was doing.

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?

8 comments

[ 4.3 ms ] story [ 30.1 ms ] thread
I recently switched from frontend to a backend/ml role at a large tech company.

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.

What are some of the languages/frameworks/tools you use at your current role?
Am going through this exact transition. Some key learnings I had:

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.

I’d encourage you to leverage your frond end expertise and approach the ML research from product angle. Computer vision can be an ideal fit where I’ve seen my previous colleague becomes very successful by launching on device CV application with a research team and he dive deep into the topic along the way.

Traditional ML is much tricker but I think visualization might be a good starting point

It is fundamentally different. While you know how to code - you lack a lot of "side" knowledge. If you are a senior frontend developer - it will take at least few years to become experienced in backend/ML role.
Backend and ML are very different things. Well, ML may happen at the backend, of course, but it's often done in a completely non-web context. But the big difference is that there are a lot of very specific ML-related techniques that you need to not only learn, but also understand what they're for, how they work, when to apply them, and more specifically, when not to apply them. That seems to be the big trick in ML.
> My interest in it at the moment is money related

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.