Top
Best
New

Posted by napolux 1 day ago

The next two years of software engineering(addyosmani.com)
293 points | 334 commentspage 5
globular-toast 17 hours ago|
This article suggests it is specialists who are "at risk", but as much more of a generalist I was thinking the opposite and starting to regret not specialising more.

My value so far in my career has been my very broad knowledge of basically the entire of computer science, IT, engineering, science, mathematics, and even beyond. Basically, I read a lot, at least 10x more than most people it seems. I was starting to wonder how relevant that now is, given that LLMs have read everything.

But maybe I'm wrong about what my skill actually is. Everyone has had LLMs for years now and yet I still seem better at finding info, contextualising it and assimilating it than a lot of people. I'm now using LLMs too but so far I haven't seen anyone use an LLM to become like me.

So I remain slightly confused about what exactly it is about me and people like me that makes us valuable.

cowl 15 hours ago||
LLMs have read EVERYTHING yes. that includes a lot of not optimal solutions, repeating mantras about past best practices that are not relevant anymore, thousands of blog posts about how to draw an owl by drawing two circles and leaving the rest as an exercise to the reader etc.

The value of a good engineer is his current-context judgment. Something that LLMs can not do Well.

Second point, something that is being mentioned occasionally but not discussed seriously enough, is that the Dead Internet Theory is becoming a reality. The amount of good, professionally written training materials is by now exhausted and LLMs will start to feed on their own slop. See How little the LLM's core competency increased in the last year even with the big expansion of their parameters.

Babysitting LLM's output will be the big thing in the next two years.

falloutx 15 hours ago||
I mean there is no strat that saves you 100% from it. The layoffs are kind of random, based on teams they dont see any vision for, or engineers who dont perform. Generalising is better imo.
keybored 17 hours ago||
Is there a Jeapordy for guessing prompts? Give an executive summary of GenAI trends where GenAI is the destiny and everything reacts to it. Touch on all “problems”. Don’t be divisive by making hard proclamations. Summarize in a safe way by appealing to the trope of the enthusiastic programmer who dutifully adapts to the world around them in order to stay “up to date”; the passive drone that accepts whatever environment they are placed in and never tries to change it. But add insult to injury by paradoxically concluding that the only safe future is the one you (individual) “actively engineer”.

I’m not saying that this was prompted. I’m just summarizing it in my own way.

FrustratedMonky 12 hours ago||
Maybe a harsh criticism. The article seemed to be all over the place, maybe because the subject is also all over the place. I agree with everything, its just that it seemed like the same story we've been in for awhile.

Wasn't the main take away generally "study everything even more than you were, and talk/network to everybody even more than you were, and hold on. Work more more more"

wakawaka28 1 day ago||
The outlook on CS credentials is wrong. You'll never be worse off than someone without those credentials, all other things equal. Buried in this text is some assumption that the relatively studious people who get degrees are going to fall behind the non-degreed, because the ones who didn't go to school will out-study them. What is really going to happen generally is that the non-degreed will continue to not study, and they will lean on AI to avoid studying even the few things that they might have otherwise needed to study to squeak by in industry.
falloutx 15 hours ago|
The fundamentals of CS dont change and are more valuable to learn for the long term. Vibe coders think they can just bypass everything because they can ask a machine to write them a todo list.
wakawaka28 15 hours ago||
I think you're right but it's more like the theory and other thinking skills are harder to pick up on your own than particular technologies. You definitely still ought to learn both theory and particular tech skills, as they are not interchangeable. A person who only knows pure CS is difficult to employ as an engineer because programming entails particular technological skills.
doug_durham 1 day ago||
The author has a bizarre idea of what a computer science degree is about. Why would it teach cloud computing or dev ops? The idea is you learn those on your own.
happytoexplain 1 day ago||
If that's "the idea", then clearly we need a more holistic, useful degree to replace CS as "the" software degree.
kibwen 1 day ago|||
Despite what completely uninformed people may think, the field "computer science" is not about software development. It's a branch of mathematics. If you want an education in software development, those are offered by trade schools.
kerblang 9 hours ago|||
This widely circulated claim ignores the fact that math is not science.
AnimalMuppet 1 day ago|||
What I want is for universities to offer a degree in Software Engineering. That's a different field from Computer Science.

You say that belongs in a trade school? I might agree, if you think trade schools and not universities should teach electrical engineering, mechanical engineering, and chemical engineering.

But if chemical engineering belongs at a university, so does software engineering.

xboxnolifes 22 hours ago|||
Many do. Though, the one I'm familiar with is basically a CS-lite degree with software specific project design and management courses.

Glad I did CS, since SE looked like it consisted of mostly group projects writing 40 pages of UML charts before implementing a CRUD app.

collingreen 1 day ago||||
Plenty of schools offer software engineering degrees alongside computer science, including mine ~20 years ago.

The bigger problem when I was there was undergrads (me very much included) not understanding the difference at all when signing up.

none2585 23 hours ago||||
Saying this as a software engineer that has a degree in electrical engineering - software "engineering" is definitely not the same as other engineering disciplines and definitely belongs in a trade school.
menaerus 14 hours ago||
Right, because the guy sitting next to me and is designing a PCB for next copy of rPI is so much more for an engineer than the other guy designing a distributed computing algorithm? It shows that you only dealt with the trivial things in SE. There are very complex areas in both disciplines and as much as I can find trivial things in SE I can do the same for EE. Let's just not pretend it's a science fiction when it's not.
none2585 13 hours ago||
Developing a distributed computing algorithm I think would squarely fall into CS. Engineering is the application of stuff like that.
pkaye 23 hours ago||||
My university had Electrical Engineering, Computer Engineering, Software Engineering and Computer Science degrees (in additional to all the other standard ones.)
mxkopy 1 day ago|||
Last I checked ASU does, and I’m certain many other universities do too.
throwaway7783 1 day ago||||
The degree is (should be) about CS fundamentals and not today's hotness. Maybe a "trades" diploma in CS could teach today's hotness.
wrs 1 day ago||||
Cloud computing is not some new fundamental area of computer science. It’s just virtual CPUs with networks and storage. My CS degree from 1987 is still working just fine in the cloud, because we learned about CPUs, virtualization, networks, and storage. They’re all a lot bigger and faster, with different APIs, but so what?

Devops isn’t even a thing, it’s just a philosophy for doing ops. Ops is mostly state management, observability, and designing resilient systems, and we learned about those too in 1987. Admittedly there has been a lot of progress in distributed systems theory since then, but a CS degree is still where you’ll find it.

School is typically the only time in your life that you’ll have the luxury of focusing on learning the fundamentals full time. After that, it’s a lot slower and has to be fit into the gaps.

wakawaka28 1 day ago|||
There has to be a balance of practical skills and theory in a useful degree, and most CS curricula are built that way. It should not be all about random hot tech because that always changes. You can easily learn tech from tutorials, because the tech is simple compared to theory. Theory is also important to be able to judge the merits of different technology and software designs.
Ekaros 15 hours ago|||
I am not sure abot devops. But Cloud Computing likely has lot of science behind it. When done properly. They are not any less complex systems to reason about than just code. And I mean it as understanding and designing cloud platforms. Not as deploying code to them.
tibbar 1 day ago||
Why is this necessarily true?
sys_64738 1 day ago||
A CS degree is there to teach you concepts and fundamentals that are the foundation of everything computing related. It doesn't generally chase after the latest fads.
tibbar 1 day ago||
Sure, but we need to update our definitions of concepts/fundamentals. A lot of this stuff has its own established theory and has been a core primitive for software engineering for many years.

For example, the primitives of cloud computing are largely explained by papers published by Amazon, Google, and others in the early '00s (DynamoDB, Bigtable, etc.). If you want to explore massively parallel computation or container orchestration, etc, it would be natural to do that using a public cloud, although of course many of the platform-specific details are incidentals.

Part of the story here is that the scale of computing has expanded enormously. The DB class I took in grad school was missing lots of interesting puzzle pieces around replication, consistency, storage formats, etc. There was a heavy focus on relational algebra and normalization forms, which is just... far from a complete treatment of the necessary topics.

We need to extend our curricula beyond the theory that is require to execute binaries on individual desktops.

zipy124 13 hours ago|||
This is mostly software engineering not computer science though. That is but a small sub-section of computer science.
tibbar 9 hours ago||
I just don't see the distinction. Looking at it from the other direction: most CS degrees will have you spend a lot of time looking at assembly language, computer architecture, and *nix tools. But none of these are mathematical inevitabilities - they're just a core part of the foundations of software engineering.

However, in the decades since this curricula was established, it's clear that the foundation has expanded. Understanding how containerization works, how k8s and friends work, etc is just as important today.

michaelsalim 22 hours ago|||
I do agree that the scale has expanded a lot. But this is true with any other fields. Does that mean that you need to learn everything? Well at some point it becomes unfeasible.

See doctors for example, you learn a bit of everything. But then if you want to specialise, you choose one.

claytongulick 8 hours ago||
One option that didn't seem to be discussed in TFA is turning away from AI.

There's an implicit assumption in the article that the coding models are here to stay in development. It's possible that assumption is incorrect for multiple reasons.

Maybe (as some research indicates) the models are as good as they are going to get. They're always going to be a cross between a chipper stochastic parrot and that ego inflated junior dev that refuses to admit a mistake. Maybe when the real (non-subsidized) economics present themselves, the benefit isn't there.

Perhaps the industry segments itself to a degree. There's a big difference in tolerance for errors in a cat fart app and a nuclear cooling system. I can see a role for certified 100% AI free development. Maybe vibe coders go in one direction, with lower quality output but rapid TTM, but a segment of more highly skilled developers focus on AI free development.

I also think it's possible that over time the AI hyper-productivity stuff is revealed to be mostly a mirage. My personal experience and a few studies seem to indicate this. The purported productivity boost is a result of confirmation bias and ridiculous metrics (like LOC generated) that have little to do with actual value creation. When the mirage fades, companies realize they are stuck with heaps of AI slop and no technical talent able to deal with it. A bitter lesson indeed.

Since we're reading tea leaves, I think the most likely outcome is that the massive central models for code generation fade due to enormous costs and increased endpoint device capabilities. The past 50 years have shown us clearly that computing will always distribute, and centralized mainframe style compute gets pushed down to powerful local devices.

I think it settles at an improved intellisense running locally. The real value of the "better search engine" that LLMs hold today reduces as hard economics drive up subscription fees and content is manipulated by sponsors (same thing that happened to the Google search results).

For end users, I think the models get shoved into a box to do things they're really good at, like giving a much more intuitive human-computer interface, but structured data from that is handed off to a human developer to reason about, MCP will expand and become the glue.

I think that over time market forces will balance between AI and human created content, with a premium placed on the latter. McDonalds vs a 5 star steakhouse.

godshatter 5 hours ago|
>Maybe (as some research indicates) the models are as good as they are going to get. They're always going to be a cross between a chipper stochastic parrot and that ego inflated junior dev that refuses to admit a mistake. Maybe when the real (non-subsidized) economics present themselves, the benefit isn't there.

I'd put my money on this. From my understanding of LLMs, they are basically mashing words together via markov chains and have added a little bit of subject classification with attention, a little bit of short-term memory, and enough grammar to lay things out correctly. They don't understand anything they are saying, they are not learning facts and trying to build connections between them, they are not learning from their conversations with people. They aren't even running the equivalent of a game loop where they can even think about things. I would expect something we're trying to call an AI to call you up sometimes and ask you questions. Trillions of dollars have got us this far, how far can it actually take us?

I want my actual AI personal assistant that I have to coerce somehow into doing something for me like an emo teen.

wagey90 13 hours ago|
[dead]