Taro Logo
34

Moving to AI/ML from web development?

Profile picture
Anonymous User at Taro Communitya year ago

Hey guys. Hope everyone is doing well. Also using AI/ML as an umbrella term throughout - feel free to correct if needed.

Into:

Senior Web Developer. Initially started from Software Development. Developed passion for Web Development and made the move. Worked my way up to Senior position. 70% backend, 30% frontend. Currently 80-90% IC, rest managerial responsibilities. 9.5 years overall. Changed companies over time. Been in various industries.

Problem:

Going back and forth about moving into AI/ML. Motivation - high interest and demand. Fear - leaving web development skills behind.

My Current Solution:

Ask reputable sources about AI/ML day to days and job responsibilities. Lots of it seems to be marketing and all that glitters is not gold.

If all checks out and my passion is rooted in evidence then I would like to take few Stanford machine learning courses online. Once fundamentals are solid would like to go for masters degree in applied machine intelligence or similar. Start looking for jobs.

Questions:

  • Since this is one of my reputable sources - would you please describe a day to day/job responsibilities for an AI/ML engineer?
  • Granted everything checks out - do you think going for Masters makes sense? Given that finances and time is not the problem.
  • Would you say I have to leave a large portion of web development skills behind when making the move? What are some of the transferables?
  • Would I have to start as an entry engineer? Do you think Masters helps here? Ultimately I would have to pass the interviews but then there is applying for the position and being considered for it afterwards.

These are all the questions I could think of. Apologize for the length, but thought it would be helpful to give context. Please feel free to include anything else you deem helpful. Much appreciated and Happy holidays.

1.9K
3

Discussion

(4 comments)
  • 6
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    a year ago

    Motivation - high interest and demand.

    If this is your primary motivation, I wouldn't go into AI/ML. This concerns me as you mentioned that you developed a passion for web development but didn't mention the same for AI/ML. Passion should be fairly separated from what the day-to-day looks like: It should be rooted in what the field can fundamentally do and how it feels. Web development is an incredibly deep field. If you like it and are good at it, I'm sure you can reach even greater frontiers specializing even more in it 💪

    For more of my thoughts on making this decision alongside a lot of good context about the field in general (including thoughts on day-to-day), I highly recommend going through this other discussion: "Is it worth transitioning to become a Machine Learning Engineer?"

    Granted everything checks out - do you think going for Masters makes sense? Given that finances and time is not the problem.

    I'm pretty skeptical of the value of a Computer Science Master's - It's a ton of effort, time, and money for an often dubious amount of return. Of course, there are tactical reasons like immigration, but aside from those, the success scenarios are few and far between from my experience: "Is it worth getting a Master's degree in CS?"

    Would you say I have to leave a large portion of web development skills behind when making the move? What are some of the transferables?

    It depends on how you have developed as a software engineer, but in general, if you have gone deep in your current field, most of your skill is transferrable like:

    • Communicating with others - Web devs need to work with PM/design to clarify the product.
    • Having user empathy - Web is very close to the user, so it's easy to feel the pain of bad code.
    • Handling edge cases and pushing code quality - Every web engineer I know at a Big Tech company has complained about having to go above and beyond to support that weird contingent of users still using Internet Explorer 😂

    Something to think about is how many of the skills do you have from this thread: "What are software engineering fundamentals?"

  • 4
    Profile picture
    Meta, Pinterest, Kosei
    a year ago

    would you please describe a day to day/job responsibilities for an AI/ML engineer?

    This depends very much on the company, but a data point I'll share from the startup I worked at in 2014/15 (engineer focused on Recommendation systems) was mostly data engineering work. Turns out that a lot of ML is actually just looking at the data and trying to find insights.

    I'm sure things have changed since then, but I'd recommend you talk to peers in your current company, or at the desired company (or in the Taro Premium network!) to understand that you'd actually enjoy the day-to-day.


    A lot of the skills between web dev and ML will carry-over. One way to look at is that, given you have 9 YoE and some management responsibility, I'd imagine a lot of your job is not related to coding at all. Those skills (project management, decomposing problems, etc) should carry over completely.

  • 16
    Profile picture
    Machine Learning Engineer
    a year ago

    I am currently a Machine Learning Engineer. Will add my 2 cents here.

    would you please describe a day to day/job responsibilities for an AI/ML engineer?

    The MLE role typically involves solving problems and automating workflows using machine learning; it is a good mix of SWE and Data. Depending on the company, you might be doing more of one or the other. Rather than a day-by-day. I'll give you the overview of an average project workflow:

    • Defining a Problem: Talking to stakeholders to ensure you align on the problem to be solved.
    • Gathering Data depending on the problem: This could be as simple as writing a SQL query (or queries) or talking to stakeholders in how to get hold of said data.
    • Data Analysis geared towards solving a specific problem: This could involve sizing the opportunity or simply writing SQL to understand the current state of the problem. This is typically different than understanding broad company metrics and initiatives that a Data Analyst role would entail.
    • Constructing Machine Learning Models: The fun stuff typically in python and built in libraries like scikit-learn and pytorch.
    • Maintaining Models: Building out Dashboards to monitor model performance over time. Putting your SWE hat on, we would also build out typical dashboards to monitor service health (requests per second; cpu / mem utilization).
    • Communicating Results to stakeholders: Again, probably building out dashboards to show them whats going on.
    • A/B testing: Probably before rolling out to production, you'd be comparing the beautiful model you built to something currently in place to solve the problem. This is typically a rule based system with contrived logic to handle edge cases.

    If you are more senior, then you would come up with opportunities yourself too and even handle much larger scale and longer term projects that involve a ton of shepherding. This doesn't just involve technical machine learning knowhow; but also talking to a bunch of people; looking into code bases you aren't necessarily familiar with.

    I personally read a lot of technical blogs from large companies and read (and sometimes) research papers for my work; but this isn't always going to be the case

    Granted everything checks out - do you think going for Masters makes sense? Given that finances and time is not the problem.

    Maybe? No right answer here (I have a Masters in Data Science). Grad school helps you to learn to learn. This is the most important skill I picked up in grad school that is very useful in the MLE world (and professionally in general). Aside from this, my masters certainly helped me understand the technicalities and theoretical aspects of machine learning. I have no regrets and I have a solid understanding because of it. But it's not an absolute necessity. I too started with the Stanford Coursera Course by Andrew Ng that I believe you were referencing - It's solid. But by no means alone can get you the job in the field.

    What is best regardless of whether you go for grad school is do some end-to-end projects. Get data (from maybe Kaggle) and solve problems keeping in mind the steps I outlined above.

    Would you say I have to leave a large portion of web development skills behind when making the move? What are some of the transferables?

    At the end of the day, we all solve problems whether you are a SWE or MLE or Sales. Your critical thinking skills about a problem and domain knowledge you have in the industry you're working in are probably the best transferables. Problem Solving skills become useful when you are communicating ideas to stakeholders; domain knowledge is useful when you are engineering features for your model - you know the right questions to ask.

    Would I have to start as an entry engineer? Do you think Masters helps here?

    I doubt you'll need to start at entry level; MLEs code too. I have seen a common path is for people to work as a SWE for a few years and then transition into a senior MLE role. I have also seen the same from Data Analysts. A masters isn't an absolute necessary here. But it can be helpful to maybe gain technical insight about the models themselves; understand the bigger picture with them instead a pure application standpoint. It also helps you you want to acquire the skill of "learning to learn".

    Hope this helps you and everyone else out there thinking about transitioning into the field. Good luck :)

  • 8
    Profile picture
    Principal Director at Capgemini
    a year ago

    Adding my POV here since I started in AI/ML and gradually moved to adjacent spaces such as data engineering, architecture and infrastructure over the years.

    Like Rahul mentioned, a very small portion of it is directly related to working on the model itself. It is even more the case now, as I'd say the model development part is largely commoditized, as any out of the box model from a library, framework or AutoML capability is pretty good even with default configs.

    Most of the work in ML Engineering boils down to:

    1. Data engineering: the amount of 'signal' and overall quality of your training-validation-test datasets is the key differentiator. Making sure the data pipelines are reliable and maintainable is the next biggest part, especially at scale which transition into my next point.
    2. DevOps / DataOps / MLOps: essentially applying software engineering principles to optimize various parts of your SDLC. ML workflows and practices I've observed are much less mature vs. their counterparts in other SWE domains web, mobile, gaming, etc. There are more things you need to worry about in an ML workflow since the code and data cannot be decoupled with many (hidden) feedback loops, presenting a host of challenges. The canonical paper around this idea is here: https://research.google/pubs/pub43146/ **
    3. Engineering Management: I've spent the most time here and things get much harder when ML is involved in the initiative. Estimation and maintaining the ML solutions for maximum lifetime value are two challenges I keep running into. Due to some of the factors in #2, it creates way more variance and things that can go wrong due to externalities or unforeseeable impacts from interactions of multiple complex components - all making estimation / scoping more challenging. In terms of maintenance, externalities such as real world events changing, which changes your data and in turn the model parameters needs to be factored in to avoid performance degradation over time (there is much more to unpack here if we go deep on MLOps). Additionally, you have all your usual things related to any software solution to keep in mind.

    All things considered, I personally still enjoy this domain, but just be cognizant of what problems you're expected to solve going in, especially when we're in the middle of the GenAI hype train.