🦋 Following the Fun


TL;DR: I'm trying to put my experience from Microsoft to use, offering workshops and "non-BS" AI tips and tricks at a new venture and I could use your help (more below). No, I'm not turning this newsletter into an AI fest. Sign up over there if you want more AI stuff.


Your confidence takes quite a hit after getting laid off. Even if it's a "general reduction" and not performance based. Somehow that makes it worse (if you didn't know I was part of the 9000 souls let go in May/June).

The good news, for me, is that I spent the year and a half before the Big L focused on one of Microsoft's flagship efforts: exploring Copilot/AI patterns with VS Code. That was my job as an advocate: to help solve developers' problems using Copilot + VS Code.

It was fun.

The Problems

Probably the biggest problem we faced was the general attitude towards AI and "crap code". Hallucinations, bad patterns, security issues - all of these led to a general distrust.

Then there were the ethical issues of flexing someone else's work for your own. This problem has a lot of variants, of course, many of which have nothing to do with AI. Open Source, after all, is based on this idea! However you're also supposed to give back, which you can't really do with AI.

Then there are the other more "speculative" issues, including the erosion of core skills, blind trust in the tooling which leads you into a wall, and managers leaning on AI tools instead of people which leads to loss of jobs.

There are other issues, of course, but these are the notable ones that I see popping up routinely, and that I've heard from you after previous emails.

These are all valid opinions. AI does produce crappy code and it's built on other people's work, without a notion of giving back (unless you pay $20/mo to use other people's work in your project). Yes, it will erode skills because you're not using them, you're handing them off and yes, I'm a shining example of a "reduction in force" due to optimization of AI (I can't prove that, it's my opinion however).

But there is a middle ground here that I think we can explore.

Maybe Don't Generate Code

One thing that many developers don't realize is that you don't need to generate code with a given AI tool in order to get value from it. Or, put another way, you don't need to generate code that matters to your application.

Consider:

  • Boilerplate code you've written 100 times over (data access classes, for instance.
  • A build script.
  • A utility script that converts things, compiles things, or generates things for you.
  • Git commit message first pass.
  • Markdown documents for your project, including the README, Code of Conduct, Security, Contributing, Issue Templates and more.
  • A tutorial to get you up to speed on a given language, or prep for an interview.
  • Tests, but without any code or assertions.
  • Class outlines, without code, only comments that tell you what code goes where.

I've used AI tooling for all of these, and they're incredible timesavers.

For instance: I'm building out a number of workshops, and putting the wraps on my very first, an introductory one which I'm calling "AI Tools for Programmers with Deadlines" (with a nod to the Django framework for the inspiration on that title).

No, I don't use AI tools to generate the content (that's the fun part for me and what keeps me motivated. Just like writing this newsletter - all by hand, never generated).

The workshop is a series of Markdown files in a set of directories that look something like this:

As I mention: I love writing and creating things, but I loathe the publication process. Writing tools are great for writing, but when you need to turn that writing into something that people can read, it's very painful (and yes, thank you for the suggestion forming in your mind; I can almost guarantee you that I've tried it).

This is where AI shines. Notice the JS files I called out there? Those are compilers, all created by Claude Sonnet 4, that compile and output that markdown to HTML, a JavaScript manifest for use on a React app, a PDF, and a SQLite database. Each one took about 15 minutes to create.

If you want to see how I did it, I made a video you can watch (free sub required).

Here's the PDF output:

Claude used Puppet, a Node.js package, together with some slick styling and created a PDF that I simply could not get Word, Pages, Google Sheets, or any other program/app to format properly.

That is a massive timesaver.

Controlling the Chaos

The "AI for Programmers with Deadlines" workshop is for teams, mainly, and I'm building it as I have a few live workshops scheduled in the coming months (if you're interested in something like this reply!).

I've shown the workshop to a few friends, and have received some great feedback - but they all seem to have the same question:

How do you write a good prompt? That's what always stops me.

In fact, my good friend Dave asked a variation of this question just today:

My answer is always the same: small prompts, lots of instructions.

If you use Copilot, you need to get to know .github/copilot-instructions.md. If you're a Claude Code person, CLAUDE.md is your best friend. Gemini CLI? GEMINI.md is what you need.

Instructions set the context. This is where you tell the AI tool what you're doing, the name of the project, the stack, code styles, response tone (which mine usually is "stop being perky just get to the point"), and templates. Yes: templates.

You can tell your AI tools to "use this exact pattern" for just about any boilerplate code, and then have it blow your mind with nearly exact compliance.

For instance, here's an instruction for Jest tests with Node.js:

The comments act as "inline prompts", if you will, and LLMs are typically smart enough to understand the text replacement for outer blocks and test names.

Don't want the tool to write the test code? That's fine - just tell it in the instructions.

Doing all of this, your prompt now becomes:

Create tests for the `ShoppingCart` service.

I Could Use Your Help

I know many of you really don't want to read about AI any more and I hear you and see you. To that end, I've created a new site/newsletter over at TheNext.dev (I had to pick a domain and just went with it).

My goal is straightforward tips and thoughts without hype, noise and nonsense. This includes reviews, lots of videos, fun exploration of what's possible, and eventually workshops that you can give to your company. I'm also available for that too, if you like, both virtual and in-person.

So here's the request: I would love your thoughts and, as usual, you can hit reply. If this is interesting to you, I'll keep going. I would love to make more content there as exploring and sharing is what motivates me.

Thanks for reading,
Rob

🥷🏽 Notes From an Imposter Programmer

I taught myself to code in 1998 and within 7 years had a client list that included Google, Microsoft, Starbucks, Ameritech, KLA-Tencor, PayPal, and Visa. In 2014 I decided that I really needed to understand core Computer Science concepts, so I dove in, using the free resources from MIT and Stanford. In 2016 I shared what I learned with The Imposter's Handbook.

Read more from 🥷🏽 Notes From an Imposter Programmer

I have been working with Copilot non-stop since being laid off from Microsoft, and having a lot of fun doing it. In fact: I have a fun idea and I could use your help. I'll leave that until the end. The Problem In my last post (newsletter) I talked about what I was working on at Microsoft right before I left, and why it was so exciting: I was giving workshops to thousands of internal folks (mostly engineers) on how best to increase efficiency with AI which, in my case, meant Copilot. I had...

Full disclosure: I work at Microsoft but what you're about to read is 100% my personal opinion. Don't @ me with "dude from Microsoft claims..." please... I've been deep in a rewrite of the AI chapter in The Imposter's Roadmap, and I'm trying to discuss the role of AI in a senior programmer's life... and I noticed something interesting as the AI discussions heat up in our industry: we both fear and want to protect junior developers. What a weird straw man argument! Note: this article addresses...

I learned to play ice hockey when I was 11 and, as a kid from Southern California, it wasn't easy. I learned how to skate and how to play the game at the same time, all while going through a massive growth spurt. My sister once called me a "baby giraffe on a frozen lake". Nice. One of the hardest things to learn when it comes to skating is the "hockey turn", which looks something like this: Photo Credit: Tim Bates/OJHL Images This is hard. Very hard. If you master it, you can change direction...