Yet you are working on your own replacement, while your colleagues are taking the prudent approach.
Here’s the deal: if you won’t write your replacement, a competitor will do it and outprice your employer. Either way you’re out of a job. May be more prudent to adapt to the new tools and master them rather than be left behind?
Do you want to be a jobless weaver, or an engineer building mechanical looms for a higher pay than the weaver got?
I want to be neither. I either want to continue being a software engineer who doesn't need a tricycle for the mind, or move to law or medicine; two professions that have successfully defended themselves against extreme versions of the kind of anxiety, obedience and self hate that is so prevalent among software engineers.
Nobody is preventing people writing in Assembly, even though we have more advanced language.
You could even go back to punch cards if you want to. Literally nobody forcing you to not use it for your own fun.
But LLMs are a multiplier in many mundane tasks (I'd say about 80+% of software development for businesses), so not using them is like fighting against using a computer because you like writing by hand.
That grass is not #00FF00 there. Cory's recent essay on uber for nurses (doctors are next) and law is only second to coding on tbe AI disruptors radar plus both law and medicine have unfriendly hours for the most part.
Happy to hate myself but earn OK money for OK hours.
Funnily enough, I had a 3 or 4 hour chat with some co workers yesterday about an LLM related project and my feeling about LLM's is that it's actually opening up a lot of fun and interesting software engineering challenges if you want to figure out how to automate the usage of LLM's.
I think it's the wrong analogy. The prompt engineer who uses the AI to make code maps to the poorly-paid, low-skill power loom machine tender. The "engineer" is the person who created the model. But it's also not totally clear to me that we'll need humans for that either, in the near future.
Still, the loom tending engineer got paid better than the weaver. Well, my prejudice says he did, don’t actually have the historical facts.
Not all engineering is creating models though, sometimes there are simpler problems to solve.
I would absolutely love to write my own placement. When I can have AI do my job while I go to the beach you better believe I will be at the beach.
If AI can do your job, you don't have a job.
Compiler is the more apt analogy to a mechanical loom.
An LLM is more like outsourcing to a consultancy. Results may vary.
> Either way you’re out of a job.
Tools and systems which increase productivity famously always put everyone out of a job, which is why after a couple centuries of industrial revolution we're all unemployed.
This is kind of my point; people tend to not be silly enough to stay unemployed and starve. Instead when push comes to shove, sensible folks will adapt to the circumstances.
Ahh, the “don’t disturb the status quo” argument. See, we are all working on our replacement, newer versions, products, services and knowledge always make the older obsolete. It is wise to work on your replacement, and even wiser to be in charge of and operate the replacement.
No, nothing fundamentally new is created. Programmers have always been obsessed with "new" tooling and processes to distract from that fact.
"AI" is the latest iteration of snake oil that is foisted upon us by management. The problem is not "AI" per se, but the amount of of friction and productivity loss that comes with it.
Most of the productivity loss comes from being forced to engage with it and push back against that nonsense. One has to learn the hype language, debunk it, etc.
Why do you think IT has gotten better? Amazon had a better and faster website with far better search and products 20 years ago. No amount of "AI" will fix that.
Maybe I would be useful to zoom out a bit. We're in a time of technological change, and change its gonna. Maybe it isn't your job that will change, maybe it is? Maybe it's not even about you or what you do. More likely it's the processes that will change around you. Maybe it's not change for better or worse. Maybe it's just change. But it's gonna change.
> It is wise to work on your replacement...
Depends on the context. You have to keep in mind: it is not a goal of our society or economic system to provide you with a stable, rewarding job. In fact, the incentives are to take that away from you ASAP.
Before software engineers go celebrate this tech, they need realize they're going to end up like rust-belt factory workers the day after the plant closed. They're not special, and society won't be any kinder to them.
> ...and even wiser to be in charge of and operate the replacement.
You'll likely only get to do that if your boss doesn't know about it.
Speak for your own society, then. It should absolutely be our shared goal to keep as many people in stable, rewarding employment; if not for compassion, then at least pure egoism—it’s a lot more interesting to be surrounded by happy, educated people than an angry, poor mob.
Don’t let cynics rule your country. Go vote. There’s no rule that things have to stay awful.
Sure, but maybe we should do this before we make our own replacements. They aren't going to do it for us after the fact
> You have to keep in mind: it is not a goal of our society or economic system to provide you with a stable, rewarding job. In fact, the incentives are to take that away from you ASAP.
We seem to agree as this is more or less exactly the my point. Striving to keep the status quo is a futile path. Eventually things change. Be ready. The best advice I've ever got work (and maybe even life) wise is to always have alternatives. If you don't have alternatives, you literally have no choice.
> We seem to agree as this is more or less exactly the my point. Striving to keep the status quo is a futile path. Eventually things change. Be ready. The best advice I've ever got work (and maybe even life) wise is to always have alternatives. If you don't have alternatives, you literally have no choice.
Those alternatives are going to be worse for you, because if they weren't, why didn't you switch already? And if a flood of your peers are pursing alternatives at the same time, you'll probably experience an even poorer outcome than you expected (e.g. everyone getting laid off and trying to make ends meet driving for Uber at the same time). Then, AI is really properly understood as a "fuck the white-collar middle-class" tech, and it's probably going to fuck up your backup plans at about the same time as it fucks up your status quo.
You're also describing a highly individualistic strategy, for someone acting on his own. At this point, the correct strategy is probably collective action, which can at least delay and control the change to something more manageable. But software engineers have been too "special snowflake" about themselves to have laid the groundwork for that, and are acutely vulnerable.
Alternatives need not be better or worse. Just different. Alternatives need not be doing the same thing somewhere else, it might be seeking out something else to do where you are. It might be selling all your stuff and live on an island in the sun for all I know.
I do concur it is an individualistic strategy, and as you mentioned unionization might have helped. But, then again it might not. Developers are partially unionized where I live, and I'm not so sure it's going to help. It might absorb some of the impact. Let's see in a couple of years.
> Alternatives need not be better or worse. Just different. Alternatives need [not] be doing the same thing somewhere else, it might be seeking out something else to do where you are.
People have families to feed and lifestyles to maintain, anything that's not equivalent will introduce hardship. And "different" most likely means worse, when it comes to compensation. Even a successful career change usually means restarting at the bottom of the ladder.
And what's that "something else," exactly? You need to consider that may be disrupted at the same time you're planning on seeking it, or fierce competition from your peers makes it unobtainable to you.
Assuming there are alternatives waiting for you when you'll need them is its own kind of complacency.
> It might be selling all your stuff and live on an island in the sun for all I know.
Yeah, people with the "fuck-you" money to do that will probably be fine. Most people don't have that, though.
Being ahead of the curve is a recipe for not being left behind. There is no better time for action than now. And regarding the competition from peers, the key is likely differentiation. As it always has been.
Hardship or not, restarting from the bottom of the ladder or not, betting on status quo is a loosing game at the moment. Software development is being disrupted, I would expect developers to produce 2-4x more now than two years ago. However, that is the pure dev work. The architecture, engineering, requirements, specification etc parts will likely see another trajectory. Much due to the raise of automation in dev and other parts of the company. The flip side is that the raise of non-dev automation is coming, with the possibility of automating other tasks, in turn making engineers (maybe not devs though) vital to the companies process change.
Another, semi related, thought is that software development has automated away millions of jobs and it’s just developers time to be on the other end of the stick.
Carteling doesn't work bottom-up. When changes begin (like this one with AI), one of the things an individual can do is to change course as fast as they can. There are other strategies as well, not evolving is also one, but some strategies yield better results than others. Not keeping up just worsens the chances, I have found.
It does when it is called unionizing, however for some reason software developers have a mental block towards the concept.
I would be much more in favor of them as a software developer if I felt the qualifications of other software developers were reliable. But they never have been, and today it’s worse than ever. So I think it’s important to weed some of that out before we start talking about making it harder to fire people.
You're doing your boss's job for them by making this an engineer vs engineer thing instead of an engineer vs management thing.
No, today I can tell my manager when someone sucks at their job, and if enough other people are saying the same thing then that engineer will either be given help so they stop sucking or be fired so they don’t subtract from the team. Because this happens fairly often I wouldn’t want to add a lot of friction to that process. Idk, maybe you can protect people from being laid off without also complicating performance-based firings.
How does a union have an effect on what you described? Can't a union worker not be fired for poor performance?
Unions make it harder because you actually have to document the poor performance in order to show you’re complying with the rules. It effectively makes the cost of firing (and thus, hiring) higher.
Seems that aiming twice and shooting once is a good thing when the cost of a miss is destabilizing someones entire personal life for their entire family potentially
I fail to see the issue with that as well.
The sentiment I often see online is that "fewer rules = more freedom". And as I grew more experienced, I find that the opposite is true. In a lot of cases, freedom is upheld by the rules themselves. And this is not an orwellian "war is peace" kind of thing, but rather a GNU Free Software kind of thing, where the perpetuity of the freedom is guaranteed with the rules of participation.
I think that this discussion went in the same direction with the unions. But, of course, freedom in itself can have different interpretations for different people.
The reason might be that union members give a percentage of their income to a governing body which is barely distinct from organized crime in which they have no say in. The federal government already exists. You really want more boots on your neck?
I kinda agree with you, more boots is not really an ideal way to achieve this. Worker protections should come from the government itself, so much so that there is no need to form unions, like how it is at many places in Europe. I don't see how that could be created in the US though. I think trade unions are more their vibe - or not even that, of course, like in case with you. And of course, in US history we can see how some organization grow and get a life on their own, like the NRA. Not necessarily remaining on the path to protect past principles, or the welfare of the people.
Do you want to work with LLMs or H1Bs and interns… choose wisely.
Personally I’m thrilled that I can get trivial, one-off programs developed for a few cents and the cost of a clear written description of the problem. Engaging internal developers or consulting developers to do anything at all is a horrible experience. I would waste weeks on politics, get no guarantees, and waste thousands of dollars and still hear nonsense like, “you want a form input added to a web page? Aw shucks, that’s going to take at least another month” or “we expect to spend a few days a month maintaining a completely static code base” from some clown billing me $200/hr.
You can work with consulting oriented engineers who get shit done with relatively little stress and significant productivity. Productivity enhanced by AI but not replaced by it. If interested, reach out to me.
I don't think that this should be downvoted because it raises a really important issue.
I hate AI code assistants, not because they suck, but because they work. The writing is on the wall.
If we aren't working on our own replacements, we'll be the ones replaced by somebody else's vibe code, and we have no labor unions that could plausibly fight back against this.
So become a Vibe Coder and keep working, or take the "prudent" approach you mention - and become unemployed.
Personally I used them for a while and then just stopped using them because actually no, unfortunately those assistants don't work. They appear to work at first glance but there's so much babysitting needed that it's just not worth it.
This "vibe coding" seems just another way to say that people spend more time refining the output of these tools over and over again that what they would normally code.
I'm in this camp... today.
But there's going to be an inflection point - soon - as things continue to improve. The industry is going to change rapidly.
Now is the time to either get ready for that - by being ahead of the curve, at least by being familiar with the tooling - or switch careers and cede your job to somebody who will play ball.
I don't like any of this, but I see it as inevitable.
How is it inevitable when they are running out of text to train on and running out of funding at the same time?
You just said they worked one comment ago and now you agree that they don't?
I'm in the same camp in that I don't use them because they don't work well enough for my own tastes. But I know what I'm doing, and I'm picky.
Clearly they do work in a general sense. People who don't want to code are making things that work this way right now!
This isn't yet replacing me, but I'm certain it will relatively soon be the standard for how software is developed.
Maybe there's going to be an inflection point ... or maybe not, I feel like we're at the exact same point as the first release of Cursor in 2023.
I’ll work on fixing the vibe coders mess and make bank. Experience will prove valuable even more than before