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