Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Student here. Can someone give me one reason why I should continue in software engineering that isn't denial and hopium?


The calculator didn’t eliminate math majors. Excel and accounting software didn’t eliminate accountants and CPAs. These are all just tools.

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.


Accounting mechanization is a good example of how unpredictable it can be. Initially there were armies of "accountants" (what we now call bookkeepers), mostly doing basic tasks of collecting data and making it fit something useful.

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...


Interesting. Another take on that split could be engineers split to upper class AI engineers and lower class AI prompt developers, aka ai builders vs ai appliers.

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.


We’re already seeing that split, between “developer” and “engineer”. We have been for years.

But that’s normal, eg, we have different standards for a shed (yourself), house (carpenter and architect), and skyscraper (bonded firms and certified engineers).


Not really, I’ve worked at places that only had one or the other of the titles for all programming jobs


I think it depends on the size of the company. The larger the larger the company, the more likely they are to split this stuff out. Though various titles may seem to bleed together. I have a software engineer title, while another guy on my team is a software architect… we effectively do the same job. Stepping back from a higher level view, as a general theme, those with an architect title are more likely to be responsible for an overall design, while the engineers may have some input and build things to support the design.

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.


If programming requires lots of talking, dialog and patiently explaining things woman might be dramatically better at it.


Agreed. The sweet spot is people who have product owner skills _and_ can code. They are quickly developing superpowers. The overhead of writing tickets, communicating with the team and so on is huge. If one person can do it all, efficiency skyrockets.

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.


Or people who can be product owners and can prompt LLMs to code (because I know him, that's me!).

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.


I’m afraid these tools are really good at getting beginners 90% of the way there, but no further.


90% of the way is still good enough for me because I can manage to think up and get through the rest of the 10%. The problem for me was that the 90% looked so overwhelming earlier and that would shy me away from pursuing that project at all.


I'm curious, with Cursor, why do you still need to use Claude?


I just started using Cursor a few days back, so still need to get a hold of all the keyboard shortcuts properly.


But excel eliminated need in multiple accountants. One accountant with excel replaced ten with paper.

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?


A whole lot of automation is limited not by what could be automated, but what one can automate within a given budget.

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.


The pay being larger, is caused (I think) by VC money and the illegality of non-compete contracts. If your competitor can do something you can't, hire someone away from the competitor to show you how to do it. Hence developers can demand more pay for retention, and more pay to move.


I don’t don’t doubt that it might depress salaries but that excel example is a good one in that suddenly every company could start to do basic financial analysis in a manner that only the largest ones could previously afford.


Yet another instance of Jevon's paradox ! https://en.m.wikipedia.org/wiki/Jevons_paradox

> 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.


Accountants still make plenty of money. Expertise in Excel also pays well independently of that.


Many are offshoring now, PwC just had a massive layoff announcement yesterday as well


Yeah, but if the number of them has shrunk 100 times even if they make 10 times more money still raises the question is it wise to become one?


The increased work capacity of an accountant means that nowadays even small businesses can do financial analysis that would not have scaled decades ago.


>But excel eliminated need in multiple accountants. One accountant with excel replaced ten with paper.

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.


lol, my accountant is pretty darn expensive.


> The calculator didn’t eliminate math majors. Excel and accounting software didn’t eliminate accountants and CPAs. These are all just tools.

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.


If we hit that point, it’s then a question of access, cost, learning curve, and vision of individual companies. Some things are technically possible, but done by very few companies.

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.


All good points.


The calculator didn’t eliminate math majors.

We're not dealing with calculators here, are we?


You can't ignore the fact that literally studying coding at this point is so demoralizing and you don't need really to study much if you think about it. You only need to be able to read the code to understand if it generated correctly etc but when if you don't understand some framework you just ask it to explain it to you etc. Basically gives vibes of a skill not being used anymore that much by us programmers. But will shift in more prompting and verifying and testing


I completed the book Programming Principles and Practice using C++ (which I HIGHLY recommend to any beginner interested in software engineering) about year ago with GPT4 as a companion. I read the book throughly and did all the exercises, only asking questions to GPT4 when I was stuck. This took me about 900-1000 hours total. Although I achieved my goal of learning C++ to a basic novice level, I acquired another skill unintentionally: the ability to break down tasks effectively to LLMs and prompt in a fashion that is extremely modular. I've been able to create complex apps and programs in a variety of programming languages even though I really only know C++. It has been an eye-opening experience. Of course it isn't perfect, but it is mind blowing and quite disturbing.


Semi-retired software/hardware engineer here. After my recent experiences with various coding LLMs (similar to the experience of the OP with the bluetooth fan protocol) I'm really glad I'm in a financial position such that I'm able to retire. The progress of these LLMs at coding has been astonishing over the last 18 months. Will they entirely replace humans? No. But as they increase programmer productivity fewer devs will be required. In my case the contract gig I was doing over this last summer I was able to do about 3 to 4X faster than I could've done it without LLMs. Yeah, they were generating a lot of boiler plate HDL code for me, but that still saved me several days of work at least. And then there was the test code that they generated which again saved me days of work. And their ability to explain old undocumented code that was part of the project was also extremely helpful. I was skeptical 18 months ago that any of this would be possible. Not anymore. I wasn't doing a project in which there would've been a lot of training examples. We're talking Verilog testbench generation based on multiple input Verilog modules, C++ code generation for a C program analyzer using libclang - none of this stuff would've worked just a few months back.


I will add that I am grateful that I also got to experience a world where AI did not spew tons of code like a sausage-making machine.

It was so satisfying to code up a solution where you knew you would get through it little by little.


This.


This. I'm not terrified by total automation (In that case all jobs are going away and civilization is going to radically alter), I'm scared of selective deskilling and the field getting squeezed tighter and tighter leaving me functionally in a dead end.


> But as they increase programmer productivity fewer devs will be required.

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 perform well on small tasks that are well defined. This definition matches almost every task that a student will work on in school leading to an overestimation of LLM capabiity.

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.


Careers are 30 years long

Can you confidently say that an LLM won’t be better than an average 22 year old coder within these 30 years?


Careers have failed to be 30 years long for a lot longer than 30 years now. That's one of the reasons that 4-year colleges have drastically lost their ROI, the other blade of those scissors being the stupendously rising tuition. AI is nothing but one more layer in the constantly growing substrate of computing technology a coder has to learn how to integrate into their toolbelts. Just like the layers that came before it: mobile, virtualization, networking, etc.


Careers are still longer than 30 years. How many people do you think are retiring at 48 or 51 years old these days? It’s a small minority. Most people work through 65: a career of about 45 years or more.


Right but most people don't stick a single career anymore. An individual career is <30 yrs, and the average person will have >1 of them.

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.


> Can you confidently say that an LLM won’t be better than an average 22 year old coder within these 30 years?

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).

[1]: https://en.wikipedia.org/wiki/Jevons_paradox


22 year old coder today or 22 year old coder 30 years from now? How a 22 year old codes 30 years from now may look like magic to you and me.


Huh careers are 30 years long? I don't know where you live but it's more like 45 years long where I live. The retirement age is 67.


yes, because this is still glorified autocomplete


the average coder is worse than an autocomplete

Too many people here have spent time in elite corporations and don't realize how mediocre the bottom 50th percentile of coding talent is


To be honest, if the bottom 50th percent of coding talent is going to be obsolete, I wonder what happens to rest of the "knowledge workers" in those companies. I mean people whose jobs consist of attending Teams meetings, making fancy powerpoint slides and reports, perhaps even excel if they are really competent. None of that is any more challenging for LLM than writing code. In fact replacing these jobs should be easier, since presentations and slides do not actually do anything, unlike a program that must perform a certain action correctly.


I've heard compelling arguments that we passed the "more people than jobs" threshold during the green revolution and as a civilization have collectively retrofitted UBI in the form of "fake email jobs" and endless layers of management. This also would explain https://wtfhappenedin1971.com/ pretty well.

Either AI shatters this charade, or we make up some new laws to restrain it and continue to pretend all is well.


Exactly. There's some need, perhaps, to keep these tools "up to date" because someone in a non-free country is going to use them in a horrendous manner and we should maybe know more about them (maybe).

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...


This is true and yet companies (both Private and Public sector) spend literal billions on Accenture /Deloitte slop that runs budgets will into the 10s of millions.

Skills aren't even something that dictates software spend, it seems.


I tried it out and was able to put together a decent libevent server in c++ with smart pointers, etc, and a timer which prints out connection stats every 30s. It worked remarkably well.

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.


Exactly, LLMs are not near ready to fully replace software engineers or any kind of knowledge workers. But they are increasingly useful tools that is true. https://www.lycee.ai/blog/ai-replace-software-engineer


Truth is, LLMs are going to make the coding part super easy, and the ceiling for shit coders like me has just gotten a lot lower because I can just ask it to deliver clean code to me.

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.


You mentioned in another comment you’ve used AI to write clean code, but here you mention you’re a “shit coder”. How do you know it’s giving you clean code?


I know the fundamentals but I'm a noob when it comes to coding with React or NextJS. Code that comes out from Claude is often segregated and modularized properly so that even I can follow the logic of the code, even if not the language and its syntax. If there's an issue with the code, causing it to fail at runtime, I am still able to debug it appropriately with my minimal language of JS. If any codebase can let me do that, then in my books that's a great codebase.

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 :).


Has the coding part ever been hard? When is the last time you faced a hard coding challenege?

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.


I went from economics dropout waiter who built a app startup with $0 funding and $1M a year in revenue by midway through year 1, sold it a few years later, then went to Google for 7 years, and last year I left. I'm mentioning that because the following sounds darn opinionated and brusque without the context I've capital-S seen a variety of people and situations.

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.


>Google is full of Ivy Leaguers like that, who would have just gone to Wall Street 8 years ago

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.


That's more well balanced opinion comparing to others I seen here. I also believe that the golden age with 250k+ salaries with solving easy problems will be gone in 5-10 years. Most people look at this AI improvements at current state and forget that you are supposed to have a profession for 40 years until retirement. 250k+ jobs will still exist 10 years from now but expectations will be much higher and competition much bigger.

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.


What did your startup do?


Point of sale, on iPad, in ~2011. Massively differentiated from Square / VC competitor land via doing a bunch of restaurant specific stuff early.

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.


Lol. I like this answer. You can either think of it in terms of "it'll eat my lunch" or "I now have 10x more capabilities and can be 100x more productive". The former category will be self-fulfilling.


Actually cutting code is maybe 10% of the job, and LLMs are absolute crap at the other 90%.

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.


Don't do it, help us keep our high salaries :D

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.


> may not fully get what's happening when a bug occurs.

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.


Ironically, just yesterday I asked sonnet to write a script in JavaScript, it went in a bit of a perpetual loop unable to provide an error free script (the reason for the errors were not immediately obvious). I then mentioned that it needs to be zero indexed, and it immediately provided an issue free version that worked.


Well now you're going to be paid a high salary for knowing when to use a 1 index vs a 0 index. :)


just change this to "I have AI Skills!!" :)

https://www.youtube.com/watch?v=hNuu9CpdjIo


Not having clicked the link yet, I'm going to speculate that this is the famous Office Space "I have people skills, damnit!" scene.

...

And it was. :-) Nice callback!


Coding is going to be mediated by these LLMs everywhere — you’re right about that. However, as of today, and for some time, practitioners will be critical partners / overseers; what this looks like today in my workflow is debugging, product specification, coding the ‘hard bits’, reworking / specifying architectures. Whatever of these fall of the plate in the coming years, you’ll never lose your creative agency or determination of what you want to build, no matter how advanced the computers. Maybe give Iain Banks a read for a positive future that has happy humans and super-intelligent AI.

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.


1. The demand for software is insatiable. The biggest gate has been the high costs due to limited supply of the time of the people who know how to do it. In the near term, AI will make the cost of software (not of software devs, but the software itself) decrease while demand for new software will increase, especially as software needs to be created to take advantage of new UI tools.

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).


Software engineering contains a lot more than just writing code.

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.


Agree, SWE as a profession is not going anywhere, unless we AGI, and that would mean all the rules change anyway.

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.


I'd agree with this take. Everyone is so pessimistic about LLMs, but I've really enjoyed this new era.

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.


Exactly this. The menial tasks become less of a burden and you can just power through them with LLM generated scripts.

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.


I don't think anyone is worried about SWE work going away, I think the concern is if SWE's will still be able to command cushy salaries and working conditions.


I think the industry will bifurcate along the axis of "doing actually novel stuff" vs slinging DB records and displaying web pages. The latter is what I'd expect to get disrupted, if anything, but the former isn't going away unless real AGI is created. The people on the left of that split are going to be worth a lot more because the pipeline to get there will be even harder than it was before.


> "doing actually novel stuff" vs slinging DB records and displaying web pages. The latter is what I'd expect to get disrupted,

Unfortunately the latter is the vast majority of software jobs.


Yeah, but honestly I'm ok with the industry shrinking along that axis.


slinging DB records and displaying web pages is already disrupted. Wordpress, Shopify, SAP so people without tech background can click around and have stuff done.

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.


Salaries will only change if tech loses it's leverage on the economy. Think of it this way, if Google can operate Google with only 10% of its current staff, then there will be other Googles popping up. The downward pressure on salaries will start with the downward pressure on tech overall. I'm not sure I see this happening anytime soon because humanity is so good at using every resource available.


> I don't think anyone is worried about SWE work going away, I think the concern is if SWE's will still be able to command cushy salaries and working conditions.

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.


Software engineering pay is an outlier for STEM fields. It would not be surprising at all if SWE work fell into the ~$80-120k camp even with 10+ years experience.

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.


That's actually totally reasonable, but what's the end result for housing markets in areas saturated by these kinds of gigs now.

Would there be reasonably priced houses in Seattle/SF? Can't see that happening


Sarcasm or cynicism?


Capitalism.

Btw communism is capitalism without systemic awareness of inefficiencies.


Capitalism doesn't dictate poor working conditions at all. Lack of regulation certainly does though.


> Capitalism doesn't dictate poor working conditions at all. Lack of regulation certainly does though.

It totally does. Regulation is basically opposed to capitalism working as designed.


Capitalism needs regulation to avoid self destruction. Without circuit breakers it devolves into monopolistic totalitarianism.

C.f. East India company. Then imagine them with modern military and communications tech.


> Capitalism needs regulation to avoid self destruction.

This is equally true for any alternative system to capitalism.


That's not true at all. That's just some propaganda college kids and the like keep repeating. Most other western countries are capitalist, have much stronger regulation than the US and are all the better for it.


This thing is doing planning and ascending the task management ladder. It's not just spitting out code anymore.


AI Automated planning and action are an old (45+ year) field in AI with a rich history and a lot of successes. Another breakthrough in this area isn't going to eliminate engineering as a profession. The problem space is much bigger than what AI can tackle alone, it helps with emancipation for the humans that know how to include it in their workflows.


Yes, and they will get better. Billions are being poured into them to improve.

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.


Yes, if "efficiency" is your top concern, but I'd much prefer working with an actual person than just a computer. I mean, God forbid I'm only useful for what I can produce, and disposable when I reach my expiration date. I would like to see a twilight zone rendition of an AI dystopia where all the slow, ignorant and bothersome humans are replaced by lifeless AI


It's not just about efficiency. I don't have the means to hire a junior right now, but 20$ is a no brainer.


Time to re-read The Culture. Not everything has to end in a dystopia.


Management will be easier to replace than SWEs. I'm thinking there will come a time, similar to the show Mrs Davis, where AI will direct human efforts within organizations. AI will understand its limits and create tasks/requirements for human specialists to handle.


My first thought with this is that AI would be directed to figure out exactly how little people are willing to work for, and how long, before they break.

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.


Sure. But the added value of SWE is not ”spitting code”. Let’s see if I need to calibrate my optimism once I take the new model to a spin.


What's the alternative? If AI is going to replace software engineers, there is no fundamental reason they couldn't replace almost all other knowledge workers as well. No matter the field, most of it is just office work managing, transforming and building new information, applying existing knowledge on new problems (that probably are not very unique in grand scheme of things).

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.


Why can't medical doctors be automated?


Mainly the various physical operations many of them perform on daily basis (due to limitations of robotics), plus liability issues in case things go wrong and somebody dies. And finally, huge demand due to aging population worldwide.

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.


When everything will be automated, what will we do with our lives?

I love landscaping my garden lately, would I just get a robot to do that and watch ?

Going to be a weird time.


If you have better career ideas, you should not continue. The thing is it is very hard to predict how the world will change (and by how much from very little to a revolutionary change) with all these new changes. Only licensed and regulated professions (doctors/lawyers/pilots etc) might remain high earning for long (and they too are not guaranteed). It really is worth a relook on what you want to do in life while seeing all these new advances.


I don't have any ideas whatsoever.


Do you enjoy making computers solve problems? If yes, continue. If you hate it and are in just for the money… I’d say flip a coin.


Then talk to more and more people, some of whom will have ideas on what they would prefer in the changing world.


This is pretty extreme advice to offer in response to news that a model that can better understand programming problems is coming out.

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.


The advice is unrelated to the model and related to the last year's worth of development. In any case I am advising a relook which is perfectly warranted for anyone pre-university or in university.


This is a really odd take to have.

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 assume the poster meant how much progress the models have made. Roughly late high school capability to late college-ish. Project forward five years.


Predicting exponential functions is a fool’s errand. The tiniest error in your initial observation compounds real fast and we can’t even tell if we’re still in the exponential phase of the sigmoid.


If at some point a competent senior software engineer can be automated away, I think we are so close to a possible 'AI singularity' in as much as that concept makes sense, that nothing really matters anyway.

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.


Carpenters and other manual jobs might outlast software engineers. It seems that AI is advancing a lot faster than robotics.


If you are not a software engineer, you can't judge the correctness of any LLM answer on that topic, nor you know what are the right questions to ask.

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.


There is little to no research that shows modern AI can perform even the most simple long-running task without training data on that exact problem.

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.


I’d argue the foreseeable future got a lot shorter in the last couple years.


If you want to get a career in software engineering because you want to write code all day, probably a bad time to be joining the field.

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.


There's so much software yet to to be written, so much to automate, so many niches to attack that you need not worry. It takes humans to know where to apply the technology based on their heart, not brains. Use AI in the direction only you can ascertain; and do it for the good of HUMANITY. It's a tool that makes the knowledge posterity has left us accessible, like mathematics. Go forth an conquer life's ills young man; It takes a human to know one. Don't worry, you're created in God's image.


Machines don't really "know" anything they just manipulate what is already known; Like a interactive book. It's just that this AI book is vast.


And the knowledge acquisition impedance is reduced


Computer Science becomes MORE interesting as computers become more capable, not less. There are so many things we could be working on, but we still waste so much time on boring libraries, configuration, implementation details that we simply don't get to experiment enough.

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.


My two cents thinking about different scenarios:

- 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.


For basically all the existing data we have, efficiency improvements always result in more work, not less.

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.


I'm wondering if the opposite might happen, that there will be more need for software engineers.

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.


The amount of knowledge the OP needed to be even to formulate the right question to the AI requires a lifetime of deep immersion in technology. You'd think that maybe you can ask the AI how to phrase the question to the AI but at some point you run up against your ability to contextualize the problem - it can't read your mind.

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.


Because none of your other majors will hold up much longer. Once software engineering becomes fully automated, so will EE, ME, applied math, economics, physics, etc. If you work with your hands, like a surgeon or chemist, you'll last longer, but the thinky bits of those jobs will disappear. And once AI research is automated, how long will it be until we have dexterous robots?

So basically, switching majors is just running to the back of a sinking ship. Sorry.


If you’re any good at SWE with a sprinkle of math and CS, your advantage will get multiplied by anywhere from 2 to 100x if you use the leverage of co-intelligence correctly. Things that took weeks before now easily take hours, so if you know what to build and especially what not to build (including but not limited to confabulations of models), you’ll do well.


But also on the other hand you'll need much less people to achieve the same effect. Effectively a whole team could be replaced by one lead guy that just based on the requirements orders the LLM what to do and glues it together.


Yes - my point is: be that guy


First many people can be that guy? If that is 5% that means 95% of the rest should go.

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?


Do not assume constant demand. There are whole classes of projects which become feasible if they cash be made 10x faster/cheaper.

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.


As others have said, LLMs still require engineers to produce quality output. LLMs do, however, make those engineers that use them much more productive. If this trend continues, I could see a scenario where an individual engineer could build a customized version of, say, Salesforce in a month or two. If that happens, you could make a solid case that companies paying $1mm+ per year for 12 different SaaS tools should just bring that in house. The upshot is you may still be writing software, but instead of building SaaS at Salesforce, you'll be working for their former customers or maybe as some sort of contractor.


One angle: There are a million SMBs and various other institutions, using none or really shitty software, that could be xx% to xxx% times more productive with custom software that they would never have been able to afford before. Now they can, en masse, because you will be able to built it a lot faster.

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.


This 1000%


While the reasoning and output of ChatGPT is impressive (and, imho, would pass almost all coding interviews), I'm primarily impressed with the logical flow, explanation and thoroughness. The actual coding and problem solving isn't complex, and that gets to your question: someone (in this case, the OP), still needed to be able to figure out how to extract useful data and construct a stimulating prompt to trigger the LLM into answering in this way. As others have posted, none of the popular LLMs behave identically, either, so becoming an exert tool-user with one doesn't necessarily translate to the next.

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.


There's an equal amount of hopium from the AI stans here as well.

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.


As soon as software development can be fully performed by AIs, it won't take long before all other jobs that can be performed in front of a computer follow, and after that it probably won't take long for practically the entire rest.

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.


Three, though not slam dunks:

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"


Software engineering teaches you a set of skills that are applicable in more places than just writing software. There are big parts of the job that cannot be done by LLMs (today) and if LLMs get better (or AGI happens) then enough other professions will be affected that we will all be in the same boat (no matter what you major in).

LLMs are just tools, they help but they do not replace developers (yet).


> 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.


I was debugging an issue the other day where either of sentencepiece or gRPC linked into a C++ program worked fine, but both at once caused a segfault before even getting to main deep in the protobuf initialization stuff in some arena management code and left a fairly mangled stack even pwndbg struggled with legible frames.

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.


Just because we have machines that can lift much more than any human ever could, it doesn't mean that working out is useless.

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.


Most of these posts are from romantics.

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.


The question is, why wouldn't nearly all other white collar jobs be professions of the past as well? Does the average MBA or whatever possess some unique knowledge that you couldn't generate with an LLM fed with company data? What is the alternative career path?

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.


They will be of the past.

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


The “progress” demonstrated in this example is to literally just extract bytes from the middle of a number:

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 put his value into my hex editor and it instantly showed 900 in the data inspector pane


Here you go:

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.


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.

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 am cautiously optimistic. So much of building software is deciding what _should_ be built rather than the mechanics of writing code.

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.


To fix the robots^W^W^Wbuild these things.

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.


If AI becomes good enough to replace software engineers, it has already become good enough to replace other brain jobs (lawyers, physicians, accountant, etc). I feel that software engineering is one of the very last jobs to be replaced by AI.


I think CS skills will remain valuable, but you should try to build some domain specific knowledge in addition. Perhaps programmer roles will eventually merge with product owner / business person type of roles.


From NYT article on this model: "The chatbot also answered a Ph.D.-level chemistry question and diagnosed an illness based on a detailed report about a patient’s symptoms and history."

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.


Software lets you take pretty much anyone else’s job and do it better.


Sure. Software engineers are actually the best situated to take advantage of this new technology.

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.


C did not write itself.

We now have a tool that writes code and solves problems autonomously. It's not comparable.


This is not going to replace you. This isn't AGI.


It still has issues with crossing service boundaries, working in systems, stuff like that. That stuff will get better but the amount of context you need to load to get good results with a decently sized system will still be prohibitive. The software engineer skillset is being devalued but architecture and systems thinking is still going to be valuable for quite some time.


Software development just becomes a level tier higer for most developers. Instead of writing everything yourself you will be more like an orchestrator. Tell the system to write this, tell the system to connect that and this etc. You still need to understand code. But maybe in the future even that part becomes unreadable for us. We only understand the high level concepts.


If the writing & arts vs. doing laundry & cleaning dishes is any indication, it does not look rosy. All the fun and rewarding parts (low hanging fruits / quick wins) of coding might be automated. What remains are probably things like debugging race conditions in legacy systems and system administration etc.


Well, the fact that you typed this question makes me think that you're in the top X% of students. That's your reason.

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.


I am pretty sure there is a VC funded startup making massage robots


Point taken, but I'm still pretty sure masseurs/masseuses have nothing to worry about.


Unlike the replies here I will be very honest with my answer. There will be less engineers getting hired as the low hanging fruit has already been picked and automated away.

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.


because it is still the most interesting field of study


Because you're being given superpowers and computers are becoming more useful than ever.


The timeline to offload SWE tasks to AI is likely 5+ years. So there are still some years left before the exchange of a “brain on a stick” for “property and material goods” would become more competitive and demanding because of direct AI competition.


what else are you gonna do? Become a copywriter?


Even if LLMs take over the bulk of programming work, somebody still needs to write the prompts, and make sure the output actually matches what you wanted to achieve. That's just programming with different tools.


just because something can generate an output for you, does not make a need for discernment and application obsolete.

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.


I think this question applies to any type of labor requiring the human mind so if you don't have an answer for any of those then you won't have one for software engineering either.


I don't think programming is any less safe than any other office job tbh. Focus on problem solving and using these tools to your advantage and choose a field you enjoy.


What kind of student, at what kind of school?

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.


Play it out

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


I don't want to lean into negativity here, and I'm far from an "AI Doomer".

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

[2]: https://en.wikipedia.org/wiki/Black_swan_theory

[3]: https://www.youtube.com/watch?v=hNuu9CpdjIo


If (when?) the future you're afraid of comes to pass, then basically all white collar work is cooked anyway.


I honestly think that unless you’re really passionate or really good, you shouldn’t be a coder. If you, like the vast majority of coders today, picked it up in college or later, and mostly because of the promise of a fat paycheck, I can’t really see a scenario where you would have a 30 year career


If you're the type of person who isn't scared away easily by rapidly changing technology.


If you’re going for FAANG most of your day isn’t coding anyway.


do whatever excites you. the only constant is change.


> do whatever excites you. the only constant is change.

That alone may not be enough. My son is excited about playing video games. :)


Making video games is a huge industry full of tons of talented programmers, artists, and all kinds of other things you can do.


I agree there's too much cope going around. All the people saying AI is just a tool to augment our jobs are correct, humans are still needed but perhaps far less of them will be needed. If job openings shrink by 50% or disproportionately impact juniors it will hurt.

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.


Juniors aren’t getting hired and haven’t been for about six months, maybe longer. AI isn’t 100% at fault… yet.


plumbing still looks like a safe choice for now.


If you're just there to churn out code, then yeah, perhaps find something else.

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.


Hey, kid.

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...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: