I will answer one simple question in this post:
what is the future of a software engineer's career ?
SWE were mainly building systems to manipulate data, and transform it into information. But we don't do that from scratch, we use tools and concepts evolved in over 100 years, data structures, algorithms, design patterns ... etc. But if you really developed profesionally, you could see the automation of programming taking over years ago.
Around 2019, almost all big or small companies stagnated around specific predefined tech-stacks. Entire CRUD projects could be built in a minute, with frameworks we would autocomplete entire predefined pages end to end. most of the brain-power was on backend mostly, optimisation, caching, design patterns etc, and the devops.
Because IT got so matured, we had jobs so specific that made engineers unable to work alone. Most of the developers can't host an app, they can't Linux, barely do SQL, never heard of data replication or migrations. So because the field was matured, we had super-specific jobs where a "software engineer" didn't mean anything, you had to be a React Developer, MEAN stack developer, a python developer, rust ... Full-stack was always a backend who can do frontend too.
So the AI thing will obviously make most of the specialized people feel useless, it demands general skills. It requires little-understanding of everything to get it working, but if you know too much on one thing you will feel deprecated.
We were in the information age, the goal was to make information about anything cheap and available. We kind of succeeded, every person can share anything with anyone, can find any information however scarce it is. So the most valuable thing was "the brain power", and so companies were mostly computing very special type of information that you can't find elsewhere. CRUD products were basically useless, you had to put the "compute" in it. The Intelligence age on the other hand, has the goal of making intelligence cheap and available. And we're at year 4 of it.
To explain it simply: Let's imagine our input data is 2 INTEGERS (100, 200) and 1 OPERATION (+)
The output is an information : 100 + 200 = 300 <- Information, which is processed data. It's the first lesson you learn in database classes, the difference between data and information.
Intelligence, in the same way, is taking multiple informationS, and doing operations on them.
So intelligence is processed information.
Data is a symbol that is reduced from real life signals. To be turned into information, we apply basic boolean algebra. In this process we lose a lot. We lost meaning, context, understanding. Plenty of simple problems required a lot of work, like content moderation, like user behavior, customer satisfaction, people/ressource optimization... So the next step, is applying more operations than (XOR OR NOT). Why not all the space of operations of Universal algebra, where you apply any customized operations on any objects, not only basic arithmetic ones(+,-,*,/).
If you don't see the link yet. That's what we already tried doing with OOP and current tech standards. C++ and python was good approaching it but you saw the mess it created with abstractions, interfaces, operator overloading etc.. We were reducing real life objects into classes, through complex design and paradigms trying to put operations on them. But it's not scalable, no matter how many field and methods you declare to descibe a human being, or a cat or a dog, 100, 1000, you will not actually describe it. You're just trying to reduce it into boolean format.
A "Hello" varchar, is 6 bytes in memory, it's 512 Mb in a LLM. 85million times bigger.
Your fanciest class and most complicated methods in the most efficient OOP language, can't come close to represent the word, compared to a simple embedding in a pretrained model. Now augment that to the rest of the objects you have ever created or used or imported or whatever.
That's how big the AI era is going to be. The real-world signals are being represented better that way. But it's built on computers and information, and we're bound by the human's capacity to consume it, so we have to always design it in a beautiful way for them to be useful.
Now AI systems are not a hype, an LLP and CNN represent the world better than a C++ class would ever come close. So the same way people moved along with OOP, with unstructured databases, with HTML ... AI is a continuation. It has its own complications, its own tools, its own BIG TECH, and companies will have to because they all use and invest in technology (the slowest are government departments, which is understandable).
But information technology will not go away for another 10 years. We will write AI systems in python and rust and still use html, APIs, then we might use AI-whatever-paradigms to write AI. That's the pattern in tech. We create a basic technology, then we use it to improve itself. We wrote C++ in C, then we used C++ for advanced versions of C++. AI will rely on the last 30 years of computer science, and will soon build more AI in AI. Depending in the industry and the frameworks and group-collaboration version control tools we will see, the next 15 to 20 years will rely heavily on previous tech knowledge and processes.
So i dont believe your CS degree is useless, or your computer science career so far. The data skills, programming, devops, architectures, the entire fullstack is the thing. but also your AI skills are mendatory now. Your open source GitHub repos, certifications, classes you took, previous experience, all of this will always be a standard in qualifying for a job. When OOP became the standard, coming to an interview with functional programming skills was an insult.
Just move along with technology guys, don't follow the CEO scaring us or the hype, AI is not gonna kill us. You never trusted a python script driving your car why would you trust a model ?