I recently defended my Master’s thesis on making behaviour vectors using ML. I’ve genuinely poured all my hard work into learning ML concepts for the past couple of years; I hope that gives some credibility to my opinion. Here are reasons why I won’t touch ML for a couple of years.

Fewer Jobs + More Experience Required.

The title says it all. ML Engineer job posts from FAANG companies usually require 3-5 years of experience. Along with fewer jobs and higher requirements, there is also an oversupply of engineers who want to take those jobs. I don’t want to put myself in a position with minimal negotiation power where I’m against the odds.

Lack of Defined Roles and Workflow

The entire industry is still figuring out how to build ML products, so there’s not much clarity about the roles and responsibilities of an MLE compared to an SWE. Each company has their definition of what an ML Engineer or a Data Scientist should do. The job requirements are also a collection of everything from the ML, Data Engineering and the SWE world. I’m not sure someone can have all those things on their skillset. Companies don’t know what they want out of ML Engineers. Without a clearly defined workflow and expectations, it’s hard to get better at the workflow and show impact.

Lack of Learning Resources and Mentors

Software Engineering has been around for a long time and will stay here for longer. Many smart people have walked down the road, experience problems, solved them and wrote books about them. It’s easier to progress when there’s access to mentors who have 10-15+ years of experience in the profession. Online resources are also easy to find in SWE compared to ML. There’s no clearly defined path to becoming a Staff Software Engineer in ML.

It’s an Art, Not a Science Yet

A lot of ML development is empirical, practical and based on trial error. People build fantastic models that accomplish great things, but they’re usually unable to justify their decisions concretely. A lot of research in ML is “We did X, Y, Z in this creative way; it outperforms all benchmarks. Maybe you should try it”. It’s an emerging field, and the rules are not clear. They’re not boiled down to a science YET.

Too Much Research to Keep Up

The whole world is running after ML because of its potential. That means research and engineering practices are improving every single day. It’s essential to keep up with those, or we risk being outdated and losing value in the job market. I don’t like being in such a rush all the time. I’m willing to improve every day, but ML research is too fast-paced for me. The knowledge I gather today will quickly get outdated within six months, and I hate being in such a position. I want to spend time-solving problems and delivering value. I don’t want to spend most of my time catching up with the latest research and engineering practices.

There’s Always an Option to Switch Later on

It’s not like I’m permanently abandoning ML; there’s always an option to go from Software Engineering to Machine Learning later on. Doing it the other way is much more challenging.

Conclusion

I’m practical and focused on real results. I don’t buy into slogans like “Take the uncharted road” or “Step out of your comfort zone.” I prefer to plan for the next ten years with clear, smart decisions rather than chasing passion projects. I want to set myself up for success, not impress anyone. That’s why I’m putting machine learning on hold for now. I enjoy the research, but I’m not relying on it to support my family.