Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to Transition from Software Engineer to AI/ML Engineer
24 points by anujmehta 10 months ago | hide | past | favorite | 13 comments
Background: I am a Software Engineer and over the years got opportunity to work on different areas (Frontend, Backend, etc). For past 1 year I had started developing Co-pilots using Langchain, OpenAI, RAG. Now my query is if I want to build expertise in this areas what courses/books I should read so as to build knowledge around this area? I am looking for suggestions.



# Books I've liked that are approachable:

- [The Elements of Statistical Learning](https://link.springer.com/book/10.1007/978-0-387-84858-7)

- [The Little Learner: A Straight Line to Deep Learning](https://mitpress.mit.edu/9780262546379/the-little-learner/)

- [The StatQuest Illustrated Guide To Machine Learning](https://www.amazon.com/dp/B0BLM4TLPY)

# Online Videos / Courses

- [Karpthy's Zero to Hero](https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...)

- [fast.ai](https://www.fast.ai/)

- [3blue1brown Neural Network Course] (https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...)

- [Andrew Ng's Courses](https://www.deeplearning.ai/)

# Fun Projects

- These will teach you data-wrangling things that unfortunately eat up a lot of time.

What do you want to build? I'd love to spitball ideas here.


Thanks for recommendation. This gives me a good direction to focus.


What math do you know? You can quickly get started with PyTorch but usually people employed as AI/ML engineers have a heavy math background.

That said, it’s nothing too crazy. Most of deep learning is just linear algebra and optimization. For general data science, statistics and probability should be your main focus in my opinion.


+1 for the linear algebra recommendation. Optimization is good to know, but might not be essential, since there are good implementations of most of the cutting edge algorithms in the ML libraries.

If you need a visual overview of linear algebra concepts, check out this concept map from my book: https://minireference.com/static/conceptmaps/linear_algebra_...


I'm going to suggest not reading books or taking courses. Things are moving so fast, the concepts of RAG as one example, that any coursework being prepared is going to be out of date quickly.

I do recommend reading academic papers coming out on AI/ML topics, however. There are some really interesting things happening in and around vector storage of documents that will be impactful for years to come.

Past that, build something cool that you are passionate about. I'm not sure your preference for size of company, but any startup that is likely to succeed will hire based on diverse work experience. Being who you are is the most important thing to remember when changing your course!


I’ve seen the fast.ai course recommended over and over here.


Why would you want to? There's a huge glut of ML engineers.


I was under the impression that ML engineering jobs paid more than the typical software engineering role. Is that not true any more?


ML skews more senior, so the average is probably higher, but matching seniority there isn't much premium at all.


It’s like “Rust developer” or “SRE”: a heavy skew towards seniority.


Why?


I want to learn and grow in this area


I did a similar transition as a freelance, it was not a simple task. I started 7 years ago.

First, I got lucky to be doing data close to where a business case allowed it. Then had to fight my client so that I could _improve_ his best selling marketing campaign. I had to resort to implement explainable ML to convince him the back box was taking the same decisions, and only then adding long tail signals. At the time SHAP did not exist, but its precursor did (interpretableTree by Saabas, I ported it from Python to Scala/Spark because Python scared the client)

This was one-shot. Back to data integration after that.

I participated in an ML challenge, nights and weekends. And developed ideas from there, and personal techniques that I showcased here: http://explicable.ai . Although I didn't make any money from it (I tried, but while people like nice pixels, they don't need them; and I interest mostly engineers, who won't/can't buy it but will definitely want to do the same for themselves)

But it did act as a great portfolio piece. And landed me my first full ML project. It was a very small fixed time contract and ended recently, but I had a lot of fun doing it.

Anyway, this doesn't garantee you the greenest grass. For example, I'm currently looking for a salaried position for personal reasons and it's still tough. Btw if anyone wants to hire an MLE in Paris or remote worldwide, here is my resume: https://benoit.paris/CV_Benoit_Paris_EN.pdf

Now for your question: MOOCs can help a lot, and it's definitely something to put on your CV. Lots of good resources on YouTube as well. Karpathy's stuff is awesome for intuition (see for example LSTMs https://karpathy.github.io/2015/05/21/rnn-effectiveness/). You may also want to widen your focus to breakthroughs in other domains, reading papers and code as they come (UMAP, Nerfs/GaussianSplats). https://paperswithcode.com/ is awesome for that. Also be sure to continue doing projects you can show a prospective employer in parallel.

TL;DR: Keep at it, but make sure you produce something, even if it's just nice pixels.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: