Indifference
659 words · 3 minute read

I was talking to a young man today in college who is in an engineering program, and he was bemoaning the addition of AI in school work and how the work that his peers are producing is largely "slop." Slop being the idea that we, as a society, seem to be accepting the erosion of quality work, because it is so much easier to just pass the bar by asking AI to do the task for us.

One of the striking elements is that this comment is coming from someone that is at least twenty years my junior, and this complaint feels like something I should be saying instead.

Get off my lawn! Shakes Fist

In my own work, with my own teammates it wasn't long ago that I would get all huffed up about the submission of sloppy work. But the sloppy work being submitted isn't really about the fact that AI created it, I'm bothered by it because my peer didn't think it worth the effort to review. This isn't a new problem, before AI it was teammates copy/pasting code from StackOverflow, before that it was blog posts or newsgroup posts.

In the end, no matter what the source of the work was, its the idea that the other person didn't take the care to craft a change. Which in the world of business and profit, might be ok. I fully recognize that I tend to build more durable software up front, that I spend more time crafting the response, and shaping the application that I work in. Sometimes this default is at odds with a business that just needs something to get done.

And this idea, that others may not be crafting as elegant of a solution is an evergreen problem. AI won't make it better or worse, its just another vector for humans to rely on to get work done, and ideally think about it as little as possible (in a good way). This idea of achieving throughput, while sacrificing what ever idea of quality I'm hung up on that day, will always be a thorny issue, I just hope that my peers see the value that I'm trying to bring, and that I can also find value in what they are bringing as well.

This craftsman like quality of software is something that I really enjoyed about my early years in Open Source Software. That the patch requests I would send in were held to an incredibly high standard. Sometimes it felt arbitrary, but in the end the maintainer was trying to retain some theme or design ethos. It was the holding of the standard that allowed us all to understand what was going on in the various modules of the program, even though we were rarely, or ever, in the same room.

Enough of this, let's get productive.

Steps that I'm trying to follow to make sure that I continue to bring the love and care to the teams that I work with, while using AI to its fullest.

  1. Ask the AI to help me distill some common skills that can be used to make sure features are created in a similar fashion.
  2. On bigger features, ask the AI to generate RESEARCH.md files about the feature that I'm working on (if it's called for) Inspired by: https://www.youtube.com/watch?v=rmvDxxNubIg, then have it use that RESEARCH.md to build out a PLAN.md , and then start the work.
  3. Don't be afraid to dump it all, and fix the PLAN.md and start over.

My name is Dru Sellers. I’m an engineering leader and architect that focuses on building and modernizing product systems in growing companies, with an emphasis on reliability, scalability, and strong engineering practices.

Content on this site is licensed under a Creative Commons Attribution 4.0 International License.