I spend very little of my overall time at work actually coding. It’s a nice treat when I get a day where that’s all I do.
From my limited work with Copilot so far, the user still needs to know what they’re doing. I have 0 faith a product owner, without a coding background, can use AI to release new products and updates while firing their whole dev team.
When I say most of my time isn’t spent coding, a lot of that time is spend trying to figure out what people want me to build. They don’t know. They might have a general idea, but don’t know details and can’t articulate any of it. If they can’t tell me, I’m not sure how they will tell an LLM. I ended up building what I assume they want, then we go from there. I also add a lot of stuff that they don’t think about or care about, but will be needed later so we can actually support it.
If you were to go in another direction, what would it be where AI wouldn’t be a threat? The first thing that comes to my mind is switching to a trade school and learning some skills that would be difficult for robots.
Chatgpt already eliminated many entry-level jobs like writer or illustrator. Instead of hiring multiple teams of developers, there will be one team with few seniors and multiple AI coding tools.
Guess how depressing to the IT salaries it will be?
> the Jevons paradox occurs when technological progress increases the efficiency with which a resource is used (reducing the amount necessary for any one use), but the falling cost of use induces increases in demand enough that resource use is increased, rather than reduced.
When I was coding in the 90s, I was in a team that replaced function calls into new and exciting interactions with other computers which, using a queuing system, would do the computation and return the answer back. We'd have a project of having someone serialize the C data structures that were used on both sides into something that would be compatible, and could be inspected in the middle.
Today we call all of that a web service, the serialization would take a minute to code, and be doable by anyone. My entire team would be out of work! And yet, today we have more people writing code than ever.
When one accountant can do the work of 10 accountants, the price of the task lowers, but a lot of people that before couldn't afford accounting now can. And the same 10 accountaings from before can just do more work, and get paid about the same.
As far as software, we are getting paid A LOT more than in the early 90s. We are just doing things that back then would be impossible to pay for, our just outright impossible to do due to lack of compute capacity.
From NPR: <https://www.npr.org/2015/02/27/389585340/how-the-electronic-...>
>GOLDSTEIN: When the software hit the market under the name VisiCalc, Sneider became the first registered owner, spreadsheet user number one. The program could do in seconds what it used to take a person an entire day to do. This of course, poses a certain risk if your job is doing those calculations. And in fact, lots of bookkeepers and accounting clerks were replaced by spreadsheet software. But the number of jobs for accountants? Surprisingly, that actually increased. Here's why - people started asking accountants like Sneider to do more.
When mechanization appeared, the profession split into bookkeeping and accounting. Bookkeeping became a job for women as it was more boring and could be paid lower salaries (we're in the 1800s here). Accountants became more sophisticated but lower numbers as a %. Together, both professions grew like crazy in total number though.
So if the same happens you could predict a split between software engineers and prompt engineers. With an explosion in prompt engineers paid much less than software engineers.
> the number of accountants/book- keepers in the U.S. increased from circa 54,000 workers [U.S. Census Office, 1872, p. 706] to more than 900,000 [U.S. Bureau of the Census, 1933, Tables 3, 49].
> These studies [e.g., Coyle, 1929; Baker, 1964; Rotella, 1981; Davies, 1982; Lowe, 1987; DeVault, 1990; Fine, 1990; Strom, 1992; Kwolek-Folland, 1994; Wootton and Kemmerer, 1996] have traced the transformation of the of- fice workforce (typists, secretaries, stenographers, bookkeepers) from predominately a male occupation to one primarily staffed by women, who were paid substantially lower wages than the men they replaced.
> Emergence of mechanical accounting in the U.S., 1880-1930 [PDF download] https://www.google.com/url?sa=t&source=web&rct=j&opi=8997844...
But that’s normal, eg, we have different standards for a shed (yourself), house (carpenter and architect), and skyscraper (bonded firms and certified engineers).
The quality of said designs can vary wildly. Some designs I get from other team I completely ignore, because they have no idea what they’re talking about. Just because someone has the title doesn’t mean they deserve it.
Alternatively, I’ve thought a bit about this previously and have a slight different hypothesis. Businesses are ran by “PM types”.the only reason that developers have jobs is because pm types need technical devs to build their vision. (Obviously I’m making broad strokes here as there are also plenty of founders that ARE the dev). Now, if ai makes technical building more open to the masses, I could foresee a scenario where devs and pms actually converge into a single job title that eats up the technical-leaning PMs and the “PM-y” devs. Devs will shift to be more PM-y or else be cut out of the job market because there is less need for non-ambitious code monkeys. The easier it becomes for the masses to build because of AI, the less opportunity there is for technical grunt work. If before it took a PM 30 minutes to get together the requirements for a small task that took the entry level dev 8 hours to do, then it made sense. Now if AI makes it so a technical PM could build the feature in an hour, maybe it just makes sense to have the PM do the implementation and cut out the code monkey. And if the PM is doing the implementation, even if using some mythical AI superpower, that’s still going to have companies selecting for more technical PM’s. In this scenario I think non-technical PMs and non-pm-y devs would find themselves either without jobs or at greatly reduced wages.
I guess it's always been true to some extent that single individuals are capable of amazing things. For example, the guy who's built https://www.photopea.com/. But they must be exceptional - this empowers more people to do things like that.
I'm awestruck by how good Claude and Cursor are. I've been building a semi-heavy-duty tech product, and I'm amazed by how much progress I've made in a week, using a NextJS stack, without knowing a lick of React in the first place (I know the concepts, but not the JS/NextJS vocab). All the code has been delivered with proper separation of concerns, clean architecture and modularization. Any time I get an error, I can reason with it to find the issue together. And if Claude is stuck (or I'm past my 5x usage lol), I just pair programme with ChatGPT instead.
Meanwhile Google just continues to serve me outdated shit from preCovid.
We're not dealing with calculators here, are we?
This just feels extremely shortsighted. LLMs are just tools right now, but the goal of the entire industry is to make something more than a tool, an autonomous digital agent. There's no equivalent concept in other technology like calculators. It will happen or it will not, but we'll keep getting closer every month until we achieve it or hit a technical wall. And you simply cannot know for sure such a wall exists.
I’ve seen the videos of Amazon warehouses, where the shelves move around to make popular items more accessible for those fetching stuff. This is possible today, but what percentage of companies do this? At what point is it with the investment for a growing company? For some companies it’s never worth it. Others don’t have the vision to see the light at the end of the tunnel.
A lot of things that we may think of as old or standard practice at this point would be game changing for some smaller companies outside of tech. I hear my friends and family talking about various things they have to do at their job. A day writing a few scripts could solve a significant amount of toil. But they can’t even conceptualize where to begin to change that, they aren’t even thinking about it. Release all the AI the world has to offer and they still won’t. I bet some freelance devs could make a good living bouncing from company to company pair programming with their AI to solve some pretty basic problems for small non-tech companies that would be game changes for them, while being rather trivial to do. Maybe partner with a sales guy to find the companies and sell them on the benefits.
It was so satisfying to code up a solution where you knew you would get through it little by little.
Can you point me to any company whose feature pipeline is finite? Maybe these tools will help us reach that point, but every company I've ever worked for, and every person I know who works in tech has a backlog that is effectively infinite at this point.
Maybe if only a few companies had access to coding LLMs they could cut their stuff, when the whole industry raises the bar, nothing really changes.
LLMs cannot decide what to work on, or manage large bodies of work/code easily. They do not understand the risk of making a change and deploying it to production, or play nicely in autonomous settings. There is going to be a massive amount of work that goes into solving these problems. Followed by a massive amount of work to solve the next set of problems. Software/ML engineers will have work to do for as long as these problems remain unsolved.
I feel like the software developer version of an investment banking Managing Director asking my analyst to build me a pitch deck an hour before the meeting.
Compare that to Gpt 4o which gives me a massive chunk of unsorted gibberish that I have to pore through and organize myself.
Besides, most IBD MDs don't know if they're getting correct numbers either :).
What is hard is gather requirements, dealing with unexpected production issues, scaling, security, fixing obscure bugs and integration with other systems.
The coding part is about 10% of my job and the easiest part by far.
Can you confidently say that an LLM won’t be better than an average 22 year old coder within these 30 years?
It's not as out there as e.g. this article (https://www.wsj.com/articles/SB10001424052748704206804575468...) - 7 careers is probably a crazy overestimate. But it is >1.
Too many people here have spent time in elite corporations and don't realize how mediocre the bottom 50th percentile of coding talent is
Either AI shatters this charade, or we make up some new laws to restrain it and continue to pretend all is well.
However, there is no good reason in a free society that this stuff should be widely accessible. Really, it should be illegal without a clearance, or need-to-know. We don't let just anyone handle the nukes...
Skills aren't even something that dictates software spend, it seems.
I'm trying not to look at it as a potential career-ending event, but rather as another tool in my tool belt. I've been in the industry for 25 years now, and this is way more of an advancement than things like IntelliSense ever was.
No 22 years old coder is better than the open source library he's using taken straight from github, and yet he's the one who's getting paid for it.
People who claim IA will disrupt software development are just missing the big picture here: software jobs are already unrecognizable from what it was just 20 years ago. AI is just another tool, and as long as execs won't bother use the tool by themselves, then they'll pay developers to do it instead.
Over the past decades, writing code has become more and more efficient (better programming languages, better tooling, then enormous open source libraries) yet the number of developers kept increasing, it's Jevons paradox[1] in its purest form. So if past tells us anything, is that AI is going to create many new software developer jobs! (because the amount of people able to ship significant value to a customer is going to skyrocket, and customers' needs are a renewable resource).
Sit down and be really honest with yourself. If your goal is to have a nice $250K+ year job, in a perfect conflict-free zone, and don't mind Dilbert-esque situations...that will evaporate. Google is full of Ivy Leaguers like that, who would have just gone to Wall Street 8 years ago, and they're perennially unhappy people, even with the comparative salary advantage. I don't think most of them even realize because they've always just viewed a career as something you do to enable a fuller life doing snowboarding and having kids and vacations in the Maldives, stuff I never dreamed of and still don't have an interest in.
If you're a bit more feral, and you have an inherent interest and would be doing it on the side no matter what job you have like me, this stuff is a godsend. I don't need to sit around trying to figure out Typescript edge functions in Deno, from scratch via Google, StackOverflow, and a couple books from Amazon, taking a couple weeks to get that first feature built. Much less debug and maintain it. That feedback loop is now like 10-20 minutes.
On the other hand now is the best time to build your own product as long you are not interested only in software as craftmanship but in product development in general. Probably in the future expectation will be your are not only monkey coder or craftman but also project lead/manager (for AI teams), product developer/designer and maybe even UX/designer if you will be working for some software house, consulting or freelancing.
Trick with the $1M number is a site license was $999 and receipt printers were sold ~at cost, for $300. 1_000_000 / ((2 x 300) + 1000) ~= 500 customers.
Now I'm doing an "AI client", well-designed app, choose your provider, make and share workflows with LLMs/search/etc.
I am one of those Ivy Leaguers, except a) I did go to Wall Street, and b) I liked my job.
More to the point, computers have been a hobby all my life. I well remember the epiphany I felt while learning Logo in elementary school, at the moment I understood what recursion is. I don't think the fact that the language I have mostly written code in in recent years is Emacs Lisp is unrelated to the above moment.
Yet I have never desired to work as a professional software developer. My verbal and math scores on the SAT are almost identical. I majored in history and Spanish in college while working for the university's Unix systems group. Before graduation I interviewed and got offers (including one explicitly as a developer) at various tech startups. Of my offers I chose an investment banking job where I worked with tech companies; my manager was looking for a CS major but I was able to convince her that I had the equivalent thereof. Thank goodness for that; I got to participate in the dotcom bubble without being directly swept up in its popping, and saw the Valley immediately post-bubble collapse. <https://news.ycombinator.com/item?id=34732772>
Meanwhile, I continue to putter around with Elisp (and marveling at Lisp's elegance) and bash (and wincing at its idiosyncracies) at home, and also experiment with running local LLMs on my MacBook. My current project is fixing bugs and adding features to VM, the written-in-Elisp email client I have used for three decades. So I say, bring on AI! Hopefully it will mean fewer people going into tech just to make lots of money and more who, like me and Wall Street, really want to do it for its own sake.
They can't build and maintain relationships with stakeholders. They can't tell you why what you ask them to do is unlikely to work out well in practice and suggest alternative designs. They can't identify, document and justify acceptance criteria. They can't domain model. They can't architect. They can't do large-scale refactoring. They can't do system-level optimization. They can't work with that weird-ass code generation tool that some hotshot baked deeply into the system 15 years ago. They can't figure out why that fence is sitting out in the middle of the field for no obvious reason. etc.
If that kind of stuff sounds like satisfying work to you, you should be fine. If it sounds terrible, you should pivot away now regardless of any concerns about LLMs, because, again, this is like 90% of the real work.
Joking aside, even with AI generating code, someone has to know how to talk to it, how to understand the output, and know what to do with it.
AI is also not great for novel concepts and may not fully get what's happening when a bug occurs.
Remember, it's just a tool at the end of the day.
...
And it was. :-) Nice callback!
And may still not understand even when you explicitly tell it. It wrote some code for me last week and made an error with an index off by 1. It had set the index to 1, then later was assuming a 0 index. I specifically told it this and it was unable to fix it. It was in debug hell, adding print statements everywhere. I eventually fixed it myself after it was clear it was going to get hung up on this forever.
It got me 99% of the way there, but that 1% meant it didn’t work at all.
We have working fine cabinet makers who use mostly hand tools and bandsaws in our economy, we have CAD/CAM specialists who tell CnC machines what to build at scale; we’ll have the equivalent in tech for a long time.
That said, if you don’t love the building itself, maybe it’s not a good fit for you. If you do love making (digital) things, you’re looking at a super bright future.
I've been in software engineering for over 20 years. I've seen massive growth in the productivity of software engineers, and that's resulted in greater demand for them. In the near term, AI should continue this trend.
2. It's possible that at some point, AI will advance to where we can remove software engineers from the loop. We're not even close to that point yet. In the mean time, software engineering is an excellent way to learn about other business problems so that you'll be well-situated to address them (whatever they'll be at that time).
If we somehow get AGI, it'll change everything, not just SWE.
If not, my belief is that there will be a lot more demand for good SWEs to harness the power of LLMs, not less. Use them to get better at it faster.
Yet I'm comparing these to the problems I solve every day and I don't see any plausible way they can replace me. But I'm using them for tasks that would have required me to hire a junior.
Make that what you will.
I hope I’m wrong, and it instead shows that more pay and fewer hours lead to a better economy, because people have money and time to spend it… and output isn’t impacted enough to matter.
Actually now is really good time to get to SWE. The craft contains lots of pointless cruft that LLM:s cut through like knife through hot butter.
I’m actually enjoying my job now more than ever since I dont’t need to pretend to like the abysmal tools the industry forces on us (like git), and can focus mostly on value adding tasks. The amount of tiresome shoveling has decreased considerably.
A lot of the tasks that used to take considerable time are so much faster and less tedious now. It still puts a smile on my face to tell an LLM to write me scripts that do X Y and Z. Or hand it code and ask for unit tests.
And I feel like I'm more likely to reach for work that I might otherwise shrink from / outside my usual comfort zone, because asking questions of an LLM is just so much better than doing trivial beginner tutorials or diving through 15 vaguely related stack overflow questions (I wonder if SO has seen any significant dip in traffic over the last year).
Most people I've seen disappointed with these tools are doing way more advanced work than I appear to be doing in my day to day work. They fail me too here and there, but more often than not I'm able to get at least something helpful or useful out of them.
If someone expects the LLM to be the senior contributor in novel algorithm development, they will be disappointed for sure. But there is so, so much stuff to do to idiot savant junior trainees with infinite patience.
Unfortunately the latter is the vast majority of software jobs.
If someone is building web shop from scratch because he wants to sell some products, he is doing something wrong. If someone builds web shop to compete with Shopify he also is doing something wrong most likely.
It's very important to human progress that all jobs have poor working conditions and shit pay. High salaries and good conditions are evidence of inefficiency. Precarity should be the norm, and I'm glad AI is going to give it to us.
Btw communism is capitalism without systemic awareness of inefficiencies.
It totally does. Regulation is basically opposed to capitalism working as designed.
C.f. East India company. Then imagine them with modern military and communications tech.
This is equally true for any alternative system to capitalism.
They won't go broke, but landing a $175k work from home job with platinum tier benefits will be near impossible. $110K with a hybrid schedule and mediocre benefits will be very common even for seniors.
Would there be reasonably priced houses in Seattle/SF? Can't see that happening
Except for medical doctors, nurses, and some niche engineering professions, I really struggle to think of jobs requiring higher education that couldn't be largely automated by an LLM that is smart enough to replace a senior software engineer. These few jobs are protected mainly by the physical aspect, and low tolerance for mistakes. Some skilled trades may also be protected, at least if robotics don't improve dramatically.
Personally, I would become a doctor if I could. But of all things I could've studied excluding that, computer science has probably been one of the better options. At least it teaches problem solving and not just memorization of facts. Knowing how to code may not be that useful in the future, but the process of problem solving is going nowhere.
I do believe some parts of their jobs will be automated, but not enough (especially with growing demand) to really hurt career prospects. Even for those parts, it will take a long a while due to the regulated nature of the sector.
I love landscaping my garden lately, would I just get a robot to do that and watch ?
Going to be a weird time.
In fact, it's more encouragement to continue. A lot of issues we face as programmers are a result of poor, inaccurate, or non-existent documentation, and despite their many faults and hallucinations LLMs are providing something that Google and Stack Overflow have stopped being good at.
The idea that AI will replace your job, so it's not worth establishing a career in the field, is total FUD.
By the "past year's worth of development" I assume you mean the layoffs? Have you been in the industry (or any industry) long? If so, you would have seen many layoffs and bulk-hiring frenzies over the years... it doesn't mean anything about the industry as a whole and it's certainly a foolish thing to change career asperations over.
Specifically regarding the LLM - anyone actually believing these models will replace developers and software engineers, truly, deeply does not understand software development at even the most basic fundamental levels. Ignore these people - they are the snake oil salesmen of our modern times.
I don't know what will be automated first of the competent senior software engineer and say, a carpenter, but once the programmer has been automated away, the carpenter (and everything else) will follow shortly.
The reasoning is that there is such a functional overlap between being a standard software engineer and an AI engineer or researcher, that once you can automate one, you can automate the other. Once you have automated the AI engineers and researchers, you have recursive self-improving AI and all bets are off.
Essentially, software engineering is perhaps the only field where you shouldn't worry about automation, because once that has been automated, everything changes anyways.
From all my friends that are using LLMs, we software engineers are the ones that are taking the most advantage of it.
I am in no way fearful I am becoming irrelevant, on the opposite, I am actually very excited about these developments.
To my knowledge, there is no current AI system that can replace a white collar worker in any multistep task. The only thing they can do is support the worker.
Most jobs are safe for the forseable future. If your job is highly repetitive and a company can produce a perfect dataset of it, I'd worry.
Jobs like a factory worker and call center support are in danger. But the work is perfectly monitorable.
Watch the GAIA benchmark. It's not nearly the complexity of a real-world job, but it would signal the start of an actual agentic system being possible.
If you are interested in using technology to create systems that add value for your users, there has never been a better time.
GPT-N will let you scale your impact way beyond what you could do on your own.
Your school probably isn’t going to keep abreast with this tech so it’s going to be more important to find side-projects to exercise your skills. Build a small project, get some users, automate as much as you can, and have fun along the way.
Just like nobody programs on punch cards anymore, learning details of a specific technology without deeper understanding will become obsolete. But general knowledge about computer science will become more valuable.
- AI comes fast, there is nothing you can do: Honestly, AI can already handle a lot of tasks faster, cheaper, and sometimes better. It’s not something you can avoid or outpace. So if you want to stick with software engineering, do it because you genuinely enjoy it, not because you think it’s safe. Otherwise, it might be worth considering fields where AI struggles or is just not compatible. (people will still want some sort of human element in certain areas).
- There is some sort of ceiling, gives you more time to act: There’s a chance AI hits some kind of wall that’s due to technical problems, ethical concerns, or society pushing back. If that happens, we’re all back on more even ground and you can take advantage of AI tools to improve yourself.
My overall advice; and it will probably be called out as cliche/simplistic just follow what you love, just the fact that you have an opportunity to pursue to study anything at all is something that many people don't have. We don't really have control in a lot of stuff that happens around us and that's okay.
Humans never say "oh neat I can do thing with 10% of the effort now, guess I'll go watch tv for the rest of the week", they say "oh neat I can do thing with 10% of the effort now, I'm going to hire twice as many people and produce like 20x as much as I was before because there's so much less risk to scaling now."
I think there's enough unmet demand for software that efficiency increases from automation are going to be eaten up for a long time to come.
1. AI will suck up a bunch of engineers to run, maintain and build on its own.
2. Ai will open new fields that is not yet dominated by software. Ie. Driving ect.
3. Ai tools will lower the bar for creating software meaning industries that weren't financially viable will now become viable for software automation.
Will the AI become as smart as you or I? Recognize that these things have tiny context windows. You get the context window of "as long as you can remember".
I don't see this kind of AI replacing programmers (though it probably will replace low-skill offshore contract shops). It may have a large magnifying effect on skill. Fortunately there seem to be endless problems to solve with software - it's not like bridges or buildings; you only need (or can afford) so many. Architects should probably be more worried.
So basically, switching majors is just running to the back of a sinking ship. Sorry.
Second, just because a good engineer can have much higher throughput of work, multiplied by AI tools, we know the AI output is not reliable and needs a second look by humans. Will those 5% be able to stay on top of it? And keep their sanity at the same time?
As for maintaining sanity… I’m cautiously optimistic that future models will continue to get better. Very cautiously. But cursor with Claude slaps and I’m not getting crazy, I actually enjoy the thing figuring out my next actions and just suggesting them.
I have been coding a lot with AI recently. Understanding and putting into thought what is needed for the program to fix your problem remains as complex and difficult as ever.
You need to pose a question for the AI to do something for you. Asking a good question is out of reach for a lot of people.
I would suggest the fundamentals of computer science and software engineering are still critically important ... but the development of new code, and especially the translation or debugging of existing code is where LLMs will shine.
I currently work for an SAP-to-cloud consulting firm. One of the singlemost compelling use cases for LLMs in this area is to analyze custom code (running in a client's SAP environment), and refactor it to be compatible with current versions of SAP as a cloud SaaS. This is a specialized domain but the concept applies broadly: pick some crufty codebase from somewhere, run it through an LLM, and do a lot of mostly copying & pasting of simpler, modern code into your new codebase. LLMs take a lot of the drudgery out of this, but it still requires people who know what they're looking at, and could do it manually. Think of the LLM as giving you an efficiency superpower, not replacing you.
Hundreds of billions of dollars have been invested in a technology and they need to find a way to start making a profit or they're going to run out of VC money.
You still have to know what to build and how to specify what you want. Plain language isn't great at being precise enough for these things.
Some people say they'll keep using stuff like this as a tool. I wouldn't bet the farm that it's going to replace humans at any point.
Besides, programming is fun.
This release has shifted my personal prediction of when this is going to happen further into the future, because OpenAI made a big deal hyping it up and it's nothing - preferred by humans over GPT-4o only a little more than half the time.
1. What other course of study are you confident would be better given an AI future? If there's a service sector job that you feel really called to, I guess you could shadow someone for a few days to see if you'd really like it?
2. Having spent a few years managing business dashboards for users, less than 25% ever routinely used the "user friendly" functionality we built to do semi-custom analysis. We needed 4 full time analytics engineers to spend at least half their time answering ad hoc questions that could have been self-served, despite an explicit goal of democratizing data. All that is to say; don't over estimate how quickly this will be taken up, even if it could technically do XYZ task (eventually, best-of-10) if prompted properly.
3. I don't know where you live, but I've spent most of my career 'competing' with developers in India who are paid 33-50% as much. They're literally teammates, it's not a hypothetical thing. And they've never stopped hiring in the US. I haven't been in the room for those decisions and don't want to open that can of worms here, but suffice to say it's not so simple as "cheaper per LoC wins"
LLMs are just tools, they help but they do not replace developers (yet).
Yes but they will certainly have a lot of downward pressure on salaries for sure.
It wasn’t trivial that combination was even the culprit.
I’ve been around the block with absl before, so it wasn’t a total nightmare, but it was like, oof, I’m going to do real work this afternoon.
They don’t pay software engineers for the easy stuff, they pay us because it gets a little tricky sometimes.
I’ll reserve judgement on this new one until I try it, but the previous ones, Sonnet and the like, they were no help with something like that.
When StackOverflow took off, and Google before that, there wide swaths of rote stuff that just didn’t count as coding anymore, and LLMs represent sort of another turn of that crank.
I’ve been wrong before, and maybe o1 represents The Moment It Changed, but as of now I feel like a sucker that I ever bought into the “AI is a game changer” narrative.
In the same way, training your mind is not useless. Perhaps as things develop, we will get back to the idea that the purpose of education is not just to get a job, but to help you become a better and more virtuous person.
Software engineering will be a profession of the past, similar to how industrial jobs hardly exist.
If you have a strong intuition with software & programming you may want to shift towards applying AI into already existing solutions.
I think software engineers who also understand business may yet have an advantage over pure business people, who don't understand technology. They should be able to tell AI what to do, and evaluate the outcome. Of course "coders" who simply produce code from pre-defined requirements will probably not have a good career.
This is typical of automation. First, there are numerous workers, then they are reduced to supervisors, then they are gone.
The future of business will be managing AI, so I agree with what you're saying. However most software engineers have a very strong low level understanding of programming. Not a business sense of application
Is this task:
“About 2 minutes later, these values were captured, again spaced 5 seconds apart.
0160093201 0160092d01 0160092801 0160092301 0160091e01”
[Find the part that is changing]
really even need an AI to assist (this should be a near instant task for a human with basic CS numerical skills)? If this is the type of task one thinks an AI would be useful for they are likely in trouble for other reasons.
Also notable that you can cherry pick more impressive feats even from older models, so I don’t necessarily think this proves progress.
I still wouldn’t get too carried away just yet.
I just watched a tutorial on how to leverage v1, claude, and cursor to create a marketing page. The result was a convoluted collection of 20 or so TS files weighing a few MB instead of a 5k HTML file you could hand bomb in less time.
I wouldn’t feel too threatened yet. It’s still just a tool and like any tool, can be wielded horribly.
And if you hired an actual team of developers to do the same thing, it is very likely that you'd have gotten a convoluted collection of 20 or so TS files weighing a few MB instead of a 5k HTML file you could hand bomb in less time.
I you like coding because of the things it lets you build, then LLMs are exciting because you can build those things faster.
If on the other hand you enjoy the mental challenge but aren't interested in the outputs, then I think the future is less bright for you.
Personally I enjoy coding for both reasons, but I'm happy to sacrifice the enjoyment and sense of accomplishment of solving hard problems myself if it means I can achieve more 'real world' outcomes.
Another thing I'm excited about is that, as models improve, it's like having an expert tutor on hand at all times. I've always wanted an expert programmer on hand to help when I get stuck, and to critically evaluate my work and help me improve. Increasingly, now I have one.
I've been around for multiple decades. Nothing this interesting has happened since at least 1981, when I first got my hands on a TRS-80. I dropped out of college to work on games, but these days I would drop out of college to work on ML.
So it is not just software engineering, it is also chemistry and even medicine. Every science and art major should consider whether they should quit school. Ultimately the answer is no, don't quit school because AI makes us productive, and that will make everything cheaper, but will not eliminate the need for humans. Hopefully.
Your concern would be like once C got invented, why should you bother being a software engineer? Because C is so much easier to use than assembly code!
The answer, of course, is that software engineering will simply happen in even more powerful and abstract layers.
But, you still might need to know how those lower layers work, even if you are writing less code in that layer directly.
We now have a tool that writes code and solves problems autonomously. It's not comparable.
Those in the bottom (100-X)% may be better off partying it up for a few years, but then again the same can be said for other AI-affected disciplines.
Masseurs/masseuses have nothing to worry about.
It is not too late. These LLMs still need very specialist software engineers that are doing tasks that are cutting edge and undocumented. As others said Software Engineering is not just about coding. At the end of the day, someone needs to architect the next AI model or design a more efficient way to train an AI model.
If I were in your position again, I now have a clear choice of which industries are safe against AI (and benefit software engineers) AND which ones NOT to get into (and are unsafe to software engineers):
Do:
- SRE (Site Reliability Engineer)
- Social Networks (Data Engineer)
- AI (Compiler Engineer, Researcher, Benchmarking)
- Financial Services (HFT, Analyst, Security)
- Safety Critical Industries (defense, healthcare, legal, transportation systems)
Don't: - Tech Writer / Journalist
- DevTools
- Prompt Engineer
- VFX Artist
The choice is yours.like another commenter, i do not have a lot of faith, that people who do not have at minimum: fundamental fluency in programming (even with a dash of general software architecture and practices).
there is no "push button generate and glueing components together in a way that can survive at scale and be maintainable" without knowing what the output means, and implies with respect to integration(s).
however, those with the fluency, domain, and experience, will thrive, and continue thriving.
Are your peers getting internships at FANGs or hedge funds? Stick with it. You can probably bank enough money to make it worth it before shtf.
Let's assume today a LLM is perfectly equivalent to a junior software engineer. You connect it to your code base, load in PRDs / designs, ask it to build it, and viola perfect code files
1) Companies are going to integrate this new technology in stages / waves. It will take time for this to really get broad adoption. Maybe you are at the forefront of working with these models
2) OK the company adopts it and fires their junior engineers. They start deploying code. And it breaks Saturday evening. Who is going to fix it? Customers are pissed. So there's lots to work out around support.
3) That problem is solved, we can perfectly trust a LLM to ship perfect code that never causes downstream issues and perfectly predicts all user edge cases.
Never underestimate the power of corporate greediness. There's generally two phases of corporate growth - expansion and extraction. Expansion is when they throw costs out the window to grow. Extraction is when growth stops, and they squeeze customers & themselves.
AI is going to cause at least a decade of expansion. It opens up so many use cases that were simply not possible before, and lots of replacement.
Companies are probably not looking at their engineers looking to cut costs. They're more likely looking at them and saying "FINALLY, we can do MORE!"
You won't be a coder - you'll be a LLM manager / wrangler. You will be the neck the company can choke if code breaks.
Remember if a company can earn 10x money off your salary, it's a good deal to keep paying you.
Maybe some day down the line, they'll look to squeeze engineers and lay some off, but that is so far off.
This is not hopium, this is human nature. There's gold in them hills.
But you sure as shit better be well versed in AI and using in your workflows - the engineers who deny it will be the ones who fall behind
But... I will say I think the question you ask is a very fair question, and that there is, indeed, a LOT of uncertainty about what the future holds in this regard.
So far the best reason we have for optimism is history: so far the old adage has held up that "technology does destroy some jobs, but on balance it creates more new ones than it destroys." And while that's small solace to the buggy-whip maker or steam-engine engineer, things tend to work out in the long-run. However... history is suggestive, but far from conclusive. There is the well known "problem of induction"[1] which points out that we can't make definite predictions about the future based on past experience. And when those expectations are violated, we get "black swan events"[2]. And while they be uncommon, they do happen.
The other issue with this question is, we don't really know what the "rate of change" in terms of AI improvement is. And we definitely don't know the 2nd derivative (acceleration). So a short-term guess that "there will be a job for you in 1 year's time" is probably a fairly safe guess. But as a current student, you're presumably worried about 5 years, 10 years, 20 years down the line and whether or not you'll still have a career. And the simple truth is, we can't be sure.
So what to do? My gut feeling is "continue to learn software engineering, but make sure to look for ways to broaden your skill base, and position yourself to possibly move in other directions in the future". Eg, don't focus on just becoming a skilled coder in a particular language. Learn fundamentals that apply broadly, and - more importantly - learn about how business work, learn "people skills"[3], develop domain knowledge in one or more domains, and generally learn as much as you can about "how the world works". Then from there, just "keep your head on a swivel" and stay aware of what's going on around you and be ready to make adjustments as needed.
It might not also hurt to learn a thing or two about something that requires a physical presence (welding, etc.). And just in case a full-fledged cyberpunk dystopia develops... maybe start buying an extra box or two of ammunition every now and then, and study escape and evasion techniques, yadda yadda...
[1]: http://en.wikipedia.org/wiki/Problem_of_induction
That alone may not be enough. My son is excited about playing video games. :)
One decent reason to continue is that pretty much all white collar professions will be impacted by this. I think it's a big enough number that the powers that be will have to roll it out slowly, figure out UBI or something because if all of us are thrown into unemployment in a short time there will be riots. Like on a scale of all the jobs that AI can replace, there are many jobs that are easier to replace than software so its comparatively still a better option than most. But overall I'm getting progressively more worried as well.
But if you're there to improve your creativity and critical thinking skills, then I don't think those will be in short supply anytime soon.
The most valuable thing I do at my job is seldom actually writing code. It's listening to customer needs, understanding the domain, understanding our code-base and it's limitations and possibilities, and then finding solutions that optimize certain aspects be it robustness, time to delivery or something else.
My name is Rachel. I'm the founder of company whose existence is contingent on the continued existence, employment, and indeed competitive employment of software engineers, so I have as much skin in this game as you do.
I worry about this a lot. I don't know what the chances are that AI wipes out developer jobs [EDIT: to clarify, in the sense that they become either much rarer or much lower-paid, which is sufficient] within a timescale relevant to my work (say, 3-5 years), but they aren't zero. Gun to my head, I peg that chance at perhaps 20%. That makes me more bearish on AI than the typical person in the tech world - Manifold thinks AI surpasses human researchers by the end of 2028 at 48% [1], for example - but 20% is most certainly not zero.
That thought stresses me out. It's not just an existential threat to my business over which I have no control, it's a threat against which I cannot realistically hedge and which may disrupt or even destroy my life. It bothers me.
But I do my work anyway, for a couple of reasons.
One, progress on AI in posts like this is always going to be inflated. This is a marketing post. It's a post OpenAI wrote, and posted, to generate additional hype, business, and investment. There is some justified skepticism further down this thread, but even if you couldn't find a reason to be skeptical, you ought to be skeptical by default of such posts. I am an abnormally honest person by Silicon Valley founder standards, and even I cherry pick my marketing blogs (I just don't outright make stuff up for them).
Two, if AI surpasses a good software engineer, it probably surpasses just about everything else. This isn't a guarantee, but good software engineering is already one of the more challenging professions for humans, and there's no particular reason to think progress would stop exactly at making SWEs obsolete. So there's no good alternative here. There's no other knowledge work you could pivot to that would be a decent defense against what you're worried about. So you may as well play the hand you've got, even in the knowledge that it might lose.
Three, in the world where AI does surpass a good software engineer, there's a decent chance it surpasses a good ML engineer in the near future. And once it does that, we're in completely uncharted territory. Even if more extreme singularity-like scenarios don't come to pass, it doesn't need to be a singularity to become significantly superhuman to the point that almost nothing about the world in which we live continues to make any sense. So again, you lack any good alternatives.
And four: *if this is the last era in which human beings matter, I want to take advantage of it!* I may be among the very last entrepreneurs or businesswomen in the history of the human race! If I don't do this now, I'll never get the chance! If you want to be a software engineer, do it now, because you might never get the chance again.
It's totally reasonable to be scared, or stressed, or uncertain. Fear and stress and uncertainty are parts of life in far less scary times than these. But all you can do is play the hand you're dealt, and try not to be totally miserable while you're playing it.
-----
[1] https://manifold.markets/Royf214/will-ai-surpass-humans-in-c...