
Ask HN: How can I become a machine learning engineer? - Invictus0
I will be graduating with a bachelor&#x27;s in mechanical engineering this spring. Throughout my college years, I was unsure whether to pursue ME or CS, but ultimately stuck with ME. It was impractical to do both. I applied to computer science internships throughout college and was accepted to a few programs, but ultimately turned them down to give mechanical engineering a shot. Now that my school years are coming to a close, I want to give software engineering another shot.<p>Along the way, I learned to write Python and C code, and I am very strong in Python today. I have taken college courses in statistics, differential equations, linear algebra, and optimization (constrained and unconstrained, gradient and discrete methods). I like optimization and am comfortable in Python and I think machine learning makes sense for me as a gateway into a software engineering career.<p>I am aware of tools such as [1] but I don&#x27;t like that after investing 2000 hours in the curriculum, I still would not have learned any new technologies.<p>What essential technologies and computer science concepts do I need to learn to get hired as a machine learning engineer as soon as possible? What self-study courses and resources can you recommend?<p>[1] https:&#x2F;&#x2F;teachyourselfcs.com&#x2F;
======
Eridrus
Consider applying to something like the Google AI Residency if you're
interested in research roles; Facebook, Uber and Microsoft have equivalents,
though I don't know the names off the top of my head.

Also consider just applying to roles right now, you can always apply again
later.

Also, ML is really hot right now, and while you are well positioned (given
your math background that a lot of CS people lack), there are several orders
of magnitude more software engineerings roles than ML roles, so if ML is only
a path to work in software, consider just applying directly to general
software engineering roles as well.

If you do plan to do additional learning, do a project of some kind, and don't
just read a bunch.

~~~
Invictus0
The reason I want to start in ML is because (as I understand it) Python is the
language of ML and I am already well-versed in Python, and I also already have
some background in optimization methods, whereas software engineering in
general requires knowledge of a lot more languages/technologies and general CS
concepts which will take some time to gain proficiency in.

What technologies do I need to learn to perform well in a ML role? What are
some examples of a tech stack that I might be expected to work with?

Also, I have attended a number of hackathons in the past but mostly used them
as learning opportunities and rarely finished projects or wrote any good code.
Should I leave those on my resume or take them off?

~~~
Eridrus
You would be surprised how little you actually need to know for most software
engineering roles. All of the things on the website you linked are generally
dealt with by specialists in industry, rather than being a shared
responsibility of all software engineers.

The tech stack for ML usually involves some data processing framework, e.g.
Apache Spark or Dask or something like that. Some actual ML training system,
e.g. scikit-learn, Spark's mllib, TensorFlow/PyTorch for the deep learning
stuff that is hot right now, particularly for computer vision/NLP work. And
then whatever general programming language the company uses for deploying code
into production.

I'd keep your hackathon stuff on your resume.

