Even if the worst case happens and the field gets wrecked by AI it won't be the end of the world. There will always be work for smart and reliable people. You might end up having to learn some new skills you weren't expecting to, but hey that's life. I have quite a bit of sympathy for someone with 30-40 years of experience who sees their career swiped away; retooling and getting hired in a new area can be quite hard at that stage. But for someone in their early 20s? There's absolutely nothing that can prevent you from adapting to whatever the new economy looks like in a few years.
I don't think LLMs are fundamentally more threatening than off shore developers were. Sure, we lost jobs during that time, but businesses realized eventually that the productivity was low and they wanted low level people who were responsible.
I think that will continue. We'll all learn to control these agents and review their code, but ultimately, someone needs to be responsible for these agents, reviewing what they produce and fixing any shitshows they produce.
I won't rule out the possibility of LLMs that are so good that they can replicate just about any app in existence in minutes. But there's still value in having workers manage infrastructure, data, etc.
My view is LLMs will compete with outsourced developers (and contractors/consultants for one-off jobs), where job context and project scope is already subject to a communication gap.
A big role of full time employees is not just to code, but to interact to various degrees with PMs/Sales/Customers/the rest of the company stakeholders to varying degrees.
Ultimately someone has to know enough of the technical side of both the product and company to actually _know_ what to prompt/review for.
Sure, if the entire industry becomes agents selling agent-developed products to other agents and providing agent-on-agent support, then… yeah. But that is a shell game.
I guess the question is whether the person you are replying to is potentially living in a country where most of the work is currently being outsourced, as this could significantly impact their career path.
It is interesting that you bring up outsourced work, as I strongly believe that a lot of the bad code generated by AI is the result of not feeding it enough information.
When you outsource work, you are usually forced to document things more thoroughly to work around language and domain knowledge. Basically, clarity is a requirement and maybe outsource companies will experience the most impact.
That’s true the further you get up in your career. But most of the time, it is:
- junior developers get tasks where both the business problem and technical solution is well defined and they need a lot of handholding and supervision
- mid level developers get tasks where the business problem is mostly well defined and they use their own judgement to create the technical solution. They should be able to lead work streams or epics
- Senior developers are responsible for leading major deliverables with multiple work streams, epics and are over seeing mid level developers and juniors. This is usually the first level where you spend the majority of your time dealing with strategy and “ambiguity” and with the “business”.
- staff - strategy involving many large implementations.
AI can already do a creditable job as a junior level developer and is rapidly moving up to being able to do the work of a mid level developer.
No matter what your title is, if you are just pulling tickets off the board with well defined business cases, you are doing mid level developer work. My definition is what I’ve seen, heard and read about from every major tech company.
I don’t see how LLMs completely eliminate anyone who is doing anything more than simply pulling well-defined tickets off a board
But this is a high level industry summary.
What I did was learn the skills that companies were hiring for and kept applying until I finally found some tiny company willing to pay me peanuts ($8.50hr, I'm not joking, I continued to work two jobs that entire year). They got a cheap worker, and I got experience that I leveraged into a better job.
How does that translate to your situation? If you're in college, find internships, it's the easiest way to get your foot in the door. Are you out of college or never went? Time to look at job postings, evaluate the skills they are looking for, and learn those skills.
Yeah, it sucks but that's also a fact of life in this industry. I have to "reskill" every few years too, because not every job I've had segues into another job. In reality, every senior developer decays over time into a junior because the tech landscape changes pretty quickly, and your choices are to mitigate that decay through learning the tech that's being hired for, or become a people manager.
I'd suggest working on your defeatest attitude though. As someone with pretty low self-esteem myself, I get it. Just four hours ago I was calling myself an idiot for making a mistake, but instead of wallowing, I took the time to "prove it" and verify that I was the root cause of the the issue. If I was, I would take those findings and learn from them, but it turns out, all I proved was that I was not responsible and I got to pat myself for building out a system that allowed me to figure this out.
You're going to have to find a way to tell yourself that you're proud of what you've done. Nobody else is going to say it. And rejection sucks. You have to learn to graciously accept rejection, and objectively look at what you've done and compliment yourself. I take the "shit sandwich approach" of finding two good things about what I've built, and one point of improvement. YMMV there, but it definitely helps with the mental health to compliment yourself when you deserve it.
I’m saying this ironically as a 50 year old (check my username) - “okay boomer”.
That doesn’t work anymore. Internships are much harder to get than they use to be.
“Learning in demand skills” doesn’t work either. Everyone is doing it. Every job opening literally gets thousands of applicants within the first day with people who also has the same generic skillset.
When I was looking for your standard C# CRUD enterprise job where they wanted AWS experience last year and the year before as a “Plan B”, I applied for literally hundreds of jobs and heard crickets. Not only had a coded and led major projects dealing with AWS and before dealing with AWS, I worked at AWS in the consulting department (full time).
Plan A offers came quickly (within two or three weeks) both times. Full time positions doing strategic consulting (personal outreach) and one or two offers from product companies based on my network. But that doesn’t help when someone is just starting out.
By the way, I also started out in 1996 by getting a return offer to be a computer operator based on an internship. But it ain’t 1996 anymore. It’s a shit show out here right now for people with experience.
You're right though, shit is fucked. I didn't want to say that and have the person in our conversation thread get even more disheartened - that isn't helpful to them. But I agree with you and my experience job hunting just last year mirrors what you are saying. I've been thinking of what I'd do if I got laid off and well, sounds like it won't be a good time.
The world was never as complex as it is today, advancements were never that accelerated, and expectations on scalable software were never this high. Do you really buy the marketing fuzz that the work is "done" just because your software runs on hyperscaler #3 or in a k8s cluster? The amount of available open source projects steadily increases, those can (and should) be used to learn from and contribute something back. Free and open source software is used everywhere and whole businesses are built on some, yet Linux and all those other projects are just increasing in complexity. Sure, everybody wants to be the expert and yet nobody really is. Fact is, unfinished projects are everywhere and there's a lot of work to be done.
LLMs have the chance to make personal computing even more personal and should be treated as valuable assistents to learn with. LLMs won't ever be the desired oracles of some kind (yes, I don't buy that "AGI is near" crap), they'll rather be good personal sparing partners. APIs still break constantly and there are transient errors everywhere. I can imagine some small shops and personalized apps, yet people that aren't into tech won't magically get into it because of some progress in machine learning. If you're in it just for the money times might get challenging here and there (what isn't?), but if you're in it for the engineering times can look pretty bright, as long as we make good use of our ambitions. There are still some engineering efforts to take before a smartwatch can also act smart in isolation. Our tooling just took a leap ahead - go make use of it, that's it.
I don't think there ever was as big treat to intellectual jobs. If LLMs ever get really good at programming (at the level of senior) there is 0 reason to keep majority of programmers employed. In addition it's not likely that it would be like other historical events of replacing workers with technology, because it most likely won't create new jobs (well, at least not for humans). So if LLMs won't run out of fuel before reaching that level I'm afraid we are fucked.
> I won't rule out the possibility of LLMs that are so good that they can replicate just about any app in existence in minutes. But there's still value in having workers manage infrastructure, data, etc.
Why would AI advanced enough to spin entire app from scratch have problems with managing infrastructure and data?
The former type of senior developer will be a commodity and see their pay stagnate or even go down as companies find cheaper labor, AI and more software development gets replaced with SaaS offerings especially with enterprise devs.
Is there any chance for me (a student) to become like this? I'm fine with coding changing (I just love computing) but I'm scared of the entirety of the field being completely torched.
What would I do these days? I would stay in computer science and if possible get an MBA. I dropped out of graduate school in 2001. But what I learned helped me a lot.
If you can’t go to graduate school, at least take a few business classes. I think the only way to survive will be focusing more on the business than the technology and work for a consulting company.
I don’t mean being a “consultant” who is really just a hands on keyboard coder doing staff augmentation. I mean working for one of the Big 5 consulting firms or one of the smaller equivalents.
The US is definitely moving toward privatization and the first thing they do is bring in more consultants.
I don’t work for any of them. I specialize in strategic cloud consulting. But that market seems congested at the low end.
I get you're trying to be "consoling", but frankly the bajillion pivot ideas, hopium arguments, endless counterarguments, and other indirection is why I think there's nothing optimal that can be done. All I can do is go through the motions with my current internship and major and rely on Christ rather than this fickle world. I made the wrong choice. Nothing that can be done.
The first crash happened in 2000 not because most of the ideas were bad. Bud because enough potential customers weren’t on the internet.
Things didn’t recover until 2009-2010 when high speed internet was ubiquitous and more people started having computers in their pockets with high speed internet and the mobile app stores.
Between that time was the housing crash and the entire economy was in a free fall.
But, the Big Tech companies were hiring like crazy post COVID and it’s clear they don’t need that many workers. They definitely aren’t going to be doubling in head count over the next 10 years.
On the startup VC funding side, VCs only fund startups as a Ponzi scheme hoping they can either pawn their money losing startups on the public market - who has gotten wise to it - or via acquisitions and regulators are now much more leery of big acquisitions.
There are too many developers chasing too few jobs and with remote work, competition has gotten stiffer.
Just today someone posted on LinkedIn that they posted a job opening on LinkedIn, didn’t use Easy Apply, forced people to answer a questionnaire to slow down submissions and still got over 1000 applications in 3 hours.
AI is already removing the need to hire junior developers, slowly it will be good enough to lower the number of “senior” [sic] framework developers doing boilerplate.
Did I mention by hook or by crook, the federal government will be hiring less people and getting rid of employees flooding the market. All of those “dark matter developers” that were content with their government jobs are now going to be competing for private sector jobs
https://news.ycombinator.com/item?id=42818169
Short version is don’t be a “ticket taker”. Move closer to the customer/stakeholder and further away from the IDE. Think in terms of adding business value and focus more on strategy than tactics (pulling well defined stories off the board).
https://www.levels.fyi/blog/swe-level-framework.html
I didn’t just pull “scope”, “impact” and “ambiguity” out of thin air. The leveling guidelines of all the tech companies boil down to this in one way or the other.
This is Dropbox’s for instance.
https://dropbox.github.io/dbx-career-framework/
I’ve been moving closer to the “business” for a decade now after spending almost two decades as your bog standard enterprise dev. I haven’t done much active coding except some simple Python scripts in almost 3 years.
My focus is now strategic cloud consulting focusing on application development. I’m not saying necessarily “learn cloud”. Learning how to deal with “the business” and leading implementations that deliver business value is the objective. The “cloud” just happens to be my tool. I’m slowly adding Big Data/ML/“AI” to my tool belt.
It’s even harder doing a startup straight out of college with no business skills, no network, and no real world experience.
How about embracing it? Think it all the way through: If software development completely disappears as a profession, what impact would it have on other possible jobs, on society? What are the potential bad outcomes from that? What would that mean for your ability to survive and enjoy yourself? What would you do?
You'd find a way to make the best of it, I suppose. And the best is as good as it gets. Maybe this imaginary new world sucks, maybe not. You're young, from the sound of it. You get to be around for the future, when I'm long gone, that's kinda cool. I'm sure you'll find a way, you seem like a clever person.
I find there's something powerful about thinking the worst case scenario through, and feeling somewhat prepared for it. Makes it easier to focus on the present.
Get to replacing us already. It's a gold rush, someone needs to get rich selling shovels.
It can be an app or website, or something else. By trying to replicate something you will begin to learn and understand what the limitations and opportunities in these tools are.
Developers hanging out on eg Hacker News are the very tip of the wave. 99% of all developers don't visit sites like this. It will take a long time (10+ years.) before AI moves through all fields. Companies which are inherently software focused will be first. But that's not where the long tail of software is.
The long tail is in companies which does no software currently. Places where software is something you buy to do inventory or keep track of invoices or time sheets.
I use these tools everyday now and they are both magically awesome and stupendously stupid, sometimes in the same reply. Things always change less in the short term (say less than 5 years), and more in long term (10+ years). Just as it was with smartphones, arguably the most recent big revolution which is now integrated everywhere.
To reiterate. To find a project chose something which already exist and you use and have use of. Then copy it. Then improve it (to better for your use.)
Personally I think this new revolution will make software exponentially more abundant and infinitely customizable and adaptable to individuals. My guess is also that in 10-20 years we will have more people than today who do "programming".
A lot of tasks which are now hacked together in Excel sheets will be a lot easier to make into "proper" programs.
In this world the people who know enough about many things to efficiently use agents to accelerate them will be the most valuable.
Are the current economics viable indefinitely? I think not. This AI investment exuberance will be curbed as soon as investors start demanding returns, and we've already seen harbingers of that (the Deep Seek market scare). What appears to be a quadratic growth curve inevitably turns out to be sigmoid.
Right now, the Hype train is at maximum speed and seems unstoppable. Despite the early hype, the Internet didn't replace colleges or brick and mortar stores[1], iPads didn't kill computers[2], and AI won't replace software engineers. This is not to say there will be no impact, but it's being oversold.
1. Khan academy and Amazon notwithstanding. But physical retail stores are still here and doing okay, and have adjusted to leveraging the new paradigm.
2. Leading up to peak iPad, it was believable that the iPad would kill PCs - it was an unstoppable juggernaut lifting Apple profits to record heights https://www.bloomberg.com/news/articles/2012-03-21/ipad-the-...
Sure, C=log(t), but it could also be C=ke^t. Everything to me feels like it's the latter, I really want to be wrong.
You're young, and so we'll give you a pass. But as stated, _the entire point of tech is evolving methods_. Are you crying because you can't be one in a room of hundreds feeding punchcards to a massive mainframe? Why not? It's _exactly_ the same thing! Technology evolved, standards changed, the bar raised a bit, everyone still went to work just fine. Are you upset you won't have a job in a warehouse? Are you upset you aren't required to be a farmer to survive? Just chill out man, it's not as terrifying as you think it is. Take a page out of everyone who ever made it and try to actually listen to the advice of people who've been here a while and stop just reflex-denying any advice that anyone gives you. Expand your mind a bit and just consider the idea that you're actually wrong in some way. Life will be much easier, less frantic, and more productive
I've said this on here before, but replacing programmers means replacing our entire economy. Programming is, by and large, information processing. Guess how many business's services can be summed up as "information processing"? I'd wager most of them.
So maybe you're fucked, yes, but if so, we all are. Maybe we'll just have to find something to do other than exchange labor for sustenance...
Every single opening gets 1000s of applicants within the first day. It’s almost impossible to stand out from the crowd if you are either new to the industry or have a generic skillset.
When everything includes software, someone needs to write and maintain that software.
If software becomes cheaper, we'll just use even more of it.
Did you see the bit where he said "Most of us who are senior+ have been through these cycles before". They rolled out similar equations in previous hype cycles.
The LLM's were released about 3 years ago now. Over the weekend I made the mistake on taking their word on "does GitHub allow administrator to delete/hide comments on PR's". They convincingly said "no". Others pointed out the answer is of "yes". That's pretty typical. As far as I can tell, while their answers are getting better and more detailed, what happens when they reach the limits of their knowledge hasn't changed. They hallucinate. Convincingly.
That interacts with writing software in an unfortunate way. You start off by asking questions, getting good answers, and writing lots of code. But then you reach their limits, and they hallucinate. A new engineer has no way to know that's what happened, and so goes round and round in circles, asking more and more questions, getting complete (but convincing) crap in response, and getting nowhere. An experienced engineer has enough background knowledge to be able to detect the hallucinations.
So far, this hasn't changed much in 3 years. Given the LLM's architecture, I can't see how it could change without some other breakthrough. Then they won't be called LLM's any more, as it will be a different design. I'm have no doubt it will happen, but until it does LLM's are a major threat software engineers.
>Seems obvious that I missed the boat on LLMs.
Don't worry. As the other commenter said it: we've seen it all a few times already.
I clearly remember how some people reacted to Ruby on Rails as if it's going to replace them just because it provides... well a framework.
LLMs won't replace even a junior dev anytime soon. Not to mention senior dev etc.
People who's main job was creating landing pages and simple shops might be in trouble.
except of course they have already … in many places … and counting :)
And to be fair they weren’t wrong. RoR was one of the first “opinionated” platforms of its kind, really. (Well, that isn’t really true but we’ll just pretend it is… it sure was hyped that way). It did make a lot of the pain points of web apps easier… it handled database migrations, testing, ORM stuff, template stuff, etc. It was opinionated. It had some very vocal people pushing it (DHH of 37signals). It was the zeitgeist of the time.
Hell Twitter was started on rails, from what I remember. Eventually they turned into a java shop but yeah. But that was going to be the natural progression. People found all the edges of RoR and we learned what worked and what didn’t and where to apply it and where it doesn’t belong.
But things like RoR didn’t make developers less valuable it made them more valuable.
And to somehow tie it back to LLM’s… it will be the same thing. Software will eat the world and all LLM’s will do is accelerate it. But we don’t know all the edges yet because the story is still unfolding. But I promise it won’t be the end of developers… anybody who uses LLMs daily can already tell you they’ll never be able to replace a dev. They are developer assistants not replacements no matter what the hype says.
…end ramble (which is clearly not the output of an LLM)
Don't get high on your own (industry's) supply. This foward-looking BS is targeted at clueless investors, Level 5 self-driving cars have been a "few years away" for almost 2 decades now, and here we are, still having to deal with ADAS like cavemen, and looking back at the trail of dead companies that believed they could solve self-driving.
i understand the feeling you have a little bit, but agree with the others that you don't need to despair too much about the industry, there is still a great need (and will be) for humans to understand the systems we are using and be able to get in the weeds to solve problems.
totally agree we might need less people writing/wrangling code, and it might put downward pressure on salaries... on the other hand, there might be upward pressure on salaries as developers will have a higher output and the ROI for hiring an effective developer in this environment will go up. especially when production is on fire, the AI that wrote the code that is on fire might not be the best source of how to solve it.
to me this is all basically a big unknown, without substantial reason to panic though, even if it feels overwhelming and hopeless from a certain perspective at the start of a career. currently a lot of development feels pretty sluggish to me, we fight with build tools and multiple languages and eke out these incremental improvements - if developers can work much much faster, that's great, but then we hit a limit to like... OK we need to let the product changes "settle" for a while and get user feedback about the changes, we can't actually ship 14 major product updates in a week because users will have no idea what the fuck is happening. but maybe we can do more advanced things with rapid split testing and automated success metrics to deploy pages that "self-optimize" or something, and there might be new second and third order ideas that come from this where it takes a human to manage and direct and build and solve things at that level.
> ideas are everywhere, they are cheap. the idea plus the execution, timing, marketing, and approach are all factors in something being successful
And water is everywhere but you need a boat to get across it. I don't think I have a boat. I don't know if I can build one. I don't know if anyone will let me on their boat. s/boat/idea generation/g.
More great ideas will flow out of that activity.
As for missed the boat, how do you mean? We remain in early days!
Finally, try to avoid making your own reality. You write as if you know the future, and none of us do!
And even when we are right, how we respond to that future really matters!
You could sulk in gloom
, or!
You could be building things and or showing them off.
It is that showing off that nets good new opportunities.
Oh no, don't worry. Nobody will be trusting GenAI only for Real Work like aerodynamics, structural mechanics, electromagnetics, plasma physics, you name it. For sure there will be (already is) AI-based surrogate models, fast preconditioners, superresolution methods etc. But you will for the duration of our lifetime need humans who understand both physics and programming to actually use the damn tools and ensure they are used correctly.
I really wish to be wrong here.
Typist used to be a career. People's entire jobs revolved around being able to operate a typewriter quickly. That skill became obsolete as computers were introduced, but the role didn't go away (for a long time anyway). Plenty typists learned to use computers and kept doing transcription or secretarial work like they always had done. Some refused to learn and took other career paths while a new generation of computer users came in.
This has happened quite frequently in this industry. The skills we use now are about to be made obsolete, but our roles will still largely exist.
The scary part is that we know right now that our skills are about to be obsolescent, but we don't yet know what the next thing is actually going to be. It's hard to prepare.
I'm still fairly early in my career. I plan to cope by learning how to use these new AI tools. My core engineering skills will always be useful to some degree, but I have to stay with the times to stay competitive. That's it, that's the plan. Learn about the new thing as it's being built and try to stay ready.
Maybe pentesting can be partly automated, but "the devil is in the details" and a pentester's primary quality is to look where the automated software won't.
I don't know, truly. The future is somewhat foggy.
Frankly, this was obvious to me since the Copilot Workspace announcement.
It's so hard not for me to not slide completely into nihilistic despair as a student right now. I chose wrong, and now there is nothing I can do. Day in and day out I'm talking about my projects and internships as if my entire field that I've dreamed about for the past decade isn't about to get torched. With the pace that this field is getting solved I probably won't even have enough time to "pivot" to anything before they also get solved or upturned as well.
Call me a doomsday prepper, but frankly I haven't heard a compelling argument against this line of thinking that is actually in line with the absurd development curve I've seen. 4 years ago these models weren't capable of stringing together a TODO app.
I really, really want to be wrong. I really do.