The web wasn't alwasy that useful for cheating on timed exams as it was essentially like being able to bring in a formula sheet.
LLM's changed this such that you can type in the question and get a fully correct answer in a lot of cases.
The only solution that I see in education is that in person exams start to represent a larger and larger portion of a students grade such that the mid term and final will be more than 50% of a students grade for most classes going forward due to the gratuitous use of llms by students.
The one course that had something similar was microelectronics where during Christmas holidays we were given an optional assignment where we could design IIRC a NAND gate (2um process I think, most people ended up with a 5ft x 5ft sheet of paper at the end) which took a long time, but would give you up to +5% at the final (only one person got the full 5%, due to their creative use of the diffusion layer for interconnects). I don't remember any other course having anything along those lines, although to be honest you could slightly influence the difficulty of the oral final questions depending on how hard you worked / your behavior in class (of course only in years 4-5 where courses had only 20-30 students, no chance in year 1-2 with 400+)
It was extremely high stress, as you can imagine, but basically impossible to cheat. Every year a significant percentage of the students had to drop out, so by the time the 5th year thesis came around I think less than 20% of first years graduated at all. You were allowed to retake course finals if you wanted a different score (available 3x year typically, no guarantee you'd do better tho), but if you failed enough times you had to retake the course from scratch. You also were not allowed to enroll in the next year's courses until you passed all the prerequisites.
I haven’t have written code aside from tweaking stuff here and there in probably 3 or 4 months. Before that I wrote code by hand every day for many years.
I’ve found a lot of fun parts of my new workflow that I enjoy. I still miss being fully immersed in a problem deep in the files… and sometimes it feels like homework reading so many implementation summaries from Claude because the feature spans 4 repos and is too much code to read. But I do love shaping the code into different solutions exploring in a way that is unique to ai native workflows. And I love building agent skills and frameworks with/around them and expanding it out to more aspects of the company or life — there’s deep work to be had that still feels like hacking in the trenches. I get a lot of the same satisfaction in different ways, and there’s a lot of exciting novelty to explore that was previously out of reach due to time and energy constraints.
Also I don’t like our backend stack and I hate React / NextJS to the degree of derangement syndrome — I am so happy that I don’t have to write it and I can just focus on UX, making customers happy / lives easier / shaping the software into better and better versions of itself at such a faster pace.
People who learned good software engineering intimately before the inflection point are extremely lucky right now. Existential dread and the stages of grief have been a part of the journey for me too sadly, but there’s a lot to celebrate and explore with the right attitude.
Since I have been a software architect for the past 7-8 years it feels in some ways that that experience makes using claude code a lot more productive than for my non-architect colleagues, as I am able to steer it much more effectively whether directly in sessions or via custom skills / mcp.
The big issues right now for me are hiring and manager expectations, I changed positions last fall due to mass layoffs and it took me 3 months to find one: having leetcode interviews in the current climate seems completely useless, even more than it was in the past, and system design interviews are so formulaic it also feels like a crapshoot. Plus every job getting hundreds of AI generated applications makes actually being considered in the first place quite difficult.
Manager expectations are also ridiculously inflated nowadays, it seems most action items that come are claude written with fantastical random statistics (if you add caching you can make your backend 98.3% faster!), and it takes so much time to fight this and unrealistic team velocity expectations.
Interesting times, I do feel lucky I have had a long career, but I very much fear the ladder being pulled up even more than it has been when outsourcing because widespread. I know everybody says "things always change, new opportunities will open up to compensate for the ones that are being lost" but this time it does feel different, and not in a good way.