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 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.
Being a senior engineer doesn't really have anything to do with how long you've been developing. I've met amazing 21 year old developers who can out code people doing this for 20+ years in their sleep. I would say one of the reasons "seniors" are so much better with AI is because they have CS fundamentals. They know what to ask, they know systems design, they know what ACID is, they understand race conditions...
AI + CS allows you to develop with leverage I've never seen before.
> 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.
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.
I wonder how you'd do without your AI augmentation if you find yourself not being able to use it for whatever reason. I wonder what you retained when the AI is not working... or with a very expensive augmentation that wants more cut from your pay...
> I wonder how you'd do without your AI augmentation if you find yourself not being able to use it for whatever reason. I wonder what you retained when the AI is not working... or with a very expensive augmentation that wants more cut from your pay...
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.
Basically true for all degrees. I studied non-cs engineering before getting into coding and feel it often. At times have felt “should have stuck more with mech e where jobs are more stable and the tech moves slower” but know it’s kind of a fallacy.
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.
Companies that let SW engineers go because of productivity improvements are being stupid. These people will go and build new products, and will compete with your company.
Other than keeping up to date with how to best use AI/harnesses what else would be most important to stay on top of for retaining a software engineering job these days? Also AI seems generic to me. Could I bother you for a more detailed breakdown on the most important topics/skills you would consider necessary for a software engineer to be knowledgeable of?
Harsh opinion: but if you just want to pay the bills this is not for you. Software engineering is a career, not a job.
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.
Iff your goal is using a degree as a stepping stone, which seems to be getting less popular these days.
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.
Great post. The writing is on the wall, CS is dead, you need to pivot. The CS career that you set out for does not exist anymore (the one that involved thinking for yourself to struggle and solve problems); the template you followed is wrong now. You're staring right at it.
I’m hearing this more and more from both students and teachers. It seems like everyone in education is frustrated and can’t figure out how to use AI for education productively yet.
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.
> 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
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.
This is a nice idea, but I’m in a big enough and low-level enough code base that using other languages or stacks isn’t very viable; we build the stack, so it’s software and hardware and compiler and driver. We do sometimes use multiple agents and adversarial review. The agents tend to come up with more complete corner-case testing than humans, the most common issue is that they don’t fully understand all design assumptions and parameters and they over-test for things that can’t happen using very complicated test setups, and they don’t test enough for simple mainline usage; they generally don’t know what the common workflows are. I had the same complaint about humans before LLMs too. :P We often try to be clever about testing and design all this logical coverage while ignoring the boring & easy stuff, we think like engineers and not users.
I taught my Claude to teach me new skills, where I wanted to understand its work deeper. Specifically, I wanted to learn coccinelle semantic patching, so I told it to find potential places to apply it but withhold the solutions from me. Instead, it walks me through producing a patch myself.
Yeah I’ve been meaning to try this more seriously, to have the agent be teacher and give me hints and force me to do the typing. It’s somewhat difficult to both find the time to do this at work, and also to have the self-control. I’ve done some half-hearted attempts, but when it gets to the repetitive and easy to understand parts, I start to slide back to letting the agent do it, and then sooner or later it’s handling trickier things again.
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.
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.
Answers so far are assuming that this is complaining that their traditional CS course is not that useful for getting a job anymore.
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.
This is a blog post where it’s easy to see which commenters did not read the blog before commenting.
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.
I would argue the job thing is more at risk and opportunity for learning is at an all time high. You've got 24/7 access to a very skilled personal tutor.
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.
> Coursework design has gone down the toilet. I mean, it was never perfect to begin with.
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!)
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.
While AI is writing much much more of my code these days, I still need to be able to speak intelligently about what I am building, why I chose a given design and the tradeoffs between alternatives. When fixing things, it's still important to understand what broke and why. I don't think that will ever change in any organization that operates in high compliance environments or cares about delivering high quality products.
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.
Regardless of the fantasy sold about what a university degree entails, it's ultimately designed to get your foot in the door, and maybe even prepare you at a very basic level for navigating the professional world. It sounds like it is certainly doing the latter. Especially with a rapidly evolving field such as CS, I would say it was the case for all of us regardless of the phase that whatever technology we were using in the coursework was at best going to be different by the time we got into the field, and at worst (and more likely) very outdated as it is taught at the time of learning it.
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.
Being able to write a coherent critique that stays practical and doesn't stray into bombastic moralisation or interpersonal frustration is a rare skill that speaks well to your communication skill and taste. I think you will do just fine in a world of AI in engineering.
I used to have a lot of anxiety about Ai wiping out all the Software specific jobs, software development/testing/project management, etc. I actually do think that's still likely to be the case going forward. Pick an industry and try and become an expert in it. Someone will still have to prompt and dream up new features. There are still things that you can't prompt your way to, but they're on the relationship side, not the technical side. I'm not sure what I would say to someone currently doing a CS degree, Math degree, Physics degree, or wanting to do one. Most likely I would say if you want to have a stable income, get good at sales.
It’s probably time students shift further away from studying computer science and more toward software engineering. It provides real skills that are still relevant in the AI era. Less memorizing algorithms, more SDLC, team management, economics, and working with real customers on their requirements.
The uni I recently graduated is also very confused regarding what to do... Things have converged towards less hands on assignments and more theoretical exams, something I know for sure I would've hated during my studies.
It's awkward, you're very unlikely to stop students from using AI for certain assignments (i.e: first programming class) for the good of their fundamentals, but there's also no other teaching tool being used to get them equivalent experience to solving assignments without AI.
I use AI extensively at work. I don't vibe code - I'm extremely intentional about what I have it do.
I keep getting excited because I can ask it questions and learn so much from it, but then I realize that a lot of what I'm learning is specific technical knowledge that I don't really need anymore.
That said, the important stuff in building systems has never been the coding. It's the wisdom to organize the system in such a way that it works well and is changeable. AI is still really bad at this. But it's super good at the for loops and if statements, which is actually the easy stuff.
I decided to finally get a CS degree at juuuust the right time (well, for my personal reasons of "love of the game" at least - individual interests may vary), having wrapped up ~2 years ago.
It was interesting to see things change towards the end. Some was the chaos from the lack of consistency the article highlights just starting to emerge. Mostly though, it was just the rampant surge in cheating and the classes not being prepared for it.
That seems like a normal academia dysfunction, AI is just another thing they are failing to adapt to. I graduated 10 years ago and on the job I had to unlearn most of what I learned from the Java course, for example.
I haven't seen a better example of "those who can't do, teach" than CS professors.
if you only do CS for the job or the money you where wrong from the beginning. I do this for 45 years now and every year ther was a horror story how now tech will change everything. You have to empbrace the change and have fun in adapting. CS is nothing to sleep on. If you only do it for the money do something else.
It's not a double standard. It's the same standard applied to different things.
The best way we know of to learn something with AI is to do the work yourself, then watch AI blow you out of the water on the same task, learn its tricks and do the work again (better, even, since AI isn't that great at it yet)
Which means the teacher can use AI, and you can't.
This is also an entirely different subject to whether you should be learning that specific task in the first place or delegate it to AI.
>The best way we know of to learn something with AI is to do the work yourself, then watch AI blow you out of the water on the same task, learn its tricks and do the work again (better, even, since AI isn't that great at it yet)
Citation on this? There is something on HN front page right now that is contradicting.
Or "Karim lakhani how to learn with AI" and see Gemini's skim of the video.
The other thread is highly sensationalised and not really related. (Edit: sorry I thought it was a different thread, the one that's sublinked by OP in your thread. So disregard this paragraph. I can't contest either position, I'm a mere spectator. That being said, I don't see the contradiction, perhaps you could elaborate on that)
It's not that it's forbidden fruit, but it's akin to asking your mom for every answer on your 3rd grade homework. You get the correct answer and learn nothing.
Sure, in the real world outside of school, you'll be able to get help from many external tools. But when the entire point is to learn something, any tools that prohibit you from learning should be avoided.
Wesley Crusher was kidnapped away to a planet with no children. Their bodies were decaying but their technology was superior to the Federation's so they needed to steal other people's kids.
They gave Wesley a laser scalpel, to teach him to chisel wood, with whatever his mind could picture.
Wesley complained, he said, "dood, this isn't art! i'm not even chiseling!"
And the mentor-kidnapper said, "No, Wesley, you are doing art. The art is in your mind. The tool is just doing the work."
And so then Wesley threw the perfect wooden dolphin at the wall, infuriated that all the pleasure had been removed from the art. But he lived the rest of his life on that planet, making perfect wooden laser sculpted dolphins, cause that was his job and his boss told him too bad.
For a little while Wesley made popsicle stick art during his free time at night to try and feel the sensation of choice and control, but eventually just gave up and played mariokart until he was an old man.
Why are more people (bots?) using bearblog. The landing page claims it's fast and privacy focused, but it offers so little... I could recreate it myself in a day so why aren't people running their own blogs, especially in CS where you could learn something doing it.
I'm also now reminded that this is ran by that same guy who complained about the MIT license allowing people to do whatever they wish.
Isn't having something that can solve general problems based on prior art without the requisite effort in learning the prior art completely antithetical to education in general? Not saying they aren't useful tools, but asking a an AI to write bubble sort isn't learning bubble sort? The point was never to write bubbles sort it was to learn how and why.
1) Get the degree, do not drop out - In our society educational status signaling still counts and plays a good huge part in whether you can successfully get a job, do research, get tenure etc.
2) Learn AI to offload labour but not your brain - AI exhibits "Jagged Intelligence" and is "Probabilistic". So you must confine it within explicit guardrails. Always have the "Map of the entire Forest" in your Head and have AI contribute only in constructing "the Trees within the Forest" and that too where you know the peaks of its jagged intelligence lie.
3) Focus on end-to-end Software Engineering and learn how to do everything yourself with no external dependencies other than AI. Specifically, learn to map Requirements -> Formal Specifications and do Formal Verification against it. You need to become the overall "Systems Engineer" (as it used to designated in the old days).
4) In addition, use AI to learn about business functions viz. marketing/sales, accounting, legal etc. so you are golden and can setup yourself easily as a OPC.
5) Because AI can go deep in any one particular area, cultivating cross and inter disciplinary knowledge, studies, skills are more important today. You must truly build a "M/T" shaped skillset.
6) Always keep in mind Grant Allen's dictum viz. "I have never let Schooling interfere with my Education". AI is an excellent Socratic dialogue partner to learn anything quickly. Practice Maieutic Prompting with AI so you can appropriately constrain it and accelerate your learning curve.
7) Never ever stop learning something actively (can be Mental, Verbal or Physical). The subject you are learning can be anything at all but the key is to do it with mindful self-effort. It has been shown that people who are curious, continuously learning and figuring things out for themselves keep their mental acuity well into old age.
File under "old man yells at clouds."
I think it's worth asking what a CS degree is for. Is it
to teach you how to code and make you obviously hire-able
by industry? Maybe it's to teach you how to think about
data and code? If you think it's the former, then AI is
probably going to be a problem for you. If the latter,
it's neutral to somewhat good.
I've been hiring CS grads for 4 decades (yikes!) and
there's definitely been a shift. Not all existing
programs are bad. Not all young software devs are bad.
But... the percentage of recent grads that seem to
understand what data processing systems are about has
definitely fallen.
Us old farts in industry must share some of the blame
here. Our industry seems to be pretty boom or bust.
Someone comes in with a stack of money and tells people to
build { the web | blockchain | AI | virtual worlds | etc }
and suddenly there's a rush. At the start of the gold
rush, we're not sure how to build everything that's going
to be the next google [[1]] so we fill the room with young
kids who have seen some recent tooling and will work
cheap. We don't develop them. We want them to be
compliant drones dancing to a tune played by a CTO and
VP/Eng who got their jobs because they're the children of
the fund investors who gave the startup a bunch of money.
And then we go back to Universities and tell them "OMG!
Your not bar-raising your grads by teaching them __fill in
the blank__!" [[2]]
So... I don't doubt it looks like AI is destroying the
degree. But maybe it's just making it hard to ignore
previous problems with the uni to industry pipeline.
And I didn't mention the Mythical Man Month once in this
comment. I'm getting better.
1. I'm not sure too many people want to be Google at the
moment, but over the last 25 years, they've certainly
done well.
2. I'm intentionally misspelling "you're" because in my
time in industry, I've found only about 15% of people
would pass a 7th grade spelling test.
I think the frustration with changing policies is valid, but we should also consider their side of the situation.
Unis usually watch industrial revolutions from far and have several years to experiment and come up with an approach that mostly works before pushing students through those policies and coursework. This revolution threatens to destroy their business, so they feel an urgent need to do something, even if slapdash policies much better changed quickly.
AI is throwing a wrench in the normal workflows because:
(1) it can be seen as an existential threat to Unis (either their business model or the value of having their diploma),
(2) it is undercutting the value of a Uni degree because that diploma doesn't increase your odds of getting a good job right now,
(3) even people in the workplace using AI aren't working with consistent policies. Tokenmaxxing, then Token-efficiency. You might be prosecuted for a crime if you put confidential customer data into the LLM machine (my CEO sent an email warning about this to all employees), but all of your incentives are to move so fast that might be the only option available. Most of the time it has more to do with negotiating the uncertainty around what is the role of the human in the SDLC (ideation, planning, design, coding, testing, review, maintenance, iteration, coordination, etc) and what is the role of the many agents.
(4) Students are coming to Uni with AI as a habit and might need to change those habits to adhere to Uni policies. The little ones are getting access to LLMs early so the habits are formed early.
(5) Teachers / professors have always had to contend with cheating (how to detect and how to punish). Teachers can use a calculator to build the test (eg. Ensure the contrived numbers on a math equation are solvable and to verify the answers on their answer sheet). That doesn't mean that students should have access to a calculator if the purpose of that unit is to learn the concept without the use of tools.
As frustrating as it is for you, it is almost certainly as frustrating for the professors and department heads.
The cost cutting is a normal headache in all aspects of life. Welcome to capitalism.
I do agree with this perspective ... But I do understand the anxiety tho.
The advice I give you is the same I'm trying to believe in myself: just chill dude... AI isn't human and while can't be one, you are "safe"...
We are still figuring it out while it happen to find another way to "feel valuable" after code-writing is no longer the source of our self-value.
I never fully grasped when others would say that religion is meant to bring structure to peoples lives. As a world with AI starts to unfold I finally understand what they meant. Humans are incapable of functioning normally let alone progressing in theirs lives without rigid structure.
Hold onto the roller coaster hand rail, as we become the agrarian society we were all along.
Energy farmers in the desert.
Every farmer fixing his own tractor.
Thats where we come from.
The "everyone is special, and every product is specialized" period is ending.
Everyone is an expert on exactly the things they decided they wanted to be an expert on now.
Thats where we're headed.
If you listen carefully, you can hear the sound of humans being plugged into the matrix, and downloading their fill of cartridges, in ever increasing numbers.
This is a good article. AI just introduces new bureaucracy, workloads, useless discussions and is a hindrance.
No one needs AI in universities or software engineering. It only benefits the middle managers and mediocre people who jump on any bandwagon in order to help their careers.
No software has gotten any better since AI, except that some forgotten bugs from the 1990s were found, just as 20000+ bugs have been found by the Luddite OssFuzz system before AI.
This sounds awful, but the culprit is the terrible faculty at this institution:
> Whereas before, assignments were designed by a person who thought them through at least once, then approved by other people in the department, now I doubt they're getting read more than once (if that). Errors abound, often with corrections coming a week or two before the deadline.
This is entirely unacceptable. Professors who are using AI to generate assignments and course loads need to be discipline and removed if they can’t start doing their job.
From the title I thought I was going to be reading an article wondering how AI would devalue a CS degree, but this is actually a story about a CS program falling apart because the instructors are flailing about without AI.
> This is entirely unacceptable. Professors who are using AI to generate assignments and course loads need to be discipline and removed if they can’t start doing their job.
Why? How many times have these same assignments been created, semester after semester for decades before we see how wasteful this is? These are solved problems in 99% of cases and just busy work for the staff to justify their existence. Their job should be to lecture and assist students, not create endless assignments that just regurgitate what was already done a thousand times already.
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.
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.
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.
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!)
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.
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.
It's awkward, you're very unlikely to stop students from using AI for certain assignments (i.e: first programming class) for the good of their fundamentals, but there's also no other teaching tool being used to get them equivalent experience to solving assignments without AI.
I keep getting excited because I can ask it questions and learn so much from it, but then I realize that a lot of what I'm learning is specific technical knowledge that I don't really need anymore.
That said, the important stuff in building systems has never been the coding. It's the wisdom to organize the system in such a way that it works well and is changeable. AI is still really bad at this. But it's super good at the for loops and if statements, which is actually the easy stuff.
It was interesting to see things change towards the end. Some was the chaos from the lack of consistency the article highlights just starting to emerge. Mostly though, it was just the rampant surge in cheating and the classes not being prepared for it.
I haven't seen a better example of "those who can't do, teach" than CS professors.
The best way we know of to learn something with AI is to do the work yourself, then watch AI blow you out of the water on the same task, learn its tricks and do the work again (better, even, since AI isn't that great at it yet)
Which means the teacher can use AI, and you can't.
This is also an entirely different subject to whether you should be learning that specific task in the first place or delegate it to AI.
Citation on this? There is something on HN front page right now that is contradicting.
https://news.ycombinator.com/item?id=50353192
I don't have a very high quality source but this does cover and expand on it: https://youtu.be/vFOnDsy58NU
Or "Karim lakhani how to learn with AI" and see Gemini's skim of the video.
The other thread is highly sensationalised and not really related. (Edit: sorry I thought it was a different thread, the one that's sublinked by OP in your thread. So disregard this paragraph. I can't contest either position, I'm a mere spectator. That being said, I don't see the contradiction, perhaps you could elaborate on that)
Sure, in the real world outside of school, you'll be able to get help from many external tools. But when the entire point is to learn something, any tools that prohibit you from learning should be avoided.
They gave Wesley a laser scalpel, to teach him to chisel wood, with whatever his mind could picture.
Wesley complained, he said, "dood, this isn't art! i'm not even chiseling!"
And the mentor-kidnapper said, "No, Wesley, you are doing art. The art is in your mind. The tool is just doing the work."
And so then Wesley threw the perfect wooden dolphin at the wall, infuriated that all the pleasure had been removed from the art. But he lived the rest of his life on that planet, making perfect wooden laser sculpted dolphins, cause that was his job and his boss told him too bad.
For a little while Wesley made popsicle stick art during his free time at night to try and feel the sensation of choice and control, but eventually just gave up and played mariokart until he was an old man.
I'm also now reminded that this is ran by that same guy who complained about the MIT license allowing people to do whatever they wish.
2) Learn AI to offload labour but not your brain - AI exhibits "Jagged Intelligence" and is "Probabilistic". So you must confine it within explicit guardrails. Always have the "Map of the entire Forest" in your Head and have AI contribute only in constructing "the Trees within the Forest" and that too where you know the peaks of its jagged intelligence lie.
3) Focus on end-to-end Software Engineering and learn how to do everything yourself with no external dependencies other than AI. Specifically, learn to map Requirements -> Formal Specifications and do Formal Verification against it. You need to become the overall "Systems Engineer" (as it used to designated in the old days).
4) In addition, use AI to learn about business functions viz. marketing/sales, accounting, legal etc. so you are golden and can setup yourself easily as a OPC.
5) Because AI can go deep in any one particular area, cultivating cross and inter disciplinary knowledge, studies, skills are more important today. You must truly build a "M/T" shaped skillset.
6) Always keep in mind Grant Allen's dictum viz. "I have never let Schooling interfere with my Education". AI is an excellent Socratic dialogue partner to learn anything quickly. Practice Maieutic Prompting with AI so you can appropriately constrain it and accelerate your learning curve.
7) Never ever stop learning something actively (can be Mental, Verbal or Physical). The subject you are learning can be anything at all but the key is to do it with mindful self-effort. It has been shown that people who are curious, continuously learning and figuring things out for themselves keep their mental acuity well into old age.
Unis usually watch industrial revolutions from far and have several years to experiment and come up with an approach that mostly works before pushing students through those policies and coursework. This revolution threatens to destroy their business, so they feel an urgent need to do something, even if slapdash policies much better changed quickly.
AI is throwing a wrench in the normal workflows because:
(1) it can be seen as an existential threat to Unis (either their business model or the value of having their diploma),
(2) it is undercutting the value of a Uni degree because that diploma doesn't increase your odds of getting a good job right now,
(3) even people in the workplace using AI aren't working with consistent policies. Tokenmaxxing, then Token-efficiency. You might be prosecuted for a crime if you put confidential customer data into the LLM machine (my CEO sent an email warning about this to all employees), but all of your incentives are to move so fast that might be the only option available. Most of the time it has more to do with negotiating the uncertainty around what is the role of the human in the SDLC (ideation, planning, design, coding, testing, review, maintenance, iteration, coordination, etc) and what is the role of the many agents.
(4) Students are coming to Uni with AI as a habit and might need to change those habits to adhere to Uni policies. The little ones are getting access to LLMs early so the habits are formed early.
(5) Teachers / professors have always had to contend with cheating (how to detect and how to punish). Teachers can use a calculator to build the test (eg. Ensure the contrived numbers on a math equation are solvable and to verify the answers on their answer sheet). That doesn't mean that students should have access to a calculator if the purpose of that unit is to learn the concept without the use of tools.
As frustrating as it is for you, it is almost certainly as frustrating for the professors and department heads.
The cost cutting is a normal headache in all aspects of life. Welcome to capitalism.
Provide examples.
It's hard for readers to gauge whether you're complaints are legitimate or overreactions.
> The amount of work involved has also tripled
are hard to evaluate if I don't know what the work was before. Nor can I compare with my education to see if the workload is reasonable.
> I am here to learn, god damn it, not barely scratch the surface of the 15 deliverables I have for a 3,000 word assignment.
What type of CS courses require a 3000 word assignment?
The advice I give you is the same I'm trying to believe in myself: just chill dude... AI isn't human and while can't be one, you are "safe"... We are still figuring it out while it happen to find another way to "feel valuable" after code-writing is no longer the source of our self-value.
Hold onto the roller coaster hand rail, as we become the agrarian society we were all along.
Energy farmers in the desert.
Every farmer fixing his own tractor.
Thats where we come from.
The "everyone is special, and every product is specialized" period is ending.
Everyone is an expert on exactly the things they decided they wanted to be an expert on now.
Thats where we're headed.
If you listen carefully, you can hear the sound of humans being plugged into the matrix, and downloading their fill of cartridges, in ever increasing numbers.
Talk is cheap again.
See you at the replicator parts store. :}
No one needs AI in universities or software engineering. It only benefits the middle managers and mediocre people who jump on any bandwagon in order to help their careers.
No software has gotten any better since AI, except that some forgotten bugs from the 1990s were found, just as 20000+ bugs have been found by the Luddite OssFuzz system before AI.
EDIT: zamadatix is an administrator. They felt offended by the swipe at mediocrities.
> Whereas before, assignments were designed by a person who thought them through at least once, then approved by other people in the department, now I doubt they're getting read more than once (if that). Errors abound, often with corrections coming a week or two before the deadline.
This is entirely unacceptable. Professors who are using AI to generate assignments and course loads need to be discipline and removed if they can’t start doing their job.
From the title I thought I was going to be reading an article wondering how AI would devalue a CS degree, but this is actually a story about a CS program falling apart because the instructors are flailing about without AI.
Why? How many times have these same assignments been created, semester after semester for decades before we see how wasteful this is? These are solved problems in 99% of cases and just busy work for the staff to justify their existence. Their job should be to lecture and assist students, not create endless assignments that just regurgitate what was already done a thousand times already.