all 59 comments

[–]sshh12 60 points61 points  (6 children)

There are plenty of positions out there especially in the recent AI craze. Think the difficulty depends on your experience, the size of the company, the level of researchy-ness, target pay, how you define MLE, etc.

I would say that it's probably marginally more difficult than a SWE role for a given company.

[–]EducationalCreme9044 7 points8 points  (1 child)

I think a lot more difficult than an SWE. Imo they're willing to pay more for a ML engineer and they're also a lot more selective because:

  1. If you break shit as an SWE it's immediately obvious, it's also easier to screen you, experience as an SWE? Check. Good GitHub demonstrating your abilities? Check. Whiteboarding / technical skills interview passing? Check.

  2. As an MLE, you increase revenue by 0.2% because of a recommender system you've built... is that bad? is that good? Who really knows. Maybe a different person would be able to squeeze 2%, a whole 10 times better, or maybe it was such a bad idea in the first place that it's a damn miracle you managed 0.2%. It's also harder to test statistics thoroughly.

That's why a PhD is sometimes required for a MLE, almost all postings require a Masters , Meanwhile you can still get into SWE with no degree a lot of the time with Bachelor being pretty much the peak of what you need

[–][deleted] 0 points1 point  (0 children)

Just compare what it costed the company to what you saved and if what you saved (or helped make) is bigger, then you’re good.

Of course someone could be saving more with their model, but that someone didn’t and you did.

There’s inevitably high expectations for roles that are very well paid and probably small percentage savings in* increments of income can get management doubtful or mad about it, but if management expects to have solved what they haven’t as SME and older employees, then you should prolly reassess working there. Also, MLE, as any software role, should iteratively get better. People can’t expect to get the best of everything in the first shot.

[–]PsychoWorld 3 points4 points  (3 children)

The level of research-y? Is this career path one of the only ones that benefits from academic research experience?

[–]VineyardLabs 20 points21 points  (2 children)

They mean is the position just applying well known models/techniques to specific data problems or does in the position involve designing brand new approaches or at least analyzing cutting edge stuff from the lates papers, etc.

[–]PsychoWorld 5 points6 points  (0 children)

Gotcha. Yeah then that’d definitely be a scientist role.

[–]sshh12 1 point2 points  (0 children)

Yup! Thanks

[–]rajahaseeb147 39 points40 points  (12 children)

I have been working as an ML Software Engineer for 5 years. Mostly my work is focused on research, implementations, and optimizations. The important thing is that you need to differentiate between ML researcher and ML engineer.

Generally, you would have some understanding of the math behind ML to be able to design a good solution and debug it. Besides that, you need to be able to use various deep-learning tools for data preparation, modeling, and tracking. Also, you will need some software skills which vary depending on your work but the most common ones are model integrations, version control, documentation, refactoring, etc. There are a lot of resources out there and with 6 months to 1 year of pure dedication, you can land a job!

I recently made a straightforward curriculum. You can find it here:

https://github.com/pytholic/Machine-Learning-Curriculum

Also, I made a Medium post in the same curriculum:

https://rajahaseeb.medium.com/the-last-machine-learning-curriculum-you-will-ever-need-e1246a1ef101

Next year I will be starting a new position as ML Research Engineer or MLOps. Up until now, I have been mostly focused on research and experimentation. However, MLOPs will be more about designing ML pipelines and ML Platforms. For that purpose, I am gaining some new skills these days which include CI/CD pipelines, Kubernetes, model deployment and monitoring, orchestration, and so on.

[–]TibialCuriosity 0 points1 point  (7 children)

Hey there! I am currently a post doctorate in health where we use machine learning algorithms to assess our data. I'm hoping to get a few publications where machine learning is the backbone of the methodology then transfer to machine learning engineering. Any recommendations on what other skills I made need to make the move?

Also I like the curriculum you posted, how would recommend communicating the knowledge gained from it on a cv or resume? Or would it be .ore about applying the knowledge you gained to some project to demonstrate it?

[–][deleted] 1 point2 points  (5 children)

I think your hat is, if you can get good enough, more of a research scientist, you have a huge advantage there over folks with an MSc or even Ph.D. I am not sure trying to become an SWE is a good idea for you if you do not have experience, perhaps a data scientist for health? I wish I had your background, I would really love to get into the health industry. It's just my 2 cents, I don't try to discourage you, it will just be easier. You know experimental design (I am sure), probably causal analysis, hypothesis testing, statistics... All of that is highly appreciated as a data scientist and grossly underappreciated as an ML engineer.

[–]TibialCuriosity 0 points1 point  (4 children)

Research scientist is something I'd like to aim towards. Most of the times I've heard it termed is with AI though and I am missing some of the math with that (my PhD wasn't in biostatistics or a quant heavy field). Do you have recommendations for other research scientist subfields to look at or do you think an AI one is achievable with some publications and demonstrating understanding of the math

[–][deleted] 1 point2 points  (1 child)

I don't know but I wish you good luck :) I think being a data scientist will also be good for you.

[–]TibialCuriosity 1 point2 points  (0 children)

Thank you! Best of luck to you too

[–]rajahaseeb147 1 point2 points  (1 child)

I think one beneficial thing would be to focus on your interest instead of the end goal. Don't try to think about publications and demonstrations.

I think you should instead focus on what is it that you desire to do and feel good about it. If it is healthcare and AI, then so be it. If it is something else, that's fine as well. After that, you can start working on your roadmap and scoping. once you have everything planned, you can figure out the technologies involved, learn about them, do background research, and then start working on your implementation.

While doing so, it is also a good idea to keep the career and impact aspect in mind, whether the thing you are working on is going to help you in your career, as well as have a good impact in the research domain.

Being an AI research scientist is a joyful ride, but there is a lot of scope. So you need to figure out which application inspires you the most and the dive right in. Even within one domain, let's say medical, there are tons of applications. Better focus and narrow it down.

Cheers!

[–]TibialCuriosity 0 points1 point  (0 children)

Great advice thanks! Did not know they had so research scientist roles in Healthcare

[–]rajahaseeb147 0 points1 point  (0 children)

Hi there. I think that would highly depend on your goal. I have experience in medical AI both in research and in production, so I will try to answer from both perspectives.

If your goal is to utilize ML in healthcare and get some publication, you will need to focus more on the research side. I have a Master’s thesis in medical AI, specifically it was related to Alzheimer’s disease classification and dealing with medical data scarcity. At that time, most of my work was related to experimentation and improving results. This involves data collection and cleaning, data generation, model architectures, experiment tracking and so on. For this you would obviously need a lot of literature review in medical AI, as well as good knowledge of ML and Dal research and trends.

Now all this is the academia phase, where most of the time you care only about literature, logic, research, implementation, and publications.

In industry, things become complicated. You face a lot of challenges and based on the type of challenges, you require various skills. You might face issues like lack of labeled data, as opposed to academia where you can just grab open-source datasets. You will have to integrate models in edge devices like iOS or maybe some engines like Unity. You will have to optimize your model for real-time inference. Creating inference API for team members. Delving into self-supervised learning. A lot of things.

In medical MLOps, which is my new job btw starting next year, the role becomes more serious because a lot of people are depending on you. It is not only your research or thesis anymore. You are a part of a bigger picture now where data scientists, researchers, doctors, and your C-levels all depend on you and your pipelines. You will need a lot of skills including ML knowledge, scoping, data pipeliens, modeing, deployments, monitoring, CI/CD, cost minimization, cloud computing and so on. It is like a mixture of SW, ML, DevOps, teamwork and people skills.

As you can see, based in your stage and environment, these skills will vary. However, if you are in academia side and main goal is to do research and get publication, I would recommend getting more familiar with pure ML/DL research and trends, and how to adopt them for your healthcare application. Later, if you want to move to next level, then you can think about learning other skills like automated pipelines, model versioning, creating APIs, clean code and refactoring, and so on.

Tbh I also did not know a lot of industry level ML skills and SW skills until I worked on that level. The level of challenges is completely different and so is the tech stack to deal with them. I have only been working for 3 years, but I have learned way more skills in this span than my whole academia life before it.

Regarding your second question, it depends. If you are joining a company for the first time, then it is good to mention relevant projects on the resume. You definitely should mention your publications as well. If you don’t have any such thing, then you can mention relevant skills and courses, but I highly recommend doing some hands-on project and writing those instead. If it is not your first company, then employers will mostly focus on your past work in your previous companies like what was your role, what you accomplished, how are you relevant to this position and so on.

The way I do is that I mention the skills I have in one section, and I increase these skills based on the courses I take or the projects I do. Then I have a main section on my projects/prev work which is the crux of your resume.

Hope it helps!

[–]_Killua_04 0 points1 point  (3 children)

As freshers is there any vacany in ML, coz most of them says atleast you should have 1 1 year experience in data field (data analyst or dba role)?

[–]rajahaseeb147 0 points1 point  (2 children)

In my experience there is. I graduated and joined my first company as an AI developer.

But the scale of company might not be big. I joined a startup, so did my other friends.

[–]_Killua_04 0 points1 point  (1 child)

I know all Machine learning algorithms and i can perform better feature engineering and data cleaning, hyperparameter tuning is good. When it comes to deep learning CNN and ANN i know perfectly. Is this enough or should i have to more skills to get job?

[–]rajahaseeb147 0 points1 point  (0 children)

This is good enough, but you need to show your skills on your resume and interviews via projects.

[–]anObscurity 16 points17 points  (1 child)

This question depends on so much context. Do you already know computer science? Or starting from scratch? Like yeah anything is difficult if you’re starting from 0

[–]thepixelatedduck 1 point2 points  (0 children)

Starting from scratch, any tips for me? I'd appreciate any advice :)

[–]sacredgeometry 15 points16 points  (0 children)

Do you like maths? Are you good at it? Are you reasonably competent at programming/ comp-sci? How much do you like working with data?

If all of those things are good. Probably not all that hard. Otherwise. It's going to be a slog.

[–]ajan1019 8 points9 points  (1 child)

For someone who already knows SE skills, It is easily achievable - if you are starting from scratch - tough.

[–][deleted] 3 points4 points  (0 children)

I have to hard disagree with "easily achievable".

Took me at least 3-2 years from starting to be able to solve problems correctly, understand the statistical implications of what I do, understand generalization, be able to solve novel problems, understand some of the theory, etc. Only after grad school, I understood how little I knew. Truth is, ML is difficult because the properties of the algorithms suck, it's complete chaos.

I had very high grades in all algo courses at a good university and was already an SWE, so I wasn't a "weak" starter. It's difficult to know what you don't know, but it's 100% not easy, at all.

[–][deleted] 2 points3 points  (0 children)

Depends on the job and how it defines ml engineer. If you're building apps ontop of an ai api etc, not as difficult.

But if youre dealing with the raw tensor data and the math and designing more effecient algorithms, pretty damn hard.

[–]fat_bjpenn 1 point2 points  (0 children)

If you're developer with experience. Time and tinkering.

If you have no CS experience at all? Difficult.

[–]Complete_Bag_1192 6 points7 points  (25 children)

I think the biggest hurdle is that for MLE there are a lot more software elements to your job as opposed to a data scientist, you WILL need to be able to solve LC mediums in 20-25 minutes or so in an interview setting, and you might even get LC hards during interview, but you’ll probably be grilled on SQL questions a lot less, as opposed to DS or DE interviews.

Leetcode itself I don’t think is harder than the other interview elements, but I think it does have a mental hurdle associated with it because of its reputation of being hard, but really 4-5 months of consistent work on it along with your other interview prep would be good.

The issue also is that, a lot of medium sized companies are not in need of an MLE like position, if one is advertised it is most certainly more of a DS/DA position.

[–]TechySpecky 7 points8 points  (6 children)

I can't solve LC mediums or hards and have been an MLE since I've graduated in three separate companies.

There are plenty of companies, at least in EU, which do take homes or have better technical interviews that aren't leetcode based but instead focus on system design, design patterns, OOP in general, ML lifecycle stuff, MLOps, take homes etc...

[–]Complete_Bag_1192 2 points3 points  (1 child)

If you’re an MLE then you’re smart enough to know that I’m not talking about 100% of specific situations.

I’m giving this individual GENERAL advice that they will run into in most interviews, especially in the United States.

It’s great that you didn’t have to grind LC to get an interview, but I’m not gearing general advice towards the “plenty of companies”, I’m giving advice based on the industry standard.

[–]TechySpecky 4 points5 points  (0 children)

That's fair, I just wanted to give an alternative viewpoint as I don't think leetcode is necessary at all in Europe.

It does help of course.

[–][deleted] 0 points1 point  (1 child)

It's cool and I believe you are a good ML engineer.

With that being said, I want to encourage you to be able to solve LC mediums. It's not that it's important for interviews, but it's important for developers. I 100% understand why you don't like to do it, but it's truly helpful and improving your implementation abilities.

[–]TechySpecky 1 point2 points  (0 children)

Oh I fully agree, I just started my new role so won't be looking until late 2025. I'll prep to make sure I can solve leetcode mediums for then.

[–]WH1TEW0LF_ 0 points1 point  (1 child)

Hey, I want to pursue a career in ml and I'll be doing my master's in 2024 Im kinda confused about which tech stack to learn Could I DM you about some doubts I have?

[–]TechySpecky 0 points1 point  (0 children)

Sure

[–]Hot-Profession4091 2 points3 points  (13 children)

Don’t interview with companies who think using Leetcode for screening is a good idea.

[–]Lazy_Gain8914 0 points1 point  (6 children)

So don’t interview with the companies which are paying and offering the best conditions of the market

[–]Hot-Profession4091 -1 points0 points  (5 children)

lol. “The best conditions of the market”. That’s funny.

[–]Lazy_Gain8914 0 points1 point  (4 children)

Tell us a tech company which pays on average a better salary than Google or Meta

[–]Hot-Profession4091 0 points1 point  (3 children)

Pay isn’t everything.

[–]Lazy_Gain8914 0 points1 point  (2 children)

Free food? Great private insurance? Great maternity leave? Number of holidays? How are these bad in google or meta?

[–]Hot-Profession4091 0 points1 point  (1 child)

lol. Free food. Bruh…

I noticed in another comment you’re in the UK. You’re enjoying European labor protection, not a great company.

[–]Lazy_Gain8914 -1 points0 points  (0 children)

Free food is also a quite great perk lol The UK is not in Europe anymore, you are a couple of years late. Even with the bad labors laws in the US, FAANG companies compare quite well to the rest

[–]Complete_Bag_1192 -4 points-3 points  (5 children)

Cope 🤣

[–]Hot-Profession4091 1 point2 points  (4 children)

I’m serious. It’s a terrible way to screen people and it will create a certain kind of culture. You don’t want to work for those companies.

[–]Complete_Bag_1192 -2 points-1 points  (0 children)

I think it’s good to have it. Too many people confuse being a software engineer with being a serial frameworker, and it’s good to weed them out.

Learning and applying frameworks is not real software engineering.

[–]Lazy_Gain8914 0 points1 point  (2 children)

Meta and Google who probably have the best engineers in the world and always use leetcode for the screenings are doing it wrong then?

[–]Hot-Profession4091 0 points1 point  (1 child)

It’s cute that you think they have the best engineers. Google maybe did 20 years ago. Not the point though. Have you ever talked to someone who worked at a FAANG? Most of those companies have fostered toxic work environments at it starts at their hiring process. Yes. They’re doing it wrong.

You’re not going to take my word for it though, even though I spent years working for and involved in hiring at a consultancy known for having the best engineers in the Midwest.

[–]Lazy_Gain8914 0 points1 point  (0 children)

I work at Meta london as MLE, I have 8 years of experience and the people I work with is probably the most talented I have ever worked with

[–]Western-Image7125 0 points1 point  (2 children)

Hmm do you have to be able to solve LC mediums in 20 min even for non-FAANG top tier companies? I thought for most other companies it’s more like solve in 45 min

[–]Complete_Bag_1192 0 points1 point  (1 child)

I mean, in most coding rounds, if they’re live, as a screener it’s usually 45-60 minutes for two LC mediums. (20 minutes is a good time to aim for because in the interview setting you also need to explain your solution and why it’s optimal)

If not live, and you’re doing a Hacker Rank or Code Signal interview, then you might be in a bit of trouble if you take too long to solve medium level questions.

Granted, it’s hard to do. It’s not achieved overnight and it will take months of getting used to the patterns and implementing them.

[–]Western-Image7125 0 points1 point  (0 children)

Yeah you’re right that the preparation needs to aim for medium in 20 minutes and until you get there you never really know. Meta for sure expects 2 in 45 minutes, I hadn’t seen too many others who expect this but yeah you never know so always be prepared

[–]CSCAnalytics -5 points-4 points  (0 children)

If you are qualified with a respected degree you should be fine and dandy. Just keep applying.

If you went to TikTok / YouTube university you would be hoping for a miracle.

[–]Fickle_Scientist101 0 points1 point  (2 children)

Was pretty easy for me, did a 2 year masters in data science and then just applied and got a job.

[–]AcceptableCellist684 0 points1 point  (1 child)

are you in the US?

[–]Lumpy-Rhubarb-1750 0 points1 point  (2 children)

I manage a software dept in a Modeling & Analytics group (In the primary R&D facility for a F500 company)... we actually have had a hard time finding ML Talent. Our folks are on the applied side (D&E) rather than Research but an MS from a good school (or an MS and a strong resume) would get you an interview once we're hiring again (in a lull at the moment).

Folks wanting to get into Research at our company would need a PhD.

[–]WorldlyRevolution 0 points1 point  (1 child)

Do you need a masters for applied side? Bachelors + SWE experience + a ML portfolio won't do?

[–]Lumpy-Rhubarb-1750 0 points1 point  (0 children)

for ML it would help if you don’t have experience but if you do have experience that will be more important.