So you want to learn AI

August 24, 2025

Part 1 - AI engineering

A couple years back, I stumbled on Susan Rigetti's “So you want to learn Physics” blog post which outlined a well laid out sequence of resources for self studying physics to a master's level. For those who are interested, she has similar guides for mathematics and philosophy.

While I don't have an advanced graduate level education in Artificial Intelligence(yet), I've been voraciously reading textbooks and tinkering at home. Additionally, I am currently a software engineer building AI systems at my job. Having been asked by three separate software engineers who I previously worked with for resources, I figured I'd write this blog post.

Bear in mind this is a reflection of my experiences and only covers the baseline knowledge needed.

But before we get into specific resources, I do want to explain my framework, which might help those who want some tips on self-studying, feel free to skip it if you already have a system that works for you.

My framework

1. Having a map

Have a map of the journey you're about to embark on.

I think when approaching a new subject, domain, skill etc., you can easily become lost in various directions without having a map of the terrain. It is quite easy to dive deep into the first thing you hear about a new subject without even being aware of the big picture. While many people prefer videos, I personally prefer intro level textbooks as there is usually a lot of thought gone into giving the reader a wide overview of the subject. In addition, some intro level books occasionally dive deeper into select topics that the authors find more valuable for a new initiate to the field. Think of this book as your map to identify the various topics that you will eventually have to get additional resources and master.

The map:

  • AI engineering by Chip Huyen is one such book.

Counterpoint: Books are just a medium to communicate information, just like videos. While I prefer books, what is more important is the information you are digesting and the structure and order of that information. Books aren't better than videos and videos aren't better than books. Textbooks tend to be peer reviewed, but videos from experts are just as good(and are sometimes significantly better for communicating visual information with animations etc.)

2. Always apply your knowledge

Keep building at every stage

I think a great way to learn is to build things at various stages regardless of your depth of knowledge, experience and competence. As you gain more knowledge, you should attempt grander projects that will force you to be outside your comfort zone but is still realistic.

3. Eventually specialize, but not early on

This is similar to the T shape that various individuals describe as a way to structure your career, have broad knowledge in various areas and specialize in a particular domain. However, while the “T shape” is more succinct in conversation, I think visually it's better pictured as this:

      Level 0 You are here ^__^
      ------------------------
              Level 1
       ---------------------
         ----------------
          --------------
              Level 2
           ------------
            ----------
             --------
              ------
               ---
                -
              Expert

Picture a narrowing spiral staircase as you descend into a library, getting into the more arcane and specialized floors the lower you go. Before you go to the next level, you read every book on the floor which earns you the right to go deeper. As you go deeper, there're less librarians and less individuals reading. Eventually you get to the lowest level where there are no books, but a stack of blank paper, with a pen and a candle...waiting for you to write the next book as an expert.

The point is that you should aim for gradually becoming more specialized while also still increasing your knowledge in your “breadth areas” as you learn more. You will still end up with the "T" point at the end. But having much more breadth of knowledge, will lead to more breakthroughs in problem solving in my experience. (I think this is because, having breadth allows you to consider more angles to attack a problem while being specialized lets you be excellent at executing the approach that you have specialized in. Both are great, but not every problem needs the same approach. Being able to at least consider alternatives despite what you end up going with is probably key in all forms of strategic thinking, not just software/ai engineering. )

That being said, let's enter the staircase at Level 0.


Level 0

The map:

AI engineering by Chip Huyen

The two categories: AI(models) + engineering

[AI] Engineering

Models + Information retrieval. Your aim at level 0 should be for all approaches to consider: (N.B. some of the below considerations could be condensed but I felt that explicitly mentioning each is better)

  • When to use
  • How to use
  • Limits
  • Alternatives

Approaches:

  • Fine tuning
  • RAG
  • Prompt templates
  • etc.....

Resources I've personally used and recommend:

  • The Hundred-Page Language Models Book by Andriy Burkov (Is free to read on the author's website, but buying the physical book gives you $150 in Lambda credits for GPU training. Still valid at the time of this post, August 24, 2025)
  • Hugging face LLM course (Essentially an online textbook)
  • Google's Gen AI 5 day intensive course, partnered with Kaggle (Consists of lots of whitepapers)

Resources I've heard of but haven't used(yet):

  • Practical Deep Learning for Coders by Fast.AI
  • Microsoft AI for Beginners course on github

AI [Engineering]

Deployment + Model Inference + LLMops + Performance monitoring etc.

Resources I've personally used and recommend:

  • LLM Engineer's Handbook By Maxime Labonne and Paul Iusztin

By the end of level 0, you should have a decent idea of the field, the limitations of the technology at a high level and you've built some projects.(Some of which can already do some useful stuff)

Level 1 and beyond

Since I'm currently at this stage, I don't have much advice as I am still learning and growing my AI engineering skills.

I will however say that in addition to taking on grander projects, it is important at this stage to get even deeper knowledge of the fundamentals.

Deeper foundations: Sometimes, a specialized Machine Learning or deep learning model that you build will outperform a foundational multi-modal LLM. In this case you would need to have the knowledge of a traditional ML engineer and MLOps. Striving for this knowledge should be your goal regardless of the problems you are solving.


Addendum

Inevitably depending on when you read this, there will be better resources to learn the categories that I mentioned above. This gets truer the further out from the publication date of this post, August 24, 2025. There's even a chance that rather than using neural networks, we use knowledge graphs/lattices or some other form of AI that isn't probabilistic (or a combination of our current approaches with something else)

The point however, is to remain both vigilant for changes in the AI space, while also learning the fundamentals instead of just frameworks. Before Pytorch there was Tensorflow; before react + tailwind, there was jquery + bootstrap. People would call themselves jquery devs similar to how people would call themselves react devs. As a parallel, it would be interesting if a carpenter called himself a sandpaper kind of carpenter or a wood planer carpenter (both sandpaper and wood planes can shave down wood, however again, they have different use cases depending on the problem at hand) rather than just a carpenter who uses the right tool for the right job. The core math and deep learning architectures haven't changed that much, albeit with some enhancements like the specific architectures used (like going from RNNs to Transformer based) This knowledge is likely more sturdier and has a larger shelf life.

Counter point: Some frameworks/libraries have such good abstractions such as Pytorch and React with JSX, that it is worthwhile to really dive deep into understanding them.

So really you have to do both:

  • Have bedrock solid foundations
  • Learn how to use while understanding the limits of frameworks/libraries that have great abstractions

Not a trivial task to do both, but that's why you don't get paid trivial money to solve nontrivial problems for other people.


Disclaimer: None of this post was written by AI. Also I don't get any money for recommending any of the resources. (In fact, I didn't include links for most of these resources)