Petunia has never actually read xUnit Test Patterns. The 1950 children's book Petunia by Roger Duvoisin tells the tale of a goose who finds a book in a meadow. She clutches the book under her wing and proudly struts around the farm for all the other animals to see how smart she is. Puffed up with false confidence, she doles out terrible advice which her fellow farm animals implement to their own…
Rigor should be proportional to risk. My regular readers might be shocked at the title of this post. If you've read my other posts, such as AI: Accelerated Incompetence or LLMs are not Bicycles for the Mind , you might expect that I would more readily miss my son's birthday than ship unreviewed LLM code. You would not be far from wrong: there are just a few narrow situations where I have. Today…
In my last post , I argued why you should still type code by hand. If you aren't writing code, you're programming in English (or German, Chinese, etc.) and asking an LLM to translate. Businesses love that idea because a lot more people speak English than write JavaScript and will work at overseas call center rates. Read on to learn why that won't work. The spec for an email address. A precise spec…
Do your eyes glaze over reading your own diffs? Do you feel like you're forgetting how to code? If so, I have a suggestion for you. That time I almost didn't learn to code A year ago, I wrote about the risks of overusing AI 1 : In software engineering, over-reliance on LLMs accelerates incompetence. LLMs can't replace human critical thinking. Let me tell you about a time long before LLMs when I…
A photo of a puzzle piece fitting into its place. Source 1 In my post AI: Accelerated Incompetence , my last sentence was: continue to invest in the same fundamental engineering skills that were deemed valuable in 2019 Modular thinking is one of those timeless engineering skills. Why do modules matter? I feel anxious when I see this message from Claude Code. At the heart of OOP, FP, SOLID, DDD,…
On March 26, 2024, a container ship collided with one of the piers of the Francis Scott Key Bridge in Maryland. Within 30 seconds, the entire bridge had collapsed into the Patapsco River, killing six people 1 . The collapsed Francis Scott Key Bridge I'm going to make a bold claim: the bridge didn't fail . That's right. Six people dead. $15M economic loss per day. The bridge didn't fail . After…
Computer people have an old tradition of calling computers machines: The ACM is the Association for Computing Machinery Alan Turing's paper "Computing Machinery and Intelligence" introduced the Turing test We all recognize phrases like "machine code", "machine learning", and "virtual machine". Edsger Dijkstra was an influential computer scientist and highly active in the ACM, but he took issue…
In 2016, Nike shook up the sport of road running with its elite Vaporfly 4% shoe. This shoe factually speeds up elite running times by 3-4% 1 , which translates to 4-5 minutes over a 2 hour 30 minute marathon, an impassable advantage. The Nike Vaporfly 4% Supershoes make you lose You might think that racing in these shoes would convey a career-defining advantage, but they actually do the opposite.…
There's more than one type of authority. Being the boss is just one. The red circle is smallest because it's the weakest. Key ideas There's more than one kind of authority Saying "no" without positional authority is a negotiation Relational authority is a valid negotiating position You earn relational authority when you make people feel understood To understand someone, you first have to cool…
AI has dramatically broadened who can create software. Why I care I almost became an engineer. From 2008, I spent three years pursuing a degree in computer engineering. I sat in engineering fundamentals and ethics courses with people who became engineers: mechanical, electrical, aerospace, nuclear, and others. We all planned to graduate, pass the FE exam, work a while, pass the PE exam, and become…
Venn diagrams showing that AI lets more people make software Everyone Can Make Apps Now, sort of All over the world, people who haven't written a line of code in their life are using chat bots and coding agents to code up their dream product or app. Venture capitalists, MBAs, project managers, visual designers, auto mechanics, and even elementary schoolers are now able to obtain working…
A greenway and a sign that says "No Motor Vehicles". Source 1 In 1980, Steve Jobs spoke, What a computer is to me is it's the most remarkable tool that we've ever come up with, and it's the equivalent of a bicycle for our minds. I don't think that LLMs are like bicycles for the mind. They are more like E-bikes. Greenways and E-bikes A few nights ago, I was walking with my wife on the greenway.…
Workers clean up LLM slop. Source: US Coast Guard 1 The job outlook is not so bad In 2010, after the BP's oil rig Deepwater Horizons dumped 3 billion barrels of oil into the Gulf of Mexico 2 , at least $20B of BP's purse was redistributed to a massive mobilization of cleanup efforts. By 2014, this had resulted in a net increase in employment and wages in Louisiana, contrary to predictions of…
Books I am reading to uplevel my people skills In my last post, AI: Accelerated Incompetence 1 , I claimed that LLMs can't replace human software developers, but I also wrote "there are certainly things you can do to further differentiate yourself from an LLM". In this post, I want to elaborate on the things I am doing to keep myself indispensable in the LLM age. Chronologically, my focused…
The text in this essay was written without any use of AI. A speculative inverse correlation between LLM dependence and IQ By now much ink has dried on the wave of AI and LLMs which crashed upon the public consciousness in late 2022. As an experienced software engineer, I'd like to speak to two troubling engineering perspectives I've observed on LLMs. "LLMs are my friend" I don't think anyone…
Tech Risks mapped onto Business Metrics Introduction 5 months ago, Reddit user Agent_Aftermath posted in /r/AskProgramming : Why are so many companies so ambivalent or uncommitted to addressing tech-debt? I think most engineers can empathize with this problem. We've all worked in codebases or infrastructures that smelled worse than a dirty diaper while our organization seemed unmoved or even…
Space Shuttle Challenger, 1986. What is Tech Debt? Tech debt is a metaphor coined in 1992 by Ward Cunningham 1 . In software engineering and adjacent disciplines like DevOps, it relates shortcuts on quality to financial debt. We all know how financial debt works: you pay to use someone else's money. The amount you pay is proportional to the amount you borrow, how long you borrow it, and the…
Programming computers is hard because, as Hal put it , it isn't about programming, and it isn't about computers. A wizard conjuring a computer program. Generated by Dall-E Even the most mundane of programming issues are rooted in profound questions: "Why are my dependencies broken?" => "What is causality?" [ 1 ] "Should I check for null?" => "When can we know a program is correct? Design time,…
In the alum chat for Mirdin , someone posted the following question, "Would it be better to start teaching beginners functional or imperative programming first?" Pretending for a second that FP and IP are the only choices (they're not ), an answer depends on where your beginner comes from. A meta-pedagogical (teaching about teaching) answer acknowledges that learning starts in a place the learner…
I'm always in search of good metaphors for software design. Good or not, here's one: A Design is a Mold for Code In manufacturing, a mold is a hollow shape that fills with fluid material which expands into the space and sets to form a casting. Image: A useful mold. Generated by Dall-E Like in manufacturing, code fills the negative space of a software design. Over time, code sets and becomes harder…