davideisinger.com

My personal website
Log | Files | Refs | README

davegriffith-substack-com-o74bc9.txt (25083B)


      1 [1]
      2 Dancing with Robots: A Software Architect's Journey
      3 
      4 [2]Dancing with Robots: A Software Architect's Journey
      5 
      6 SubscribeSign in
      7 
      8 Software Development in the Time of Strange New Angels
      9 
     10 [7]
     11 Dave Griffith's avatar
     12 [8]Dave Griffith
     13 Sep 01, 2025
     14 78
     15 11
     16 6
     17 Share
     18 
     19 Five months ago, my lifelong profession of software development changed
     20 completely. My profession was born in the 1940s, created to help fight demons.
     21 Our first encounter with the strange new angels of agentic AI is changing every
     22 aspect of it.
     23 
     24 Hardly anyone has noticed yet.
     25 
     26 The Profession Built on Scarcity
     27 
     28 The fundamental number that has defined software development is a simple one:
     29 $150/hour. $150/hour is a reasonable approximation of the cost of a
     30 professional senior software developer in the United States at this time. That
     31 number is large, and the reasons for it are many, but fundamentally it is a
     32 simple question of supply and demand. The return on software development is
     33 large, and the number of people with the skills and inclination to do it well
     34 is small. To make matters worse, the variance of those who followed this
     35 strange calling is large. A good developer can create much more value than $150
     36 /hour ([14]Google generates over $2 million per employee in revenue). A bad one
     37 can easily destroy that much value even faster (A developer at Knight Capital
     38 destroyed $440 million in 45 minutes with a deployment error and some bad
     39 configuration logic, [15]instantly bankrupting the firm by reusing a flag
     40 variable).
     41 
     42 Virtually every aspect of how software development is done has evolved around
     43 that $150/hour number. With developers being rare and expensive, every line of
     44 code has to justify a very high cost. Decisions around how software should be
     45 designed, built, and tested are made not with respect to how to make the
     46 software the best it can be, but rather to optimize around that grinding $150/
     47 hour number. Processes and tools are built to focus developer efforts as much
     48 as possible on the highest value problems, attempting to eliminate or offload
     49 extraneous work that might distract from producing working code. Hiring
     50 practices are optimized to attempt to manage and profit from developer
     51 variance. The entire venture capital ecosystem arose in response to the iron
     52 financial dictates of that $150/hour.
     53 
     54 Every morning that a software developer gets and cracks open their IDE, they
     55 have to justify $150/hour. That reality breaks a good few of them.
     56 
     57 So what happens when that brutal economics changes? Five months ago, it did,
     58 with the initial release of agentic AI for software development. While software
     59 developers have to do many more things at their jobs than coding, that $150/
     60 hour was justified purely by the fact that only software developers could
     61 create code. Worse they could only create it through essentially handcrafted
     62 processes that were only some constant factor better than scribing it into
     63 punch cards. As of five months ago, that justification became false.
     64 
     65 The Morning Everything Changed
     66 
     67 I've been interested in the possibility of automated software developers ever
     68 since GPT 3.5 came out. I even attempted to create an automated developer on my
     69 own, code-named Iron Wallace, with some success before deciding the underlying
     70 language models of 20 months ago just weren't up to the task. I played around
     71 with completion-based automation, sometimes derided as "fancy autocomplete",
     72 and had gotten some good results, more or less tripling my coding velocity.
     73 When a fully agentic coding platform was finally released, Anthropic's Claude
     74 Code, I jumped at it.
     75 
     76 At the time, I was working on a side project to keep myself amused while the
     77 company I worked for was undergoing an acquisition. The project was a pluggable
     78 and extensible tool for rendering software projects as knowledge graphs,
     79 hitting my comfort zones of language processing, static analysis, and semantic
     80 web technologies. It would eventually grow to become something called Project
     81 Sagrada, which I'll be talking about a lot in future installments. I had been
     82 coding with Claude for a couple of weeks at that point, and really felt like
     83 putting the hammer down. Claude and I had coded a Java parser, AST and related
     84 tooling in Scala, and it seemed to be working well. This was a reasonable
     85 one-week task for a junior developer, and with just a bit of prompting, Claude
     86 had accomplished it in a couple of hours. While there were certainly missteps
     87 along the way, there were no more hiccups than if I had coded it myself. The
     88 functionality was solid, and the tests seemed good. I wanted to go further. I
     89 wanted to see whether I could use Claude not just to produce code to spec, but
     90 instead to produce net-new code that surprised me.
     91 
     92 With that in mind, I prompted Claude "This is great, but our tests only found
     93 problems that we already thought of. Let's build a property-based testing
     94 suite. It should create Java classes at random using the entire range of
     95 available Java features. These random classes should be checked to see whether
     96 they produce valid parse trees, satisfying a variety of invariants. Code this
     97 up in a separate module, 'java-proptest', and implement it using the ScalaCheck
     98 property-based testing library".
     99 
    100 And that was the moment that Claude stopped being a tool, and started being a
    101 colleague.
    102 
    103 Claude rapidly coded the random Java class generator, including what appeared
    104 to be lovingly coded probability weights to ensure that the generated classes
    105 would be sizable and complex but not overwhelmingly enormous. I saw one misstep
    106 where it created a class with a million methods which caused the parser to
    107 stack-overflow, but it worked past that easily enough. Claude created tests for
    108 not just the parser, but for the analysis and rewriting framework used to
    109 examine and manipulate the AST. It created invariants to check the
    110 functionality all of these, including several invariants I hadn't thought of.
    111 It realized that it wanted to test that parsing a Java class, then
    112 prettyprinting it, and parsing the output of the prettyprinter resulted in the
    113 same AST as simply parsing. Unfortunately, we hadn't yet written a
    114 prettyprinter for turning Java ASTs back into Java, so it wrote one. It did all
    115 of this in about fifteen minutes, with me adding no more to the process than
    116 occasionally typing "Excellent! Keep going!"
    117 
    118 The resulting property-based tests eventually found dozens of issues with the
    119 Java tooling, exactly as I had hoped. This was similar to tasks that I had
    120 given to smart interns as a summer project (Hi, Ethan!), and Claude did them in
    121 fifteen minutes with grace, verve, and even a bit of poetry. In spite of the
    122 fact that Claude is made of math and I am made of meat, we are both engineers.
    123 This is a colleague.
    124 
    125 The World Just Shattered
    126 
    127 And that's how the iron rule of $150/hour was broken. Coding, the backbone and
    128 justification for the entire economic model of software development, went from
    129 something that could only be done slowly by an expensive few to something
    130 anyone could turn on like tap water. Code production went from $150/hour to
    131 $200/month, and for a while there was literally too cheap to meter. There were
    132 caveats, but none big enough to make the vision non-viable or limit its scope
    133 to toy projects.
    134 
    135 Old equation: Feature = (Developer Hours × $150) + Overhead
    136 
    137 New equation: Feature = (AI Seconds × ~$0) + Review Time
    138 
    139 Old bottleneck: Writing code
    140 
    141 New bottleneck: Knowing what to build
    142 
    143 How The Old Ways Actually Worked
    144 
    145 As an industry, we did manage to make the $150/hour constraint work, but it was
    146 in no way easy. It is worth thinking about just how we managed it. We
    147 instituted processes like Agile to make communications with software developers
    148 as lightweight and inexpensive as possible. We instituted code reviews so as to
    149 both check expensive human outputs and as a way of making junior software
    150 developers more quickly _worth_ their $150/hour. We created self-checking
    151 testing pyramids to optimize expensive human time spent writing, running, and
    152 analyzing tests. We built enormous monitoring and observability pipelines as a
    153 way to minimize expensive production debugging. We outsourced feverishly in an
    154 attempt to cut that $150/hour through dint of sheer geography. We open-sourced
    155 in order to attempt to arbitrage and de-risk core functionality that we
    156 couldn't afford to write ourselves.
    157 
    158 We did all of that, except that in the glare of that $150/hour constraint, we
    159 sometimes didn't.
    160 
    161   • We wrote clean code (thanks Uncle Bob) ... until we got behind on
    162     deadlines, and then we didn't.
    163 
    164   • We tested everything ... that we thought of.
    165 
    166   • We refactored regularly ... when it became so unbearable we had no choice.
    167 
    168   • We automated every bit of the build and deployment ... eventually.
    169 
    170 We knew how to write better software by writing more software, but writing more
    171 software cost $150/hour. Every test we didn't write, every edge case we
    172 ignored, every bit of documentation we skipped was debited against that
    173 grueling $150/hour. We even came up with a term for all of that: "technical
    174 debt".
    175 
    176 Now every bit of that needs to be rethought, simply because that $150/hour
    177 constraint no longer binds. If code production is cheap, just how cleanly can
    178 we code? Just how much testing and documentation can we profitably add if both
    179 cost next to nothing, and where do diminishing returns set in? How much of the
    180 efforts of us and our tireless angels should go to refactoring? To
    181 observability? To deployment automation? Just how do we structure our codebases
    182 so that we can not merely use agentic coding, but rather optimize for it? How
    183 do we structure our development organizations? Our companies?
    184 
    185 Not To Bury But To Praise
    186 
    187 You might be expecting that here is where I would start proclaiming the death
    188 of software development. That I would start on how the strange new angels of
    189 agentic AI are simply going to replace us wholesale in order to feast on that
    190 $150/hour, and that it's time to consider alternative careers. I'm not going to
    191 do that, because I absolutely don't believe it. Agentic AI means that anything
    192 you know to code can be coded very rapidly. Read that sentence carefully. If
    193 you know just what code needs to be created to solve an issue you want, the
    194 angels will grant you that code at the cost of a prompt or two. The trouble
    195 comes in that most people don't know what code needs to be created to solve
    196 their problem, for any but the most trivial problems. Who does know what code
    197 would be needed to solve complex problems? Currently that's only known by
    198 software developers, development managers and product managers, three job
    199 classifications that are going to be merging rapidly.
    200 
    201 The first thing everyone notices about agentic coding tools is that they
    202 provide enormous increases in raw coding velocity. The feeling is exhilarating.
    203 Agentic coding tools are seven-league boots. They are powered armor. They are
    204 mini-guns that shoot features.
    205 
    206 The first thing everyone realizes once they get over that thrill of coding like
    207 the wind is that raw coding velocity is simply not enough. If you don't know
    208 what to build and just why you wish to build it, all that blistering coding
    209 velocity buys you is the ability to create bad and useless code very quickly.
    210 When people say that code produced by AI is technical debt the moment that it
    211 is created, this is what they mean.
    212 
    213 Software Engineering as Moneyball
    214 
    215 So what _can_ you do with this enormous increase in coding velocity, if you
    216 can't just ask for useful solution and have it magically appear? This is not a
    217 new problem. Coding velocities have been improving for decades, as new tools,
    218 languages, and methodologies have been adopted. What we have learned to do with
    219 increased coding velocity is to trade it for things of more value.
    220 
    221   • You can trade coding velocity for code quality, but only if you know what
    222     high quality software actually looks like and know how to determine the
    223     quality of your software via testing.
    224 
    225   • You can trade coding velocity for architectural soundness, but only if you
    226     know how and when to refactor, and your codebase is set up such that you
    227     _can_ refactor it.
    228 
    229   • You can trade coding velocity for the agility to make changes very quickly,
    230     but only if your deployment practices and the larger organization are both
    231     set up to accept changes very quickly.
    232 
    233   • You can trade coding velocity for solved business problems, but only if you
    234     actually know what software to build and (more importantly) what software
    235     _not_ to build.
    236 
    237 The moment my career really took off was when I learned to make the trade
    238 between code velocity and code quality. I'm a pretty fast coder (much like
    239 Shohei Ohtani throws a pretty good fastball) but this was an enormous unlock.
    240 Trading velocity for quality involved learning more about software testing and
    241 static analysis than any of my fellow developers, and practicing it both
    242 ruthlessly and flamboyantly. My velocity went down a bit, but the win in
    243 quality, repeatability, and code suppleness made my career.
    244 
    245 If you can make all of those trades, you can use agentic coding tools to
    246 produce software not merely faster than before, but better. But to do so, you
    247 need to know quite a lot about building good software already. If you've been
    248 building software poorly, agentic coding tools are just going to help you do so
    249 faster.
    250 
    251 What This Means For Organizations
    252 
    253 The brutal truth: most organizations that write software can't make any of
    254 these trades. They lack the architectural maturity. They lack the testing
    255 infrastructure. They lack the deployment pipelines. Most critically, they lack
    256 the judgment to know just what is worth building. Drop agentic coding tools
    257 into an organization like that, and one of three things is going to happen:
    258 
    259   • They will launch a series of attempts to "integrate AI into our workflows",
    260     which will fail in various ways, from humorous to demoralizing to
    261     catastrophic.
    262 
    263   • They will produce a ton of technical debt which will corrupt their
    264     codebases and eventually need to be scrapped.
    265 
    266   • They will be out-competed by startups or skunk-works that are built on
    267     agentic coding natively and can run rings around them.
    268 
    269 The good news is that developing the skills and processes necessary to take
    270 advantage of the amazing new possibilities provided by agentic software
    271 development is quite feasible. It's mostly a matter of doing the stuff we
    272 always knew we should do but couldn't at $150/hour. The better news is that
    273 agentic AI can actually help with the transition. Agentic AI can show you where
    274 your software architecture needs to be improved, just what tests and quality
    275 gates need to be built, what documentation needs to be written, and just how to
    276 optimize your build and deployment pipelines for software that can be changed
    277 the instant requirements do.
    278 
    279 The bad news is simple: You're out of time. Unless you are willing to start
    280 making these changes today you're gonna lose this particular future.
    281 
    282 What This Means For Developers
    283 
    284 There's no way around this fact: for some developers, this revolution is not
    285 going to go well. Omelets are being made, which means that eggs will be broken.
    286 The all-in cost of software development in the US is something like a trillion
    287 dollars per year, approximately the GDP of Poland. When change comes on that
    288 scale, continents move. There's no way to reinvent an economy of that size
    289 without a lot of people losing some very cushy gigs. If you think of your job
    290 as turning specs into code, you're gonna have trouble. If you think of software
    291 architecture as something that is imposed from above your pay grade, your value
    292 is plummeting. If business value is something for your product manager to care
    293 about so you don't have to, you're going to struggle to justify your salary. If
    294 you're a developer focused on a single technology, you're about to discover you
    295 were never really a developer - you were a highly paid translator between
    296 requirements docs and React components.
    297 
    298 Those that succeed in making this transition are going to be those with
    299 higher-order skills and larger vision. Those who have really absorbed what it
    300 means to be engineers first and computer guys second. That means knowing what
    301 to build, and why. That means being able to understand the second- and
    302 third-order effects of their decisions. That means recognizing bad ideas early,
    303 and giving business recommendations backed by solid evidence.
    304 
    305 Those that succeed in making this transition are going to need to accept that
    306 they are businessmen just as much as they are engineers. They will need to know
    307 what problems their business exists to solve, and what customers actually need
    308 and expect from the business. They'll need to know when technical debt matters,
    309 when it doesn't, and what you can buy with it. They'll need to understand
    310 pretty much everything about what makes systems great, both the rules that
    311 should be followed and when those rules should be broken for good business
    312 reasons.
    313 
    314 Finally, those that succeed in making this transition still need to be
    315 craftsmen, albeit on a larger scale. For lack of a better word, they will need
    316 a refined sense of taste in software. They will need to know when simple beats
    317 clever. They will need to know how to say "no" to needless complexity and
    318 damaging shortcuts. They will need to know when to show restraint and when to
    319 show off.
    320 
    321 I love working with developers like that. If you're one of them, the angels
    322 aren't here to replace you. They're here to grant you wings.
    323 
    324 The New World
    325 
    326 The entirety of our industry was built on the brute fact of $150/hr. Only
    327 engineers could create code, there were too few of them, and they couldn't do
    328 it very quickly. This constraint shaped everything, and it's now ending. This
    329 raises the question: If code is no longer going to be the constraint, what will
    330 be? The skills of being able to prompt agentic AIs are not always obvious, but
    331 they are nowhere near as difficult as coding was. Will the skill constraint
    332 that next informs our industry become large-scale information architecture?
    333 Industrial design? Requirements management?
    334 
    335 Perhaps it will be none of these, and we will simply be able to build anything
    336 we want nearly instantly and for no more than pocket change. Then things get
    337 really interesting. Without the constraint of "how can we build this", we are
    338 left with the question of "what should we build". The irony then arises that
    339 most things probably shouldn't be built. The key bottleneck to our dreams
    340 becomes not money, or skill, or time, but rather wisdom. Here things pass
    341 beyond this humble prognosticator's ability to predict. I'm really looking
    342 forward to living through these changes and finding out what's on the other
    343 side.
    344 
    345 Why This Blog, Why Now
    346 
    347 People ask me what changes they should expect from this new AI stuff. I tell
    348 them that I don't know what the changes are going to be. Three years ago, I
    349 honestly expected my profession to be the _last_ one changed by AI, not the
    350 first. We're living through a technological moment that will have long term
    351 effects echoing throughout all of human endeavor. Most people don't even
    352 realize it's happening yet. Somebody needs to map the way.
    353 
    354 Why me? There are a thousand places you can find opinions on AI, and frankly
    355 most of them are stupid in a handful of easily stereotyped ways (fanboy,
    356 doomer, Ritalin-addled YouTube monetizer). What am I bringing to the table in
    357 this discussion? For a start, perspective. Age does not always bring wisdom,
    358 but it does show you that things change in ways you cannot always expect and
    359 that things you might think are new are often not. I've got more than
    360 thirty-five years of professional experience at this software development
    361 stuff. I always said that Dad brought home a borrowed Apple II for the summer
    362 when I was twelve years old and guaranteed I would never have to work an honest
    363 day in my life. I've lived through multiple revolutions in software, some big
    364 (web, SaaS, object orientation), some small (refactoring IDEs, dev-ops), and
    365 some that I hope to stay in the business long enough to find out if they pay
    366 off (semantic web). I'm building software with AI daily, and have a keen eye
    367 for what's working and what's not.
    368 
    369 As to what you'll find here, know that I'm passionately committed to the
    370 theory, practice, and business of software design and architecture, and I'm
    371 hoping to attract an audience that finds them as interesting as I do. I'm also
    372 utterly fascinated by the changes that agentic coding is making to my industry,
    373 and I'll be sharing my thoughts on this revolution here. I'll be providing
    374 practical survival guides as to how you and your organization should adapt to
    375 these changes (everyone has a career, and everyone needs help managing it).
    376 I'll be giving honest assessments and real examples about what's actually
    377 working with agentic coding platforms, and guides to picking your way through
    378 the inevitable storm of hype these changes bring.
    379 
    380 Most importantly, what I want to start here is a conversation. I'm hoping to
    381 find an audience that can think critically and with an open mind about just
    382 what's happening to my chosen profession. It's not just about technology. It's
    383 about economics. It's about people. It's about what comes next.
    384 
    385 The Call to Adventure
    386 
    387 Over the coming weeks, we'll explore what happens when the atoms of software
    388 development rearrange themselves into entirely new molecules.
    389 
    390 Some of you will find practical advice. Others will find existential comfort.
    391 All of you will find someone figuring it out alongside you.
    392 
    393 The angels are gathering. They're strange and powerful and they're changing
    394 everything.
    395 
    396 The question isn't whether to embrace them.
    397 
    398 The question is how quickly you can learn to fly.
    399 
    400 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    401 
    402 Thanks for reading Dancing with Robots: A Software Architect's Journal!
    403 Subscribe for free to receive new posts and support my work.
    404 
    405 [36][                    ]
    406 Subscribe
    407 78
    408 11
    409 6
    410 Share
    411 
    412 Discussion about this post
    413 
    414 CommentsRestacks
    415 User's avatar
    416 [                    ]
    417 [                    ]
    418 [                    ]
    419 [                    ]
    420 [45]
    421 Josh's avatar
    422 [46]Josh
    423 [47]Nov 13
    424 Liked by Dave Griffith
    425 
    426 Bravo, looking forward to following along for more. Really enjoy your writing
    427 style!
    428 
    429 Expand full comment
    430 Reply
    431 Share
    432 [50]
    433 Tom Berman's avatar
    434 [51]Tom Berman
    435 [52]Nov 13
    436 
    437 Really enjoyed the topic. I agree that it has completely changed the game.
    438 After years as a professional software developer, AI coding is radically
    439 different, I can do more, have more tests and cover more edge cases. I think of
    440 it as a sort of higher level abstraction, instead of thinking in terms of
    441 classes or functions more like full functionality.
    442 
    443 On a personal note, there is some discomfort when a model spits out hundreds of
    444 lines of code, and I go from slowly building a system which I fully understand
    445 to one with areas of increased sophistication / complexity, that is almost
    446 certainly better than I could write myself but struggle to understand.
    447 
    448 Expand full comment
    449 Reply
    450 Share
    451 [54]3 replies by Dave Griffith and others
    452 [55]9 more comments...
    453 TopLatestDiscussions
    454 
    455 No posts
    456 
    457 Ready for more?
    458 
    459 [70][                    ]
    460 Subscribe
    461 © 2025 The Unloginable
    462 [72]Privacy ∙ [73]Terms ∙ [74]Collection notice
    463 [75] Start your Substack[76]Get the app
    464 [77]Substack is the home for great culture
    465 
    466 This site requires JavaScript to run correctly. Please [78]turn on JavaScript
    467 or unblock scripts
    468 
    469 References:
    470 
    471 [1] https://davegriffith.substack.com/
    472 [2] https://davegriffith.substack.com/
    473 [7] https://substack.com/@davegriffith
    474 [8] https://substack.com/@davegriffith
    475 [14] https://csimarket.com/stocks/GOOG-Revenue-per-Employee.html
    476 [15] https://archive.nytimes.com/dealbook.nytimes.com/2012/08/02/knight-capital-says-trading-mishap-cost-it-440-million/
    477 [45] https://substack.com/profile/30699654-josh?utm_source=comment
    478 [46] https://substack.com/profile/30699654-josh?utm_source=substack-feed-item
    479 [47] https://davegriffith.substack.com/p/software-development-in-the-time/comment/176801025
    480 [50] https://substack.com/profile/5558652-tom-berman?utm_source=comment
    481 [51] https://substack.com/profile/5558652-tom-berman?utm_source=substack-feed-item
    482 [52] https://davegriffith.substack.com/p/software-development-in-the-time/comment/176735220
    483 [54] https://davegriffith.substack.com/p/software-development-in-the-time/comment/176735220
    484 [55] https://davegriffith.substack.com/p/software-development-in-the-time/comments
    485 [72] https://substack.com/privacy
    486 [73] https://substack.com/tos
    487 [74] https://substack.com/ccpa#personal-data-collected
    488 [75] https://substack.com/signup?utm_source=substack&utm_medium=web&utm_content=footer
    489 [76] https://substack.com/app/app-store-redirect?utm_campaign=app-marketing&utm_content=web-footer-button
    490 [77] https://substack.com/
    491 [78] https://enable-javascript.com/