You still need to know what good code looks like to use these tools. If you go forward in your career trusting the output of LLMs without the skills to evaluate the correctness, style, functionality of that code then you will have problems.
People still write low level machine code today, despite compilers having existed for 70+ (?) years.
We'll always need full-stack humans who understand everything down to the electrons even in the age of insane automation that we're entering.
Could not agree more! I have 20+ years experience and use Cursor/Sonnet daily. It saves huge amounts of time.
But I can’t imagine this tool in the hands of someone who does not have a solid understanding of programming.
You need to understand when to push back and why. It’s like doing mini code reviews all the time. LLMs are very convincing and will happily generate garbage with the utmost authority.
+1 to this. There has never been a better time to learn to code - the learning curve is being shaved down by these new LLM-based tools, and the amount of value people with programming literacy can produce is going up by an order of magnitude.
People who know both coding and LLMs will be a whole lot more attractive to hire to build software than people who just know LLMs for many years to come.
Can you just make a blog post on this explaining your thesis in detail? It's hard for me not to see non-technical "vibe coding" [0] sidelining everyone in the industry except for the most senior of senior devs/PMs.
I will give a little more pessimistic answer. If someone is right now studying CS then probably have expectation that can work with this profession for 30-40 years until retirement and this profession will still pay much more than average salary for most of devs anywhere (instead only of elite devs or those in US) and easily to find such job or easily switch employer.
I think the best period of Software Devs will be gone in few years. Knowing how how to code and fix things will be important still but more important to be also Jack-of-Many-Trades to provide more value: know a little about SEO, have a good taste of design and be able to tweak simple design, good taste how to organise code, better soft skills and managing or educating less tech-savvy stuff.
Another option is to specialise in some currently difficult subfield: robotics, ML, CUDA, rust and try to be this elite dev with expectation would have to move to SV or any such tech hub.
Best general recommendation I would give right now (especially for someone who is not from US) to someone who is currently studying is to use that a lot of time you have right now with not much responsibility to make some product that can provide you semi-passive income on a monthly basis ($5k-$10k) to drag yourself out of this rat race. Even if you not succeed or revenue stream will run out eventually you will learn those other skills that will be more important later if wanna be employed (SEO, code & design taste, marketing, soft skills).
Because most likely this window of opportunity might be only for the next few years in similar way when the best window for Mobile Apps was first ~2 years when App Store started
I would love to make "side revenue", but frankly I am awful at practical idea generation. I'm not a founder type I think, maybe a technical co-founder I guess.
What do you even do then as a student? I've asked this dozens of times with zero practical answers at all. Frankly I've become entirely numb to it all.
Be glad that you are empowered to pivot - I'm making the assumption you are still young being a student. In a disrupted industry you either want to be young (time to change out of it) or old (50+) - can retire with enough savings. The middle age people (say 15-25 years in the industry; your 35-50 yr olds) are most in trouble depending on the domain they are in. For all the "friendly" marketing IMO they are targeting tech jobs in general - for many people if it wasn't for tech/coding/etc they would never need to use an LLM at all. Anthrophic's recent stats as to who uses their products are telling - its mostly code code code.
The real answer is either to pivot to a domain where the computer use/coding skills are secondary (i.e. you need the knowledge but it isn't primary to the role) or move to an industry which isn't very exposed to AI either due to natural protections (e.g. trades) or artifical ones (e.g regulation/oligopolies colluding to prevent knowledge leaking to AI). May not be a popular comment on this platform - I would love to be wrong.
Not enough resources to get another bachelors, and a masters is probably practically worthless for a pivot. I would have to throw away the past 10 years of my life, start from scratch, with zero ideas for any real skill-developing projects since I'm not interested at all. Probably a completely non-viable candidate in anything I would choose. Maybe only Robotics would work, and that's probably going to be solved quickly because:
You assume nothing LLMs do are actually generalization. Once Field X is eaten the labs will pivot and use the generalization skills developed to blow out Field Y to make the next earnings report. I think at this current 10x/yr capability curve (Read: 2 years -> 100x 4 years -> 10000x) I'll get screwed no matter what is chosen. Especially the ones in proximity to computing, which makes anything in which coding is secondary fruitless. Regulation is a paper wall and oligopolies will want to optimize as much as any firm. Trades are already saturating.
This is why I feel completely numb about this, I seriously think there is nothing I can do now. I just chose wrong because I was interested in the wrong thing.
If you're taking a really high level look at the whole problem, you're zooming too far out, and missing the trees themselves. You chose the wrong parents to be born to, but so did most of us. You were interested in what you were interested in. You didn't ask what's the right thing to be interested in, because there's no right answer to that. What you've got is a good head on your shoulders, and the youth to be able to chase dreams. Yeah it's scary. In the 90's outsourcing was going to be the end of lucrative programming jobs in the US. There's always going to be a reason to be scared. Sometimes it's valid, sometimes the sky is falling because aliens are coming, and it turns out to be a weather balloon.
You can definitely succumb to the fear. It sounds like you have. But courage isn't the absence of fear, it's what you do in the face of it. Are you going to let that fear paralyze you into inaction? Just not do anything other than post about being scared to the Internet? Or, having identified that fear, are you gonna wrestle it down to the ground and either choose to retrain into anything else and start from near zero, but it'll be something not programming that you believe isn't right about to be automated away, or dive in deeper, and get a masters in AI and learn all of the math behind LLMs and be an ML expert that trains the AI. That jobs not going away, there's still a ton of techniques to be discovered/invented and all of the niches to be discovered. Fine-tuning an existing LLM to be better at some niche is gonna be hot for a while.
You're lucky, you're in a position to be able to go for a masters, even if you don't choose that route. Others with a similar doomer mindset have it worse, being too old and not in a position to them consider doing a masters.
Face the fear and look into the future with eyes wide open. Decide to go into chicken farming or nursing or firefighter or aircraft mechanic or mortician or locksmith or beekeeping or actuary.
I think if you believe LLMs can truly generalize and will be able to replace all labor in entire industries and 10x every year, you pretty much should believe in ASI at which point having a job is the least of your problems.
if you rule out ASI, then that means progress is going to have to slow. consider that programming has been getting more and more automated continually since 1954. so put yourself in a position where what LLMs can do is a complement to what you can do. currently you still need to understand how software works in order to operate one of these things successfully.
I don't know if I agree with that and as a SWE myself its tempting to think that - it it a form of coping and hope that we will be all in it together.
However rationally I can see where these models are evolving, and it leads me to think the software industry is on its own here at least in the short/medium term. Code and math, and with math you typically need to know enough about the domain know what abstract concept to ask, so that just leaves coding and software development. Even for non technical people they understand the result they want of code.
You can see it in this announcement - it's all about "code, code, code" and how good they are in "code". This is not by accident. The models are becoming more specialised and the techniques used to improve them beyond standard LLM's are not as general to a wide variety of domains.
We engineers think AI automation is about difficulty and intelligence, but that's only partly true. Its also about whether the engineer has the knowledge on what they want to automate, the training data is accessible and vast, and they even know WHAT data is applicable. This combination of both deep domain skills and AI expertise is actually quite rare which is why every AI CEO wants others to go "vertical" - they want others to do that leg work on their platforms. Even if it eventuates it is rare enough that, if they automate, will automate a LOT slower not at the deltas of a new model every few months.
We don't need AGI/ASI to impact the software industry; in my opinion we just need well targeted models that get better at a decent rate. At some point they either hit a wall or surpass people - time will tell BUT they are definitely targeting SWE's at this point.
i actually don’t think nontechnical people understand the result they want of code.
have you ever seen those experiments where they asked people to draw a picture of a bicycle, from memory? people’s pictures made no mechanical sense. often people’s understanding of software is like that — even more so because it’s abstract and many parts are invisible.
learning to clearly describe what software should do is a very artificial skill that at a certain point, shades into part of software engineering.
Think this is more true for more niche domains; but probably not for things like web/app development where the user can verify the output themselves. Its one of the reasons I'm more bearish on frontend/apps - because that's where the value is to most people and they understand it. That's the key and why it will disrupt code more than math - a non-math person doesn't actually know/want the input or output of advanced math (don't know what they don't know problem) so it remains more of a tool in that domain.
Those people with cross domain knowledge in an industry will continue to have value for some time able to contribute to domain discussions and execute better with the tech. As a result I've always thought the "engineering" part of software was more valuable than the CS/Leetcode part of the industry. As a lecturer many decades ago told me in a SE course - "you will know more about their business, in greater detail by the time you are finished, then they even do".
I think what's missing is that the amount of training data to effectively RL usually decreases over time. AlphaGo needed some initial data on good games of Go to then recursively improve via RL. Fast forward a few years, and AlphaZero doesn't need any data to recursively improve.
This is what I mean by generalization skills. You need trillions of lines of code to RL a model into a good SWE right now, but as the models grow more capable you will probably need less and less. Eventually we may hit the point where a large corporations internal data in any department is enough to RL into competence, and then it frankly doesn't matter for any field once individual conglomerates can start the flywheel.
This isn't an absurdity. Man can "RL" itself into competence in a single semester of material, a laughably small amount of training data compared to an LLM.
I'm sure lots of potential students / bootcampers are now not going into programming (or if they are, the smart ones try to go into niches like A.I and skip web/backend/android altogether). This will work against the numbers of jobs being reduced by A.I. It will take a few years though to play out , but at some point we will see smaller amounts of people trying to get into the field and applying for jobs, certainly for junior positions. We've already had ~ 2 bad years, a couple more like this will really dry out the numbers of newcomers.
Less people coming in (than otherwise would have) means for every person who retires / leaves the industry there are less people to take his place.
This situation is quite complex with lots of parameters that work in different directions so it's very early to try to get some kind of read on where this is going.
As a new career I'd probably not choose SWE now. But if you've done 10 years already I'd ride it out, there is a good chance most of us will remain employed for many years to come.
When I say 10 years I say that I've probably wanted to work in this field since maybe 10. Computing is my autistic hyperfixation. This is why I'm so frustrated.
> When disagreeing, please reply to the argument instead of calling names. (...) Please don't sneer, including at the rest of the community. (...) Please don't post insinuations about astroturfing, shilling, brigading, foreign agents, and the like. It degrades discussion and is usually mistaken.
Your comment flagrantly violates all three of these rules.
This trivial cryptogram contains more details: Tiqy mcif ufobrtohvsf'g dwgg-ghwbywbu oggvczs, mci dihfwr dirrzs ct dig.
I think the problem is that from our human scale, mass-killings is the "best" method to eliminate the possibility of another organism causing harm for us. Hypothetically, if there was a more optimal (i.e less costly) method like just introducing some cheap catch-all combined vaccination/antiviral into their feed, we would just do that.
We don't have things like that, but that could easily be a consequence of man's limited research capacity, something that an ASI would not necessarily be throttled by. From an ASI's perspective, there might be many methods that are both less brutal and more optimal to fix the "humans creating a competitor" problem. Not that they would be aligned (Think halting human AI research by rewiring our brains to just not be interested in it [0]), but at least not deadly.
I may have lost the thread here. Are you thinking it's _likely_ AI would prioritize better ways to control us, or are you only brainstorming potential slivers of hope we might have?
As a side note: in the case of chickens, humans do have better options if you are optimizing for biosphere health. Only people optimizing for short-term profit would grow chickens the way we do. I think the analog for AI overlords is that we have to hope they care more about overall balance than about competing with other AI.
Apparently OpenAI's Deep Research already saturated a quarter of this benchmark, more or less a month in. But I also imagine it makes baffling mistakes anyway.
But not everyone is "agentic". I am maybe ambitious and self-directed, but not really curious. I can work on other's ideas, perhaps be curious within the bounds of that space, but I myself struggle to get any meaningful interesting practical ideas. Honestly a lot of times I think I'm just going to be ran over since I don't know how and frankly doubt curiosity can be grown in any capacity. I want to be wrong, would like your feedback.
I guess... I maintain a big open-source project by myself, I assume that kind of points to self-directedness. I guess on a career level it's discouraging since a student isn't seen as self-directed, and to go the startup route requires those unique ideas.
> Effectively they have completely automated SWE job, pair programmer was just a marketing speak, real intention is clear.
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've been in the industry long enough to have been around for a few crashes. My outlook is: this industry has always faced threats that looked like it was going to spell the end of our careers, but we always come out the other side better than ever.
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.
I’ve been developing professionally since 1996. It’s different this time.
The first crash happened in 2000 not because most of the ideas were bad. But 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 and they will be 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
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).
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.
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.
Hmm. I maintain a pretty big open-source project, so I guess I'm already kinda that? I honestly love computing moreso than I love coding. I'm not very familiar with business concepts though.
I really hate to say this. But open source contributions don’t matter either. It’s only what you do for a company. No one has time to look at an open source repository. Every open job these days have thousands of applications. They aren’t going to look at your GitHub repo.
I guess I'm just confused now. I can't do technical since that's too commodified, but I can't do business since I'm a youngster with no real world experience.
> My outlook is: this industry has always faced threats that looked like it was going to spell the end of our careers, but we always come out the other side better than ever.
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?
What do you define as a “senior developer”? Someone who “codez real gud” and can pass “leetCode hard” interviews or the tech industries definition of a senior developer who operates at a certain level of scope, impact and “dealing with ambiguity” and can deliver business value?
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.
> a senior developer who operates at a certain level of scope, impact and “dealing with ambiguity” and can deliver business value?
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.
Please take my advice with a huge grain of salt. It’s been literally decades since I was an entry level developer. I try my best to keep my ear to the ground and look through the eyes of people at all levels of the industry. Part of my job is mentorship as a “staff software architect” at a consulting company.
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.
As far as I've heard, MBAs have also become completely saturated as well. Out of the frying pan into the fire.
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.
Isn’t that what everyone said about outsourcing too?
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.
> 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.
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.
Ok, except I guess I would say your definition of mid-level and junior both fall under what I would consider “junior”— maybe I would call what you define as “junior” as “intern” ?
I don’t see how LLMs completely eliminate anyone who is doing anything more than simply pulling well-defined tickets off a board
While I’ve spoken to people at other BigTech companies about their leveling guidelines, the only one that is still in my personal possession after I left is Amazon’s :).
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.
I was a junior after companies had already decided to out source low-level development roles. And I also faced the roadblock of lacking a degree, or any college at the time, so internships were not an option.
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.
> 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
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.
Sucks to hear about the internships. I figured they'd still be relevant as I was mentoring people in an internship pipeline just 5 years ago, but a lot has changed since then. I do wonder how the effects graduation rates, as one of the reason we had so many interns at my previous job was because the local engineering school required an internship to graduate.
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.
I mean the foundations didn't go away, they just got more profound (advances in programming language design, distributed algorithms, formal methods etc.). Previously closed down layers just got open sourced (RISC-V, FPGAs). I estimate that 98% of all engineering efforts are always hidden beneath some facade that takes away its spotlight (through politics, committees, marketing etc.). I'm close to 15 years in and there are still programming languages, data structures or protocols I never heard of.
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.
This must be your first hype cycle then. Most of us who are senior+ have been through these cycles before. There's always a 10% gap that makes it impossible to fully close the gap between needing a programmer and a machine doing the work. Nothing about the current evolution of LLMs suggests that they are close to solving this. The current messaging is basically, look how far we got this time, we will for sure reach AGI or full replaceability by throwing X more dollars at the problem.
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.
Cmon man, look at nature, exponential curves almost never are actually exponential. Likely it's the first part of a logistic curve. Of course you can sit here all day and cry about the worst outcome for an event in the long list of things no one can predict. It sounds like you've made your mind up anyways and refuse to listen to reason, so why keep replying to literally everyone here telling you that your buying into the hype too much.
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
People keep telling students basically to “think happy thoughts” and are not being honest with them. The field is contracting today while more people with experience are chasing fewer jobs and then AI is hallowing out the low end.
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.
If "resembling" intelligence was enough, all programmers would've been replaced long ago.
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...
Why all these approaches have not succeeded is that to close the gap, you have to backtrack on all the effort made so far. Like choosing a shortcut and stumbling on an impassable ravine. The only way is to go back.
It will be fine. It may not be what you expected, and it may be harder than you expected, but programming and software engineering won't go away. The job is changing and we all have to either change with it or find something else.
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.
In addition to the good responses you've gotten about not overreacting to hype cycles I'll add that you should also try to spend less time worrying about the unknown. I understand the appeal of a straightforward career path of college major -> internship -> junior role -> mid-level -> senior all in the same field. That works out great for many people, but you should also be aware that there are a lot, and I mean a lot of people whose path ended up looking nothing like that and are leading happy comfortable lives.
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.
Oh man the hype around RoR was nuts. You’d get these enterprise Java developers getting their first taste of a “python/php/ruby” language and they’d all make gushing blog posts about how quickly they put together some (rather simple) app. They’d all say how many orders of magnitude more productive they were thanks to RoR.
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)
Actually curious - where have they? Zuck's claim didn't seem to be true.
I'd imagine a few places that have low technical acumen have tried, but I'll want to see how much they pay for SWEs willing to clean that codebase after they let LLMs run amok on it.
How? Seems obvious that I missed the boat on LLMs. I don't have any ideas anyway (I have only one "idea", and it's someone elses and I have no faith that it'll get me a foothold). Robotics will be solved pretty soon by 10x reasoners if this development curve continues. Everything I can "change to" has a 2 year delta and that is a 100x capability change within the AI space right now.
> Robotics will be solved pretty soon by 10x reasoners if this development curve continues
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.
My buddy recently had asked me whether he should pivot into software dev. I told him: if you have a problem to solve through programming, learn to code and do it; if you don’t, don’t. Programmers that will survive LLM revolution naturally find problems to solve. If you aren’t such a person it might not be a direction for you.
what are you attempting to achieve with this idea? what kind of foothold? ideas are everywhere, they are cheap. the idea plus the execution, timing, marketing, and approach are all factors in something being successful. maybe you are thinking you need to make a startup or something to be successful.
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.
I dunno, a job? I don't think one other person's idea is enough.
> 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.
can you describe how any idea of this form connects to a job? I think what I'm saying is you don't need any "idea" - it's enough to have skills. You might be overestimating the bar you need to it or what it takes to get jobs in general.
The only thing I think that makes my resume as a student appealing is having real-world projects that show I can meaningfully develop. I'd need similar for GenAI, I'd imagine.
> 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.
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.
I could tell you not to worry, but I don't think I will.
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.
> Any "normal" engineering field will be solved with the right domain knowledge.
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.
Required time to move into a regulated engineering field is 4 years. 4 years in the AI world is currently a 10^4 = 10000x capability delta. It's not like the engineering and academia curmudgeons will replace their employees as much be utterly destroyed by the AI labs hiring maybe one or two tenured professors per field to make an internal startup and then letting them oversee what the megascaled reasoners spit out at breakneck pace with a sufficiently low hallucination rate.
Yeah kinda seems like this guy would be better off pivoting to landscaping or baking or something. Maybe construction, there's always work in construction. Pays well too!
Pivot into cybersecurity?
As a pentester, a mountain of security bugs in a mountain of AI produced slop that no one understands is the ideal provider of job security, I guess
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.
Never loose hope, I'm assuming you are young if you're a student right now. Time is on your side, no matter where the industry goes, just flow with it, try to learn the new technologies so you're never behind others who are competing for same positions.
I want to learn, but I can't display that I learned them. You know the whole thing where real projects are more valuable than simply "I did a tutorial"? I struggle to find ways to apply LLMs practically beyond like one project (which is basically someone else's anyway). That's my struggle.
If you can't figure out something innovative and ground breaking to do as a project try to copy something which already exists and you find useful.
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.
Until reasoner AI 10x's research and solves it far ahead of schedule.
You don't even need robotics, just a good multi-modal reasoner model with domain knowledge that you can attach to a headset manna-style [0]. The only thing that makes blue collar work different from any minimum wage labor is the System 2 reasoning required, and that'll get solved.
It sounds like you've never used a welding torch, installed a kitchen sink, or done similar blue collar work. These jobs will never be replaced by robots, or by a non-trained person wearing a headset.
> It sounds like you've never used a welding torch, installed a kitchen sink, or done similar blue collar work. These jobs will never be replaced by robots, or by a non-trained person wearing a headset.
Why do you think they will never be replaced by robots?
Not the person who said it and I wouldn't say "never"...
But I will say that until we have a robot that can fold laundry, we won't have a robot that can go into your crawlspace and replace a chunk of crusty old galvanized pipe with copper or pex.
Robots have excelled, so far, in controlled environments. Dealing with the chaos of plumbing in a building that has been "improved" by different people over the course of a century is the opposite of that.
One thing is as sibling post commented, the complexity of such jobs are staggering from a robotics point of view.
The other thing is that the salary of the plumber or welder is in the range $20/hr to $40/hr. Can you make a general purpose, agile robot function at a total cost of ownership that's substantially lower than this?
Also, you know, muscle memory. The idea that you could slap a headset on a rando and just walk them through doing a trade is ludicrous. It's a great teaching tool, but you can't use it to replace a trade worker real-time.