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/