Anderycks.Net by Deryck Hodge logo

AI Tools and the Craft of Coding

I found this post The Programmer Identity Crisis on Mastodon via a boost by David Beazley of Andrii Mishkovskyi’s post. I agree with Andrii, this really is a beautifully written piece, but I do, however, think I have something to add.

So let me try.

Here’s the crux of the programmer identity crisis, according to its author Simon Højberg:

The ghosts of ancient Hackers past still roam the machines and—through the culture they established—our minds. Their legacy of the forging of craft lingers. A deep and kinetic craft we’ve extended and built a passionate industry on.

I find craft arguments compelling. I am a craft-focused coder first and foremost. By craft, I mostly just mean care and attention to detail, a love for the language and style of a program. Programming for the sake of other programmers, not just for the computer executing the code.

It’s this craft that Simon feels is in jeopardy with AI-assisted coding. About LLM coding, he writes:

It reeks of a devaluation of craft, skill, and labor. A new identity where our unique set of abstract thinking skills isn’t really required; moving us into a realm already occupied by product managers and designers.

The thing I want to talk about is the difference in craft and its alternative, what I’ll call the just-ship-it coder. I’ve jokingly referred to this as the coder who goes, “Did it work? Great, ship it!” It’s a low bar, and maybe you get a sense of my feelings about the pure just-ship-it coder.

Now realistically, a pure craft coder or a pure ship-it coder don’t exist. We’re all somewhere along that spectrum. I love craft, but I’m pragmatic. I work with folks who are more inclined to ship than worry about craft, but even they don’t want to produce slop no one can maintain. I do, however, think there’s a pretty sharp divide between craft and ship-it coders in the circles I work in.

My open source colleagues care deeply about craft. My professional colleagues care deeply about shipping code. I find adoption of AI-assisted tools much higher in my work colleagues than in my open source colleagues. I think there’s a corollary here to this idea that Simon writes about, that AI tools are going to ruin the craft of what we do.

I’m not sure it is. I think you could be a craft-loving coder and still use an AI assistant. See Mitchell Hashimoto’s post on Vibing a Non-Trivial Ghostty Feature. You can read his process there and see plenty of care and craft involved. As I said, I consider myself a craft coder, and I find it fun to use AI tools in my coding. I totally agree that there’s a risk that we don’t focus enough on craft with these tools, but that risk exists even without using AI. The trick for us who care about craft is to keep arguing for it, regardless of any specific tooling we use.

Everything is either a tech company or a media company, or now, a bank

I've been say something to the effect of this for awhile now – every business is ultimately either a tech business or a media business, and the really great ones have figured out how to be both.

Let me make this concrete with an example. My oldest daughter is a hair stylist. She spends as much time posting videos and content on social media as she does doing hair. Is she a hair stylist or a tech-based media brand? Really, she's both. She needs tech and media to attract clients and for her business to be successful.

So imagine my intrigue when I saw this article (via Kottke): Everything Is Becoming a Bank.

Customers have essentially placed their money in a savings account that accrues no interest, while giving these conglomerates an interest-free loan to use at the company’s discretion.

This article, clearly, doesn't see this as a positive thing, the way I see businesses becoming tech and media businesses as a good thing. And for sure, this is about consumer behavior that certain companies are exploiting. It's just the "everything" in the article title is a little misleading to me. I'm not sure that's true in the same way my "everything is a tech and media business" comment can be. I guess "A Few Big Corporation Are Trying to Be Banks" just doesn't have the same ring.

Wrestling with the big questions of tech and content distribution

I haven't gotten to the reveal of the Hidden Reason Digital Comics Never Took Off in the latest episode of the Comic Industry Insiders podcast, but I'm already intrigued. I'm only 15-20 minutes into an hour and half plus episode, and they're already discussing the big questions. I'm linking to the episode for this reason: if you're thinking about the same sort of questions, questions of how digital content fits in with a traditional industry, you might find this episode really interesting.

I'm a comics fan, and I've been curious about what the Sweet team are doing with their new Sweet Shop digital comic store. I'm doubly curious because it seems like they're wrestling with what I think are the right questions – What makes a digital comics shop distinct from brick and mortar shops? Why do we need something new instead of just using Kindle? Why is it so hard for an online comics app to succeed?

While these are all comic industry question, the same sort of questions apply to almost any industry today that deals in content. At some point, your content business is going to have a traditional component and a new component. How do those compliment each other? How do they differentiate? How does technology enable that? How does technology get in the way?

We all need to be wrestling with these kinds of questions more, while also building out something new. I love hearing the thought process of anyone who is doing the same.

Testing (and craft) FTW!

I feel this so much from Ned Batchelder's post Testing is better than DSA:

In a job search, testing experience will stand out more than DSA depth. It shows you’ve thought about what it takes to write high-quality software instead of just academic exercises.

I frequently ask questions about testing when I do interviews for this very reason. It tells me a lot about how a candidate thinks about code. I find there's also a high corollary between test and craft. Put another way, people who care about testing often care about the craft of coding.

We need more of both in today's professional software engineers.

Dragon Con 2025

It's the Wednesday before Dragon Con. I woke up this morning humming "it's the most wonderful time of the year." That's right, it's nerd Christmas. Dragon Con 2025 is upon us.

I'm trying to maintain a less busy schedule this year. I have a couple panels in mind, but I'm trying not to overload myself with planned activities. My goals are to be immersed in comics and comic culture and to play Marvel Multiverse RPG with some new people. I've joined a Sunday session of the game at Dragon Con, but I'm hoping to find some one-off casual sessions, too. I'll report back on how that goes.

I'm also going without cosplaying this year. The days will be filled with comic t-shirts and shorts for comfort. For the nights, I'm going with superhero-inspired everyday where. There's a theme appearing here. Just go, no pressure, and have fun.

To all who celebrate, happy Dragon Con!

20 years of Django and me

I saw that it's Django's 20 year birthday today (via Simon Willison). Wow, that's hard to believe, but also, I know it all too well. My own career parallels Django's history.

Back in 2005, I was about a year into my first real professional career. I was what we called at the time a "webmaster." I ran the web site for the library systems of Auburn University. I had been programming in Python for a little over a year and had fallen in love with the language. Then I found Django as it was open sourced. It so immediately matched my mental model of programming for the web in Python that I started using it everywhere I could - small sites at the library and my own personal sites.

That work lead me to a deeper connection in the Python and Django communities, which lead me to meet Rob Curley, which lead me to the Washington Post, which ultimately really started my love of working in the publishing and media industries. Now here I am 20 years later, still doing web development, still loving Python, and still working in media, entertainment, and publishing. I don't use Django as much anymore, as my work these days is focused more on AWS and infrastructure, but it's influence on me cannot be overstated.

Cheers, Django! Here's to 20 years more. Carry on!

On AI and Creativity

The kind of art I like is based in technology. Film is told through a camera lens. Music is made via recording equipment. Even when drawn on paper, which is increasingly rare, comics are the product of digital lettering and coloring techniques. Never mind that the whole of the publishing and media industries are run on Word docs and Zoom calls.

You could probably even argue all art is based in the technology of its day. The printing press made possible the modern publishing industry and put a bunch of hand-writing monks out of business. Change is never fun, especially if you’re the monk, but it almost always leads to new and interesting art.

This is why I'm fascinated by AI, or more accurately generative AI and the LLMs that power it. I want to see what kinds of art it can help create. It's why I'm playing around with creating my comic Hartwell with these tools.

I would encourage other artists and creatives to do the same. Don't stick your head in the sand. Figure out how to use these tools. Figure out what kind of art is possible. That's what I'm trying to do.

Jonathan Hickman Makes Watches

I've been catching up on older episodes of Off Panel with David Harper, and today, I came across this amazing quote from Jonathan Hickman when describing his entry into the comics industry and developing his own writing style:

It was very obvious that there was a giant hole in the "this is a guy who makes watches" versus "this is a guy who does internal monologue and self-examination and character-centric stories.”

I love the idea of a "guy who makes watches." Like many things with Hickman, I totally get what he means but have never heard it described like that.

0:00
/0:29

Full clip of this quote from Jonathan Hickman, in context

ComicBook.com on Tom King's Batman (and what's next)

I'll claim it. I was a fan of Tom King's run on Batman from 2016-2019. I ran a comic shop during that time, so in some ways, this is my Batman. So this piece from ComicBook.com caught my eye: Tom King’s Batman Run Was DC’s First Truly Mature Take on the Character (& That’s Why It’s Controversial).

I guess I didn't realize it was a controversial run.

King wanted to deconstruct the Caped Crusader and have him deal with his emotions (or lack thereof) in every story and that has continued to this day, well after King’s run. King famously uses comics to break down his own thoughts about grief and the emotions that come with it at all stages and it’s a tactic has given readers the first truly mature take on Batman. It’s why it’s so controversial.

The piece goes on to connect this to Batman finding peace (or not) and how that worked with his relationship with Catwoman. I was all-in on the on-again, off-again, what-even-is-going-on-here relationship with Catwoman during that run. A real highlight you should read if you haven't.

Anyway, then the article ends with this banger, which I did not know:

When Matt Fraction takes over in September with a new #1, it will be interesting to see how Batman evolves next

Matt Fraction is writing Batman next?! How did I not know this. Sign me up.

Anderycks.Net by Deryck Hodge

Connect with me