dons.dev

Why an AI software course?

I thought a lot about whether I really needed to create a course for professional software developers on how to best use AI tools. Because at first, I thought that most devs will just use a chat LLM to teach themselves. But in my experience with using it, I noticed that some of our defaults aren’t appropriate. And there’s actually quite a learning curve, a useful mindset, and a way to think about applying AI tools. I haven’t seen any other courses taking a similar approach. And so I felt like this would be a useful way to help others navigate these tools and their impact on software development.

a premise

  • LLMs are having a profound impact on how we build software
  • The change is as rapid as anything we’ve seen
  • No one really knows what’s coming
  • The ability to navigate this change is important
  • LLMs are also having an impact on how we learn
  • Our defaults are proving to not be our best choices

a pedagogy

  • Whether it’s a plugin helping with code comletion or a team of agents, higher quality context results in higher precion results
  • We need to build an intuition (or data-driven evidence) for how to best collaborate with AI assistants
  • AI assistants do their best work when given an example to work from
  • These example assets and documentation context serve both humans and assistants
  • We collaborate with assistants from the beginning to build these assets and use them while reflecting on the results
  • The trajectory builds assets and intuition throughout the length of the course by collaborating first with assistants, then providing them tools, to constructing teams of agents

a proposal

if you agree that LLMs are capable of removing a lot of friction/toil from certain tasks …

  • Removing a lot of friction frees up space and time
  • We can replace that space and time with something else
  • I recommend we focus it on flow, learning, and quality
  • There are possibly better workflows that include assistance