Posted by speckx 1 hour ago
I have been doing this professionally for over twenty years, and I still learn something every day. Over the past couple years, with AI augmentation, I learn even more, move faster and go deeper into the systems that I work on.
A CS degree was never going to provide you with all of the tools that you need for a successful career. It provided you with the basics to get your foot in the door.
AI is not replacing you or an education. AI is raising the bar of what you can comprehend and retain. From someone who is technically minded (and self-taught), all I have ever wanted is to keep learning.
AI is, in my opinion, absolutely murdering the junior dev market. It's now much more efficient to pay for a senior or staff engineer and set them up with a subscription to claude or codex. I think things are going to remain fine for senior+ engineers, but I genuinely don't know what advice I'd give to graduating devs at this time.
AI + CS allows you to develop with leverage I've never seen before.
zero context for the work, so .. javascript?
Yes and no.
I concur that it was never about the tools, although I've seen plenty of people advocating it had a more "practical" approach, using the same tools as companies use, and in the same way.
On the other hand it's not only about the basics.
In there you can go at depth in aspects that you will have to fight to use, like proper engineering practices, and might only be vital on the later stages of your career. And I feel that those learnings, plus the possibility of acquiring a breadth of knowledge that is hardly possible otherwise, is what gives CS graduates a leg up to other practitioners of the art of software development.
YMMV and a leg up can be easily overtaken, yes.
Realistically, "AI is not working" is probably not a realistic scenario. He'll just stop working, just like if the network goes down.
The real risk of AI augmentation is to your value as an employee. Maybe the augmentation makes you feel and perform like Iron Man, but if the suit is doing the heavy lifting, and some cheaper guy could wear it and do pretty well, how are you going to keep that fat paycheck? It's not like any of us have tenure.
I do learn every day thanks to AI, I agree with that part. But I'm increasingly convinced that AI is likely to replace either me or some of my teammates in the near future.
In the last year, half of my team has been laid off (or left) already and won't be replaced, and we don't see any drop in productivity and the tools are getting better by the day. We need experts to drive all this, but not as many people as before.
AI is the tractor in The Grapes of Wrath, and you’re the one driving it.
Good for you! Many people just want to be able to pay their bills.
Your post is entirely too dismissive of the chaos this new technology is introducing.
Far too many people focus on passing an interview and then let legal protections keep their position, all while draining resources that could have been better allocated to someone who is actually passionate. They saw my generation do reasonably well and came for the paycheck. I got into this because there were very few people who could rise to the occasion of problem solving that the industry needed. I did not walk into the room with all of the skills or an idealized salary, I walked into the room with a mentality.
Perhaps the "chaos" being introduced is simply a long overdue market correction.
I'll let the downvotes tally how pervasive this is.
For some, the degree is the destination and that's more than fine as well. It's a marker that says "others agree I learned x to a certain level, and I had fun doing it". This tends to overlap well with those who just liked university as an extra method of learning rather than going primarily to form part 1(a) of their career or something.
TBH I’m also thinking about how to use AI at work for learning. (My work environment is 100% all-in on AI.) Everyone can see and admit that AI coding is making us lazier and that it produces too much code to do old-style line by line reviews. Some people are using agent teams to churn out millions of lines of code where there’s zero hope of reviewing it. We don’t yet know how to keep quality high and complexity low while doing agent coding, we’re just having them write lots of tests and hoping that when things break they’re easy to fix. Agents should get better at broad architecture in the future, but they’re definitely not there yet.
> The amount of work involved has also tripled
This has to be one of the big ironies of using AI. I’ve heard this from other students too. The problem is that old-style assignments where the level of difficulty was hand-crafted is way way too easy for an LLM, therefore teachers need to crank the level of difficulty so the student has to actually spend some time on the assignment. But LLMs are getting better every month and the difficulty is so high that no students can possibly do the assignment by hand and now small errors in assignment design can lead to large errors in effort and time required.
Implement more versions with different languages, frameworks, libraries and AI agents. Then you can do differential execution for testing, which is easier than imagining testing scenarios from pure code. You can fuzz or use production data (shadow mode execution) to get notified early of divergences.
Keeping a population of diverse replicas might be the simplest way to derisk AI code. When 2 replicas diverge an agent can decide - was it a bug in one of them, or was the spec unclear? Either way, if you fix a bug or clarify the spec you come ahead.
A separate class of problems is related to intent divergence. For that my solution is to keep a full log of all user messages during the lifetime of the project. Even 10,000 messages collected over weeks and months can be read and summarized in a few minutes. That means you can check for intent divergence with agents, but you always start from the raw source (your human messages) not from intermediate summaries and diverged code.
Combining the 2 ideas would make each replica agent derive the user intent separately from the same log.
The other thing I want to try more at work is, rather than programmers at desks individually talking to agents, do pair or group programming with an agent in the room where the people discuss the design while the agents listens, asks questions, and writes the code live. We’ve had a few meetings where we do this, and it feels much better than individual vibe coding, because as a group we review the design as we go and prevent going down paths I might have gone down by myself. It combines the coding and review into a single session and ensures everyone present is comfortable with the design.
That’s not what it’s about. It’s actually from someone who genuinely wants to learn for the sake of learning who’s talking about how AI is creating havoc in her studies.
The real villain in this story is the teaching staff. They need to get their act together and stop using generative AI for courseloads.
In other words, they need to do their job. The parts about AI mandates changing every 3 months reeks of an overly bureaucratic, admin-heavy structure where the students’ learning is a lower priority being performative about AI for your boss.
AI can teach you, you just have to put the effort in to tell it to teach you. In some contexts, I might want it to fire off a utility bash script and I have no interest in learning bash so I just run it and don't worry too much about the implementation. But if I'm getting it to help me write Java code for work, I review the output and ask it about parts that I don't understand. And it teaches me way better than the old way of reading dry/bad documentation.
It's what you make of it.
AI clearly means you need to change how you teach and evaluate students. We are only a few years in though, and it's still extremely unclear what effective teaching with these tools looks like.
The worst part is that the evaluation loop is measured in multiple years! If you start trying some new education mechanism today you won't get a robust idea of how well it works until your current cohort graduate in 3-6 years time.
Students effectively all become guinea pigs for untested new ways of learning and teaching.
I think we have a solution for the evaluation part: the overwhelming majority of a student's grade is computed from in-person assessments only. Some instructors allow repeats on exams as well.
The teaching part is as hard, but it has always been hard. The students you get one year are completely different the next year, for various reasons. As long as you have competent administrators, all is good--this is what we sign up for.
First off, congrats on spending time doing side projects in OpenProcessing. Keep working on projects that keep you motivated and keep you learning.
We've been there, lost in our learning paths. Even before AI there were times when we were overwhelmed with our CS journey. You'll overcome, don't you worry about that.
The CS degree was never the end of the learning journey. It was always _what you put into it_. You'll learn what you practice, and uni just happens to be a good place to practice things. Whether that's optimizing AI harnesses, understanding how CPU caches work, crunching pixels on a GPU or the principles of distributed computing... it will all make you a better thinker and good at what you do one day.
Stay curious.
I don't think programming becoming 'easier' has make understanding programs any easier or less important. Even if all of the above goes away, I think computer science has taught me a lot about how to think about problems.
At my uni they had us doing assignments in assembly on day one, before anything was actually taught. The lab handbook said "your first year programing courses will serve you well." lol. Apparently it used to be a 2nd year course and they just moved it to the first semester of the first year unmodified, for no apparent reason.
Had a similar experience at other universities and other courses. This was in the Netherlands so maybe it's different in other countries but my experience is that it functions mostly as a filter for people who already know the material rather than actually teaching you anything.
Over half of people fail the first year (and are banned from repeating it, for 5 years), which is considered normal and acceptable. So it's more of a selection mechanism than anything else.
So I said to a friend who's choosing a university right now, "just don't expect them to actually teach you anything", which is a pretty sad thing to say for an educational institution.
Despite the massive suck all around, I very much like the idea of university, and did enjoy many aspects of my time there, especially the projects. (And I've followed some lectures from other universities on YouTube, where I experienced actual learning, and -- god forbid -- actual joy!)
It is now, and always has been IMO, up to the individual whether or not they want to learn deeply the material being presented, or just do what is necessary to get the grade as a means to an end. In the past, accidently learning something deeply was a little more likely than having the answers at our fingertips via AI, but the possibility is still there depending on how you use the tool.