8 ms·
Software development in the time of strange new angels
- aetherspawn 11mo agoAh.. you got me. Put (AI) in the title or something.
- datadrivenangel 11mo agoThe bit about Knight Capital implies that the software engineers were bad, which is notably untrue. "A bad [software engineer] can easily destroy that much value even faster (A developer at Knight Capital destroyed $440 million in 45 minutes with a deployment error and some bad configuration logic, instantly bankrupting the firm by reusing a flag variable). "
- hinkley 11mo agoThere were decidedly shitty engineering decisions behind that dumpster fire. The biggest being that the only safe way to recycle feature flag names is to put ample time separation between the last use of the previous meaning for the flag and the first application of the new use. They did not. If they had, they would have noticed that one server was not getting redeployed properly in the time gap between the two uses. They also did not do a full rollback. They rolled back the code but not the toggles, which ignited the fire. These are rookie mistakes. If you want to argue they are journeyman mistakes, I won’t fight you too much, but they absolutely demonstrate a lack of mastery of the problem domain. And when millions of dollars change hands per minute you’d better not be Faking it Til You Make It.
- datadrivenangel 11mo agoThe powerpeg feature flag had been deprecated for 9 years? In aggregate, yes, the engineering led to the disaster, but the specific engineers had been making everyone piles of money for a long time. The mistakes were fatal, but in a tiny amount of time on a system that old it's honestly surprising it didn't happen sooner. https://specbranch.com/posts/knight-capital/ https://specbranch.com/posts/knight-capital/
- hinkley 11mo agoDeprecated is not removed. I’m talking about airgapping EOL and resurrection of a feature flag code. The fact that they hordes old code for NINE YEARS evaporates most of the remaining sympathy I had for them. Witaf.
- charlieflowers 11mo agoBoth the article's examples there are bogus -- yet in both cases the underlying points are true. Google generates a lot of revenue per employee not because the employees are good (though many of them are of course), but because they own the front door to the web. And the Knight Capital story has many nuances left out by that summary. In both cases the author needed a hard hitting but terse example. But as I said, both the claims are true, so in the voice of the courtroom judge, "I'll allow it."
- hdivider 11mo agoHere's what I don't understand. Developers who get excited by agentic development put out posts like this. (I get excited too.) Other developers tend to point out objections in terms of maintainability, scalability, overly complicated solutions, and so on. All of which are valid. However, this part of AI evolves very quickly. So given these are known problems, why shouldn't we expect rapid improvements in agentic AI systems for software development, to the point where software developers who stick with the old paradigm will indeed be eroded in time? I'm genuinely curious because clearly the speed of advancement is significant.
- vages 11mo agoAnecdotally, I find early mover advantage to be overrated (ask anyone who bought Betamax or HD-DVD players). It is significantly cheaper – on average – to exploit what you already know and learn from the mistakes of other, earlier movers.
- bigiain 11mo ago> Other developers tend to point out objections in terms of maintainability, scalability, overly complicated solutions, and so on. All of which are valid. I've spent the bulk of my 30+ career in various in-house dev/management roles, and small to medium sizes digital agencies or IT consulting places. I that time I have worked on many hundreds of project, probably thousands. There are maybe a few dozen that were still in production use without major rewrites on the way for more than 5 years. I think for a huge amount of commercial projects, "maintainability" is something that developers are passional about, but that is of very little actual value to the client. Back in the day when I spent a lot of time on comp.lang.perl.misc, there was a well know piece of advice "alway throw away the first version". My career-long takeaway from that has been to always race to a production ready proof of concept quickly enough to get it in front of people - ideally the people who are then spending the money that generates the business profits. Then if it turns successful, re write it from scratch incorporating everything you've learned from the first version - do not be tempted to continually tweak the hastily written code. These days people call something very like that "finding product market fit", and a common startup plan is to prove a business model, and them sell or be acquired before you need to spend the time/money on that rewrite.
- deleted 11mo ago[deleted]
- datadrivenangel 11mo agoThis is a very insightful article: "You might be expecting that here is where I would start proclaiming the death of software development. That I would start on how the strange new angels of agentic AI are simply going to replace us wholesale in order to feast on that $150/hour, and that it's time to consider alternative careers. I'm not going to do that, because I absolutely don't believe it. Agentic AI means that anything you know to code can be coded very rapidly. Read that sentence carefully. If you know just what code needs to be created to solve an issue you want, the angels will grant you that code at the cost of a prompt or two. The trouble comes in that most people don't know what code needs to be created to solve their problem, for any but the most trivial problems. Who does know what code would be needed to solve complex problems? Currently that's only known by software developers, development managers and product managers, three job classifications that are going to be merging rapidly."
- amflare 11mo agoThis. AI is not replacing us, it is pulling the ladder up behind us.
- keybored 11mo agoI don’t understand why the software luminaries are coalescing around rapid-coding. Code generation was already a thing for forever. And deterministic code generation is as good as it possibly gets for “what I would have written but faster”—you know what it’s going to create. (Yes that was an EMDASH.) But code generation isn’t that much used, I think. I don’t count compilers or other black-box code generation. I mean any kind of ad hoc or more structured “what I would have written but faster” approach. Looking at the AI conversation you’d expect to see many more ad hoc code generation tools to deal with any and all boilerplate. The downsides of code generation are only amplified with LLM code generation. Oh it’s just what I would have written. Now on the fifteenth iteration/rewrite. Generated idiomatic code for twelve years ago. squints oh yeah I would have written that back then... gosh it feels good to be in this exclusive club.
- williamstein 11mo agoIf I hired a software developer a few years ago, I might expect them to do roughly what Claude Code does today on some task (?). If I hired a dev today I would expect much more from them than what Claude Code can currently do.
- chadcmulligan 11mo agoIsn't a big part of it knowing what to ask Claude Code - for example I wanted some code to brighten/darken my buttons on mouseover, I asked Claude to make some code to do that, it was a bit wrong, I fixed it. I integrated the code and tested it. Now I know how to do all this, because I've been doing it for years, I could have done it without Claude but it saved me a bit of time. Now there are a few things I see that affect this 1. The only way Claude knew how to do this is because there was a stack of existing code, but its probably in C, so you could regard Claude as an expert programming language translator. 2. There is no way that Claude could integrate this into my current code base 3. Claude can't create anything new 4. It's often very wrong, and the bigger/more complex the code is, the wronger it gets. So, what are the areas that Claude excels? it seems that CRUD web app/Web front end is the sweet spot? (not really sure about this - I don't do much web front end work). I write graphics Apps and Claude is handy for those things you'd have to look up and spend some time on, but thats about all. An example - I asked it to make me some fancy paint brush code (to draw in a painterly style), this is hard, the code that it made was pretty bad, it just used very basic brush styles, and when pressed it went into crazy land. So my point is - if something exists and its not too hard, Claude is great, if you want something large and complex, then Claude can be a good helper. I really don't see how it can replace a good dev, there are a lot of code monkeys around gluing web sites together that could be replaced but even then they are probably the same people who are vibe coding now. If you really want some fun ask them to draw a circuit diagram for a simple amplifier, it's almost painful watching them struggle.
- scuff3d 11mo agoThe core of the entire argument is that the $150/hour is based on a developers ability to physically write code, which is not true. Having something that can generate code reliabily (which these things can barely do even with an expert at the wheel) doesn't address any of the actual hard problems we deal with on a daily basis. Plus running AI tools is going to get much more expensive. The current prices aren't sustainable long term and they don't have any viable path to reducing costs. If anything the cost of operations for the big company are going to get worse. They're in the "get 'em hooked" stage of the drug deal.
- simonw 11mo agoCompletely agree on your first point: software development is so much more than writing code. LLMs are a threat to programmers for whom the job is 8 hours a day of writing code to detailed specifications provided by other people. I can't remember any point in my own career where I worked with people who got to do that. There's a great example of that in the linked post itself: > Let's build a property-based testing suite. It should create Java classes at random using the entire range of available Java features. These random classes should be checked to see whether they produce valid parse trees, satisfying a variety of invariants. Knowing what that means is worth $150/hour even if you don't type a single line of code to implement it yourself! And to be fair, the author makes that point themselves later on: > Agentic AI means that anything you know to code can be coded very rapidly. Read that sentence carefully. If you know just what code needs to be created to solve an issue you want, the angels will grant you that code at the cost of a prompt or two. The trouble comes in that most people don't know what code needs to be created to solve their problem, for any but the most trivial problems. On your second point: I wouldn't recommend betting against costs continuing to fall. The cost reduction trend has been reliable over the past three years. In 2022 the best available models was GPT-3 text-davinci-003 at $60/million input tokens. GPT-5 today is $1.25/million input tokens - 48x cheaper for a massively more capable model. ... and we already know it can be even cheaper. Kimi K2 came out two weeks ago benchmarking close to (possibly even above) GPT-5 and can be run at an even lower cost. I'm willing to bet there are still significantly more optimizations to be discovered, and prices will continue to drop - at least on a per-token basis. We're beginning to find more expensive ways to use the models though. Coding Agents like Claude Code and Codex CLI can churn through tokens.
- facundo_olano 11mo agoWilling to accept AI agents can replace programmers Not willing to accept ex-US devs can do a comparable job at half the price
- simonw 11mo agoIt took me a while to get into it, but this is really good. You need to make it past the anecdote about building a property-based testing suite with Claude Code though, the real meat is in the second half.
- hooverd 11mo agoI think they're useful tools but sooo many AI evangelists are just aggressively using them to slop up things.
- rzolin 11mo ago[dead]
- nateb2022 11mo ago> Coding, the backbone and justification for the entire economic model of software development, went from something that could only be done slowly by an expensive few to something anyone could turn on like tap water. The multitude of freely self taught programmers would suggest otherwise.
- conartist6 11mo agoAh, this one says the quiet part out loud: that OSS is on the chopping block
- deleted 11mo ago[deleted]
- dwohnitmok 11mo ago> You might be expecting that here is where I would start proclaiming the death of software development.... I'm not going to do that, because I absolutely don't believe it. Agentic AI means that anything you know [how] to code can be coded very rapidly. Read that sentence carefully. If you know just what code needs to be created to solve an issue you want, the angels will grant you that code at the cost of a prompt or two.... for some developers, this revolution is not going to go well. Omelets are being made, which means that eggs will be broken.... Those that succeed in making this transition are going to be those with higher-order skills and larger vision. Those who have really absorbed what it means to be engineers first and computer guys second.... Those that succeed in making this transition are going to need to accept that they are businessmen just as much as they are engineers. Honestly this just feels like a roundabout way of saying software development is dead (this leaves aside the validity of the point, just to point out a contradiction in the author's message where the author seems to be saying that software development is dead in substance even while denying that at the surface). Let me rewrite this entirely just using typists, which is a profession that has definitely been killed by technology. > You might be expecting that here is where I would start proclaiming the death of typists as an industry.... I'm not going to do that, because I absolutely don't believe it. Voice transcription and/or personal computers means that anything you know how to say can be transcribed very rapidly. Read that sentence carefully. If you know just what words needs to be transcribed to solve an issue you want, the angels will grant you that code at the cost of some computer hardware.... for some typists, this revolution is not going to go well. Omelets are being made, which means that eggs will be broken.... Those that succeed in making this transition are going to be those with higher-order skills and larger vision. Those who have really absorbed what it means to be writers first and typing guys second.... Those that succeed in making this transition are going to need to accept that they are businessmen just as much as they are typists. It still works, but only because of an extremely expansive definition of a "typist" that includes being an actual writer or businessman. If your definition of "software developer" includes "businessman" I think that's simply too broad a definition to be useful. What the author seems to be saying is that software development will simply become another skill of an all-around businessman via the help of AI rather than a specialized role. Which sure, sounds plausible, but definitely qualifies as the death of software development as a profession in my book, in the same way that personal computers have made transcribing one's words simply another skill of an all-around businessman rather than a specialized role. (Again leaving aside the question of whether that's going to actually happen. Just saying that the future world the author is talking about is pretty much one where software development is dead.)
- jhancock 11mo agoMaybe I'm doing it wrong. I've been using AI tools most days the past 2+ years. Occasionally I get good results. I spend heaps of time rewriting/reviewing. Vibe coding can work if both the programming techniques and problem domain are well understood by the LLM. For the work I do, this means front end stuff. Back end stuff is where the problem domain sits. I spend so much time explaining the problem domain to the LLM that its best I just write it all myself instead of cleaning up the piles of code the LLM will spit out. So no vibing on the back end...just crack open the AI assistant for debugging. I don't see companies replacing $150/hour programmers with AI. Not yet. I think what we are seeing is companies spending heaps of money/attention on AI to the point of not making hiring decisions on programmers. Just prior to the first dot com boom, companies were reinventing themselves with systems replacing those built in the 60s through 80s. These new systems were sophisticated and if done right, game changers. The dot com boom hit with very simple tech: click -> load next static page. This consumed all the attention. I think thats what we are experiencing now more so than a clear job replacement.
- tracerbulletx 11mo agoLLMs are cool and useful. The simpering prostration is gag worthy.
- cowhax 11mo agoNobody disputing the 150$ an hour claim? I do not see startups spending 430k a year on devs
- liampulles 11mo agoI think ultimately agents are a tool. They are a very powerful tool, but they require expertise to use effectively. It is encumbant on us as devs to use this tool and understand it. The invention of the chainsaw did not eliminate the lumberjack as a profession. Lumberjacks learned how to become more productive with this dangerous new tool.
- nabbed 11mo ago>Those that succeed in making this transition are going to need to accept that they are businessmen just as much as they are engineers. Assuming this essay is prophetic: I'm glad I am no longer a professional programmer. I never wanted to be a businessman (which brings up visions of suits and midday bourbons).
- aeuropean12 11mo agoYes, this does come across as a lengthy quasi-philosophical piece by a developer. Many words, simple truth: Software development does not need -only- human software developers trained in computer science anymore. Thanks.