9,808 karma · joined May 11, 2018
In my codebase it is difficult to get agreement on comments and documentation so rather than rely on it I adapted. One of the first things I did when I succumbed to agentic development was to point codex at the code and ask it to generate a high level description of where important files, such as our public API, reside, what the hierarchy is, what the code does, etc. In my case, this level of documentation is fairly static if I avoid implementation details. So now I have a handful of agent files in my tree and it seems to save quite a few tokens and improve my results. I frequently have other devs ask me how I get such good results when doing agentic reviews of their changes(always my first step now before I start my human review). I also include instructions in the agents files instructing the agent to maintain the agent files if any relevant changes are made. It seems to work quite well for me.
As Bruce Schneier recently discussed, law and tax law are code, just like source code. LLMs are great at finding holes in them. Illicit organizations looking to launder funds are most certainly interested in what AI can do for them.
Secondly, are you contending that progress in model efficiency and hardware just stops at whatever level you think is sufficient to prevent individuals or organizations from acquiring sufficient resources to run advanced models?
How long does it take to ramp up capacity?
While I think SWEs(yeah, not HW/chip but that's not my field) are cooked in 5 years, I think we'll be quite busy in the meantime fixing all the bugs that AI finds.
Software engineering is possible but largely a myth in practice.
In the case of what I'm currently working on, filing bugs for every issue I found, and then factoring out each fix, and then running each change through the 8 hour ci/cd system, and hoping an unrelated issue doesn't get misattributed to me... No, I'd rather just wrap it up into one coherent refactoring change and be done with it because when I'm done there are several more like it waiting for my attention.
The funny thing is that the AI adopters are in the middle of the bell curve. Our worst devs continue to perform worse than AI yet refuse to use it and our best devs continue to insist AI sucks despite it finding issues in their code and the reviews and designs they've approved.
That said, I don't buy this article. I'm AI neutral. It's going to break a lot of things and fix many others. Good for you if you think you know what the net outcome will be but I think it's delusional to believe you do. Also I don't think you can resign and stop it without ceding the world to bad people. Pandora's box has already been opened. We've discovered a new thing math can do and now it's yet another arms race between various factions seeking to exploit it. Help the faction you want to win. It's not the world I want it to be, but it is what it is.
I'm an old systems programmer (embedded, c/c++, linux, etc) with an EE background (but not one of them if you know what I mean. I enjoyed software and appreciate the art). But early on I came to believe software engineering at a workplace is not your personal art project. If you want that, great, go write code on your own time(as many of us do!). But on the job I often get annoyed by folks who don't want to do the obviously correct thing, or want to fight against good refactoring or design feedback (usually not from me.. I'm like a 'B' tier programmer and in awe of the 'A' level I work with). People treat software as an art and while you want to be artful in execution, if you are a paid artist, it is a commission work. Honor the requirements of the company (business needs) and not just your personal feelings and desire to only make art.
Me: "Holy cow, LLMs are getting good. You should take another look at how good recent tools are because without them we're going to get left behind."
Them: "But I like writing code!"
Which is cool, but completely irrelevant in the context of a career. Write all the software you want. Paint all the pictures you want. Carve wood. Build a boat. Great! But in 3 years absolutely no one is going to pay you $500k+/year to do any of that and if you can't get your head around it you're going to have a bad time.
Idk folks, maybe it's because I actually don't like writing software as much as I thought I did. I'm realizing I actually like making products and creatively solving problems, and software is a mildly enjoyable means to and end for that. I also like many aspects of the job of programming (money, sitting on my ass, dictating much of my workday, feeling like a boss, also money, etc). I was lucky to be alive in a time when that role was in demand but I can now see that is coming to an end for at least 80% of us. Yes, probably you, and probably me.
Now is the time a lot of us should be contemplating our next move in life. Not easy given we're about to enter a period of utter economic chaos that makes the industrial revolution look tame. I'm saving money, building other skills and renewing my social connections.
None of this is a value judgement on AI. I'm not saying it's good or bad. It's probably both. I'm not making this statement based on anticipated future gains of AI. LLM advances could stall, token prices could quadruple. None of that changes the economics and the already existing technology that is sufficient to effectively end the role of a software engineer.
Something about making a lot of money and living in a world of abstractions really seems to fuel our sense of overconfidence in our abilities in other areas.