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

I found this interesting: "Still, despite all the hype about how AI coding tools will replace software engineers, software engineering is still one of the most secure jobs you can have today, relative to most other white-collar jobs."


There is a lot of induced demand in software engineering. We are still in the realm where cheaper software means that people want more and more complex software. And that demand increase is more than enough to offset any efficiency increases

Meanwhile the amount of accounting that has to be done is pretty inelastic. Whenever accounting gets more efficient you just reduce the number of accountants instead of doing more accounting

Creative is somewhere in between. Not completely static demand, but not extremely elastic either. The healthy rise in postings for creative directors indicates that the cost reduction has lead to more art being done, but the increase in demand isn't big enough to offset the job losses in the rank and file positions


It's funny, almost every conversation I have about the fact that I work as a software engineer with new people I meet nowadays seems to include them asking if I'm worried about AI stealing my job. Maybe it's something that people ask everyone nowadays regardless of what industry they work in, but at least as far as I can tell, the type of work I do doesn't seem in any apparent danger of being replaced by AI any time soon.


I assume that they think SWEs have a better grasp on it than non-tech folk.


It's because journalists are still big mad that the internet wrecked the newspaper business, therefore the news constantly reports lies about how the tech industry is collapsing. The more news you watch and the less personal contact you have with the industry, the more likely you are to believe that techies are jumping out of office windows in despair (hi, Mom).


The job market is terrible, pay is stagnate and remote work is being taken away and the biggest companies despite profits are laying off large amounts of people. I don't think that's fud


I don't see how you can hold that this job market is "terrible" in a frame of reference of the last 50 years, unless you were born fully-grown in a vat exactly 4 years ago.


Have you looked for a software job in the last few years?

It's worse then 10 years ago. Idk why everyone who comments on the job market only looks back to the covid year


No, and no individual person can rely on their personal experience to gauge the job market, including you. However if you wish to assert that it is currently more difficult to get a job as a software developer than it was in late 2015, aggregate data suggest this is false. Also, looking back a mere 10 years does not dispel the general impression that you lack context.

If you look at employment in, for example, NAICS 518 "Computing infrastructure providers, data processing, web hosting, and related services" which is one of the larger BLS categories for our industry, the numbers are at all-time highs, having doubled since 2011. An example of a bad job market for software developers was 2001-2011, when this sector shrank by a third.


Which numbers are at all time highs.

Is that really representative of what people mean by tech? Or does that include companies that happen to make software?


> the biggest companies despite profits are laying off large amounts of people.

Hi is the need for employees related to profit?


The decision to layoff has side effects beyond net income on a balance sheet.


What's your point? If there's no work for 10k people to do, should companies just continue employing them to do... nothing?


That's never how layoffs are done. If you survive them your workload just increases and the employees picked are based on nothing or something arbitrary.

Then your company has a reputation for being unreliable for stable employment and people that can pick where they want to go will go else where. It also kills morale and remaining high performers will go somewhere else. Now the company laying off is stuck with low performers that don't have other options.


Sounds like a recipe for bankruptcy. How many of these companies doing mass layoffs are going to go out of business?


One of SV's strengths is cutting your highly qualified and experienced staff loose to go do something else.


Is there something the the SV charter that says companies operating there must do that?

Nobody seems to want to answer the question so I assume nobody wants to confront that a company isn't the bad guy when it fires people it doesn't need. And, if it turns out it did need them, the company will suffer. Usually that doesn't happen though and so I tend to trust that these companies understand their business needs more than I do.

It sucks when people lose their jobs but if there's no job at their company for them anymore, their employer isn't a charity. Just like if a company could no longer afford to pay they employees, the employees shouldn't hang around and work for nothing. You might as well be demonizing people who file for divorce for making their partner single.


Agreed. I intended that last comment to reinforce your point.


as of today that's probably true, but if the labs manage to keep increasing the 50% time horizon (defined by METR as 'the length of tasks (measured by how long they take human professionals) that it can complete autonomously with 50% probability') at the current pace, it might not be for long. Exponentials are hard enough to forecast if you kinda sorta know the parameters, and we don't have that comfort today.


sorry, new to this, any helpful links on what metr is?



This makes sense to me.

Until Software Engineers have automated away all the other jobs with AI & software they'll be safe. That's going to take a long time.

Replacing software engineers with AI only affects the bottom line of software companies. Companies are usually fine with increasing the bottom line if they can exponentially increase the top line. I think software engineers will provide that capability for at least the next 10-15 years.


I think that's an over-simplistic view - at the moment there are many, many software engineers hired by companies who are betting on AI being madly profitable. If those expectations change, we could see more cascading layoffs, which will mean those engineers will go looking at more traditional places like banks, which means they'll stop hiring, which means it'll be harder to someone who is looking for a new job to find one, even though not all jobs have yet been automated.


True, besides actual software engineering is small part of overall IT/computer related work. There are far more analysts, managers(project, program, IT, agile etc), QA, operations and so on. So engineers who employers think are capable of leveraging AI and do 20 s/w engineer worth of work with 5 people will remain in demand for time being.

Even without outright layoffs one can see how fast leverage of average IT engineer is disappearing. After 20 years of experience my value or feedback matters less than when I was 4 years into paid job. And it has far less to with AI so far.

Most custom work of past is just a library, component or framework to use. And those are mandated to be used as it much easier to hire/replace teams to work on those.

Now It may be always be true to have reusable components created but growth of IT industry kept people employed in ever greater numbers. However now it seems to be reaching limit. Leaving aside highly visible layoffs by US tech giants, growth is fading in countries like India with huge IT offshoring workforce. There are millions upon millions jobless fresh graduates waiting to get jobs with some IT degree.


"There are millions upon millions jobless fresh graduates waiting to get jobs with some IT degree".

Quality of those graduates is not always great. A talented and passionate SWE will always make a good living.


Did the invention of compilers eliminate the need for programmers or make them more productive and valuable? LLM coding is really not in the most abstract sense any different from compiling a higher level language to a lower level language.


> LLM coding is really not in the most abstract sense any different from compiling a higher level language to a lower level language.

Hard disagree here. Anecdotally, know a few people who can't write a Java program that will compile, who can leverage ChatGPT to produce functional websites.

A good friend of mine ChatGPTed his way into a masters degree that involved a lot of coding. A good 97% of his degree was done by AI, and the other 3% was me helping him troubleshoot he couldn't get AI to solve.

LLM is vastly different from a compiler/translator. Despite the joke, you can't just fire up Python with import website and have a functional website. But you can basically do that with LLMs, which will then add features as requested. It's not perfect, nor guaranteed to be functional, but it is quite a bit more capable than a compiler is for such tasks.

At my work, the sales guys are using AI tools to rapidly prototype features on our website with prospects. While it doesn't do all the work, it can produce useful HTML templates that the front-end team can make functional.


Certainly the jobs that were around for bespoke compilers were eliminated with the unification of compilers (GCC, Microsoft Visual C++). How many of those people transitioned to other roles I don't know. But the number of compiler jobs has been declining forever at this point.


what about amount of churn in software engineering?


At the end of the day, "AI" is just another programming language, albeit one that is much more accessible to the layman. When using AI, you become a software engineer. So it stands to reason that software engineering jobs are strong.

But what about pay? Elevator operator jobs have never been more prevalent, but increased accessibility to the layman pushed the price to zero.


> When using AI, you become a software engineer.

When using a pen you become a poet ? lol

Most people who code aren't software engineers, you certainly can't extend the definition to every AI users


> When using a pen you become a poet ?

No. By definition, a poet writes poems. Not all pen use leads to poems.

By definition, engineers build systems. What else can you do with code (and LLMs; same thing) other than build systems?


idk man, plenty of people have "ai" gf/bf/therapist, ask "ai" for vacation trip ideas, recipes, gym workouts, &c. I wouldn't even be surprised if most tokens were used on non software engineering tasks.

I have a zombie developer, coder, idk how to call them, in my team who doesn't talk to anyone, writes shit tier PRs and spends all day long talking to chatgpt. They're a prompter, a chatter, a waste of money, but certainly not an engineer


> idk man, plenty of people have "ai" gf/bf/therapist, ask "ai" for vacation trip ideas, recipes, gym workouts, &c.

Not without engineering a system to get the AI to generate a response they don't.

> non software engineering tasks.

There is no non-software engineering task when using an LLM. All LLM use first requires designing software to get the LLM to do anything. An LLM will not autonomously act on its own. It can only respond in accordance to the the program you have designed for it.

That program can be written in natural language, granted, but software programs are not limited by the particular language they are written in. Its not somehow not a program just because you didn't write machine code on punch cards.


In mechanical engineering you can be an engineer or a mechanic, or other things (like a hobbies or different degrees of casual work), and they're no interchangeable.

I think being an engineer implies it's a profession you've trained in and you're implementing the science behind it in a practical manor in some capacity (like a computer scientist studies computers, a computer engineer implements and builds the systems based upon this science).


> In mechanical engineering you can be an engineer or a mechanic, or other things

Sure. While some mechanics may sometimes find themselves having to design things to carry out their work (in which case they would be engineers during that time), generally speaking mechanics carry out the physical replacement of what engineers have already designed. They are not designing things themselves.

But there is no mechanic analog in computing. At least there isn't a human mechanic analog. One is always operating at the design level, regardless of whether the design is written in C, Rust, or natural language. All the engineering-adjacent work you find in other engineering disciplines is done by the computer in the software realm.

> I think being an engineer implies it's a profession you've trained in and you're implementing the science behind it in a practical manor in some capacity

That's what "professional engineer" implies, but we're talking about "engineer". There is no such connotations in the word engineer alone, hence the existence of the PE term.


I would say attaching things together with or from an LLM would be the analogy. Being a mechanic and being an engineer are both technical jobs which require skill, but one is design focused while the other is system focused.

I would also disagree that "professional engineer" is a meaningful distinction from engineer. I don't really think of an engineer as being something you can do casually, it's a profession.

Also re-reading my comment I should have said adjacent to mechanical engineering, generally you don't get a degree in mechanical engineering to become a mechanic.


> Being a mechanic and being an engineer are both technical jobs which require skill, but one is design focused while the other is system focused.

Right. And such software-based work is always design-focused. You're writing documents that specify how the computer is expected to function. The computer takes those specifications and turns it into something functional. I think you can make a good case the latter is system work, but not something humans participate in.

In the olden days we had to write those specifications in arcane languages that were a speciality to learn. Now you can write the specifications in plain English, more or less. That's evolutionary, but since the advent of the compiler we've always been moving towards the language being more and more like English (or insert other natural language, if you prefer). Such progress is nothing new.

Perhaps it's like the difference between a manual and automatic transmission. Gearheads worried about their personhood might try to argue otherwise, but in reality you aren't not a driver if your car has an automatic transmission. It is not the exact details of the tool that defines the act you are engaging in. Likewise, you don't suddenly stop being an engineer just because the tools have now made it "easy".

> I don't really think of an engineer as being something you can do casually, it's a profession.

You're always free to come up with your own pet definition, but per the record of how the word is most commonly used out there in the world, there is no connotations to one's skill, ability, quality, or anything of that nature that is normally associated with professional engineer. It only refers to the act itself in any capacity. Which, of course, is why we also coined the term "professional engineer". That would have be entirely pointless — and therefore would have never been adopted — if "engineer" already captured that sentiment under common use.


You can make a lot of slop of all different sorts with LLMs. That has very little in common with building systems.


"Slop" suggests that the only difference is in quality, but the definition of engineer says nothing of quality.

Perhaps you might consider using an LLM to build a system that creates a response that is more coherent?


> the definition of engineer says nothing of quality

The definition you used makes someone who maintain a twitter account or use a coffee machine an "engineer"... everyone is an engineer by that definition really


It's not just the definition I use, it is the most common definition people use according to the records we keep.

And yes, someone who builds a system to generate Twitter content or maintains a coffee machine are definitely engineers.

Professional engineering societies don't like that fact and often try to usurp the term for their own financial gain, but that's not how English works. Definitions derive from use, not what a small group of people wish were so, and the record that keeps track of use is abundantly clear how the word is most commonly used.


Slop doesn't suggest the difference is only in quality, but also in form. Words have meanings, ya know?

I can have an LLM generate me code-like text all day long, but that doesn't means it's building a system. Just like I can eat Chicken McNuggets all day long, but that doesn't mean I'm eating a roast chicken.


> I can have an LLM generate me code-like text all day long, but that doesn't means it's building a system.

I don't follow. An LLM doesn't magically output code-like text, or anything else for that matter, on a whim. You have to build a system that describes your intent to the machine. Only then might it output code-like text, if that's what your system describes. It's not the execution of your code that makes you an engineer. It's building a system that can be executed in the first place that makes you a (software) engineer.


You said a few comments upthread (and I quote): "What else can you do with code (and LLMs; same thing) other than build systems?"

There are many things you can do with LLMs other than build systems. That's my point. Using an LLM doesn't make you an engineer; that's preposterous.


> There are many things you can do with LLMs other than build systems.

Like what? The code-like output example clearly requires you to build a system before the LLM can evaluate your program. If I want an LLM to generate a bedtime story, I also need to build a system that defines that. Where do you find the escape?

Maybe you're thinking of AGI? While everyone has their own pet AGI definition, many see it as being the point where you no longer have to build the system and the machine can start to take on that role. But we don't have that yet, and isn't what we're talking about anyway.


wow epic comeback man can you share the prompt you used to generate it?


I'm told you don't need to build a prompt. That would be engineering, which apparently isn't involved in the use of LLMs.


> When using AI, you become a software engineer.

No. You do not. It may make you a developer, at best. I don't even call my self a software engineer, because I'm not. I'm a self taught coder that has spent 25+ years gaining experience, but I've never graduated from a school with any kind on engineering degree. I started CSE way back in the 90s, but stopped because life got in the way.

Maybe you're joking, but you just know people actually feel this way. They have no idea the difference of a coder and an SWE, and flippant comments don't help


> but I've never graduated from a school with any kind on engineering degree.

So? Per the dictionary, engineer is clearly defined as: A person who designs, builds, or maintains machines, structures, or systems. There is no mention of school or having an engineering degree.

It has always been a bit debatable if software fits into machine, structure, or system, granted, but we generally have come to agree that it does. And per the context of discussion, we've already established that it does for the sake of discussion. On that understanding, designing/building/maintaining a system in "LLM code" instead of C++ code is fundamentally no different.

You're likely confusing engineer with Professional Engineer™, but that's something else entirely. That obviously has nothing to do with anything that we're talking about here.


> When using AI, you become a software engineer.

Stopped reading.

VR flight simulator software is accessible to the layman. Does that make them qualified to be a captain (pilot-in-command) for a commercial passenger plane?


> VR flight simulator software is accessible to the layman. Does that make them qualified to be a captain (pilot-in-command) for a commercial passenger plane?

No. They might be able to fly a plane poorly, though. Engineer doesn't imply being qualified, only engaging in the act of designing, building, or maintaining a machine, structure, or system. You don't have to be qualified, or even be good at it, to carry out those acts.

You're probably thinking of Professional Engineer™, which does represent recognized qualifications, but that's something completely different. Obviously if Professional Engineer™ was meant, Professional Engineer™ would have been written.


Huh, Pilot/ Captain job requirement for commercial plane is highly regulated by authorities like FAA etc but software engineer has no such requirement. Any random business with some basic software requirement can ask an employee or contractor to get something developed quickly and deployed it. They may start calling that person software engineer.

Further even if you have some strict ACM/IEEE definition of Software Engineer®, a person is not going to end up in jail if they don't fulfill those but call themselves software engineer nonetheless.


> Huh, Pilot/ Captain job requirement for commercial plane is highly regulated by authorities like FAA etc but software engineer has no such requirement. ny random business with some basic software requirement can ask an employee or contractor to get something developed quickly and deployed it. They may start calling that person software engineer.

Exactly the problem. Secondly, if I am building commercial plane software for pilots to use, you wouldn't want to hire unqualified / in-experienced 'engineers' for all the critical work and validation testing. (or even AI vibe-coders picked from anywhere.)

Because surely, that worked out for Boeing. [0] /s

> Further even if you have some strict ACM/IEEE definition of Software Engineer®, a person is not going to end up in jail if they don't fulfill those but call themselves software engineer nonetheless.

So we are now defending fraud if one calls themselves an SWE on their CV with zero experience other than an AI doing all the coding?

It's like you want to take the legal risk hoping that the employer / company won't sue you for fraud when that vibe-coded software goes all wrong and money is lost.

[0] https://www.industryweek.com/supply-chain/article/22027840/b...


At the end of this day.. and of the next. But at some point, the tool will "suddenly" turn into a versatile agent, and that time might be a lot sooner than most expect (c.f. "exponential growth surprise factor"...)




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

Search: