TensorTonic guides

The Self-Taught ML Engineer Path, and Where It Breaks

A realistic self-taught path to ML engineer: stages, proof to show at each, where the path breaks, courses worth your time, and how to get interviews.

By TensorTonic's founderLast updated 9 min read

Can you become an ML engineer self-taught?

Yes, but the self-taught path is harder than course marketing suggests. It usually breaks in three places, which are skipping the math, never building anything end to end, and having no proof that gets past a resume screen. Plan for all three from the start by implementing models from scratch, shipping real projects and making your work public.

The learning roadmap shows how the topics on this path build on each other, and the table below lists what to learn at each stage, the proof to show for it and the point where the stage usually goes wrong.

Stages of the self-taught ML engineer path
StageWhat to learnProof to showWhere it breaks
1. Python and software basicsPython, Git, testing, the command lineA small tool on GitHub with testsRushed, so every later project is held back by messy code
2. Math foundationsLinear algebra, calculus, probability and statisticsDerivations and a working gradient checkSkipped, so you can train models but cannot debug them
3. Classical MLRegression, trees, clustering and evaluation, in scikit-learn and from scratchOne model written from scratch that matches scikit-learnThe tutorial loop of copying notebooks without changing anything
4. Deep learningPyTorch, backpropagation, CNNs, transformersA small network you trained, broke and fixedUsing pretrained models without knowing what is inside
5. One specialismLLMs, computer vision, recommendation or inferenceOne deeper project in that areaSpreading thin across every new topic
6. ProductionServing, data pipelines, monitoring, ML system designA deployed model someone else can useA notebook-only portfolio
7. Job searchPortfolio, write-ups, interview practicePublic work and mock interviewsApplying cold with no visible work

Where does the self-taught path usually break?

These are failure points self-taught learners commonly describe, and each one has a fix.

The tutorial loop

Finishing course after course feels like progress, but following along is not the same as building. The test is whether you can build the thing again with the tutorial closed, and if you cannot, you have watched it rather than learned it. Fix it by changing something in every project, such as a new dataset, a new loss or a new constraint, and by implementing core algorithms yourself, where there is no notebook to copy.

Skipping the math

Libraries let you train models without understanding them, right up until something goes wrong. When the loss goes to NaN or stops falling, you need gradients, shapes and probability to work out why. You do not need a degree for this, as the guide on whether you need a math degree for ML explains, but you do need the working knowledge.

No production experience

This is often the widest gap between self-taught candidates and engineers who have held ML jobs. Employed engineers have deployed models, handled bad data and watched a model degrade. You can close part of this gap on your own by serving a model behind an API, logging its predictions and writing down what you would monitor. The ML system design lessons cover the decisions involved.

No signal for recruiters

Without a degree or an ML job title, your resume has to point at evidence. That means a GitHub profile with real projects, write-ups that explain your choices and ideally a few people who have seen your work. More on this below.

No feedback

Learning alone means nobody tells you your code is wrong or your project is unconvincing. Use automated tests, open-source code review, communities and mock interviews to get the feedback a team would otherwise give you.

What should you build to prove you can do the job?

Build a small number of projects that show different skills, rather than many similar ones.

  • Implement a model from scratch, such as logistic regression, a small neural network or attention, and test it against a library version, which proves you understand the internals. The autograd from scratch and language modeling from scratch study plans are built for this.
  • Reimplement a paper and write a short note on what matched the paper and what did not. The guide to ML papers to implement from scratch and the research paper tracks are good starting points.
  • Build an end-to-end project that someone else can use, with data in, a model trained and served behind an API, and a README that explains the trade-offs. The guided projects show the shape of one.

Our guide on how to build an ML portfolio goes into what reviewers look for, and the guide on how to explain an ML project in an interview covers presenting it.

Which courses and books are worth your time?

Every resource below is hands-on, widely used by self-taught engineers and either free or a one-off cost. Use one or two per stage rather than all of them.

Courses and books for each stage
ResourceStageWhy it is worth it
Machine Learning Specialization (Andrew Ng, DeepLearning.AI and Stanford)3A structured introduction to classical ML and neural networks
Hands-On Machine Learning with Scikit-Learn and PyTorch (Aurélien Géron, 2025)3 to 4Practical coverage from regression to transformers, in current tools
Mathematics for Machine Learning (Deisenroth, Faisal and Ong)2The math foundations, free from the authors
Practical Deep Learning for Coders (fast.ai)4A top-down, build-first route into deep learning
Neural Networks: Zero to Hero (Andrej Karpathy)4Builds neural networks from backpropagation up to a GPT, in code
Deep Learning (Goodfellow, Bengio and Courville)4The theory reference, free to read online
Designing Machine Learning Systems (Chip Huyen, 2022)6Production ML, from data to deployment and monitoring

Courses teach you to follow along, and practice teaches you to build. Pair each course with problems you solve without the video, such as the Cracking ML study plan for stage 3 and 4 material.

How do you get interviews without a degree or ML experience?

Cold applications are the weakest route for self-taught candidates, because resume screens look for credentials you do not have. These routes work better.

  • Referrals from someone who has seen your work can get your resume read, so build those relationships before you need them.
  • Open-source contributions to ML libraries you already use give you merged pull requests, which are public and reviewed proof.
  • A clear write-up of a project or a paper reimplementation is easy to share and shows how you think.
  • If you already work as a software engineer or data analyst, moving into ML inside your current company is often easier than getting hired into ML from outside.

Once interviews come, prepare for the format. Our ML engineer interview guide covers the rounds, and mock assessments let you rehearse them against a timer.

Self-taught, bootcamp or master's: which should you choose?

Self-taught, bootcamp and master's routes compared
RouteBest forTrade-off
Self-taughtDisciplined learners, especially those already working in software or dataCheapest, but you supply your own structure, feedback and credibility
BootcampPeople who need structure and a deadlineCosts money and is short, so check graduate outcomes directly rather than from marketing
Master's degreeCareer changers who need a credential, or anyone aiming at research-leaning rolesThe strongest signal, but the most expensive in time and money

None of them replaces building things. A master's graduate with no projects can still lose to a self-taught engineer with strong public work.

Practice this

For a full sequence, browse the study plans.

How long does it take to become an ML engineer self-taught?

It depends far more on your starting point than on the plan. A software engineer who already writes production code has a much shorter path than someone learning Python from zero. Measure progress by proof, such as projects shipped and models implemented, rather than months spent.

How much Python do you need before starting?

You need enough to write functions, use core data structures and read errors calmly, plus working NumPy. Our guide to how much Python you need for ML has a checklist and a self-test.

Is Kaggle enough to become an ML engineer?

Kaggle is good practice for modelling and evaluation, but it skips deployment, data collection and the internals of the models you use. See Kaggle vs implementing from scratch for how to combine the two.

Related guides

Keep reading