Remix.run Logo
sarmadgulzar 2 hours ago

This all sounds good on paper but I have an honest question: How do you develop judgement as a junior or mid level engineer to critique AI if you yourself never learned that skill by making mistakes in the first place?

I’m not saying that all code should be typed by hand in 2026 but there are certain subtle things you learn only when you get into nitty gritty details especially related to security.

Also today’s AI is notoriously bad at ownership. When you ask it to give you a concrete answer, it will still give you options with pros & cons of each so that ultimately you own the decision and not it. So how do you decide between the two (or more) when you never learned to do it yourself?

ryanSrich 2 hours ago | parent | next [-]

> This all sounds good on paper but I have an honest question: How do you develop judgement as a junior or mid level engineer to critique AI if you yourself never learned that skill by making mistakes in the first place?

Shouldn't this be a pretty fundamental part of a degree? If you're in school right now for a CS or SWE related degree, I would imagine you're learning how code actually works, how the math actually works, etc.

If an LLM makes a mistake, you should be able to call that out.

You might be arguing that a junior engineer may not have the RWE to make those judgements, but by the time you've completed a 4-5 year degree, you should have done the following:

- Completed coursework where you've learned the fundamentals of programming and software engineering

- Have done dozens of projects (building everything from basic web apps to more advanced pieces of software) where you've seen what works, what doesn't work, etc. This also gives you real world exposure to the latest and greatest frameworks, tools, etc.

- Have done several (at least 2) internships where you've worked at a real company writing real code, and have seen/been mentored into what AI is good at, where it fails, etc.

Levitz an hour ago | parent | next [-]

These are two completely different types of mistakes.

LLMs are, by now, pretty good at not making "code doesn't work" and "math doesn't work" kind of mistakes when writing code. These are also "easy" things to get good at, you learn what each part does, understand the abstractions, ensure it makes sense, and go on with your day. Unit testing helps here.

LLMs are not that good at not making "this works wrong" kind of mistakes. Maybe the code compiles and does what it has to do, but maybe it's 2 lines of code with 6 lines of comments (looking at you Claude), maybe it defines three helper functions it doesn't really need, maybe it does something "here" when it should be doing that something "there" instead, maybe it finds itself in a framework and completely disregards how the framework is supposed to do things, etc etc. These are harder things to get good at and you WILL end up with an unreadable mess if you disregard caution and let the LLM go at it.

layer8 an hour ago | parent | prev | next [-]

> internships where you've worked at a real company writing real code

Though why would companies make that nontrivial investment if they can use AI instead?

Furthermore, I’d argue that learning good judgement takes around a decade of full-time dev experience. In particular, experiencing the long-term consequences of one’s design and implementation decisions. You don’t get that just by college education and a few internships.

bonoboTP an hour ago | parent [-]

Do you get it from the job hopping every 1-3 years as typical in the US?

layer8 an hour ago | parent [-]

Less effectively, I presume. I’m not in the US.

wild_egg an hour ago | parent | prev | next [-]

> Shouldn't this be a pretty fundamental part of a degree? If you're in school right now for a CS or SWE related degree, I would imagine you're learning how code actually works, how the math actually works, etc.

CS and SWE are radically different subjects. Science vs Engineering. I'm sure it varies by school but many CS grads will have approximately zero exposure to engineering concepts or any of the latest and greatest frameworks.

bonoboTP an hour ago | parent | next [-]

In Europe, informatics degrees, or more specifically technical informatics or engineer-informatics is often the right balance if you want math but also practice. In Hungary they call it engineer-informatics, but officially translate it as Computer Engineering, but it's not really heavily about how to engineer a computer as a machine, though there is some architecture and flipflops etc. of course in the curriculum. It's housed under the electrical engineering faculty, and not under the math and natural sciences faculty, but they still have rigorous discrete math, analysis, graph theory, optimization theory etc. classes.

It always baffled me that US colleges seem not to offer such programs. Or maybe they do, they are just not prestigious enough.

ghaff an hour ago | parent | prev | next [-]

That's sort of broadly true of engineering (including CS if they call it that) at major research universities. They don't really teach practical basics but mostly expect you to pick it up on your own if you don't already know it. They may use Python as a relatively accessible tool in an algorithms class but they mostly don't teach it.

ryanSrich an hour ago | parent | prev [-]

SWE was a sub degree within the school of CS where I went to school. You could do CS with a minor in SWE and get the best of both. I suppose if you're just doing a straight ticket CS degree you'll have little exposure to engineering (I believe when I went to school 13 years ago there were 3 courses over 4 years on engineering within a pure CS degree).

sarmadgulzar an hour ago | parent | prev [-]

> Shouldn't this be a pretty fundamental part of a degree? If you're in school right now for a CS or SWE related degree, I would imagine you're learning how code actually works, how the math actually works, etc.

I’m sorry to say but colleges don’t teach the kinda stuff you’re gonna use day-to-day. They’ll focus on architecture, data structures, algorithms, databases, OS internals theory that only a minuscule number of systems engineers would get to work on. They won’t teach you that in your /login endpoint, if a user is not found, you should verify the password against a pre-computed dummy hash so the response delay matches a real user account workflow to avoid timing attacks. You only learn this on the job under the supervision of a senior mentor.

bonoboTP an hour ago | parent | next [-]

Depends a lot on the college. I had electives like Java phone app development (J2ME, dating myself), DirectX game engine development, web development, alongside the more theoretical math classes.

> They won’t teach you that in your /login endpoint, if a user is not found, you should verify the password against a pre-computed dummy hash so the response delay matches a real user account workflow to avoid timing attacks. You only learn this on the job under the supervision of a senior mentor.

Actually this kind of timing attacks were taught to me in information security and cryptography class, alongside other side channel attacks.

sarmadgulzar an hour ago | parent [-]

Agreed. I’m not insinuating that colleges should teach all of these extremely domain-specific things. Most of the stuff would indeed be unnecessary for most students depending on what they do in the future. But that is my original point that you learn this on the job while making a mistake and being corrected by a senior mentor. AI wouldn’t call this out by itself unless you give it a very specific prompt which you also can’t write if you don’t know that these kinds of problems happen in the first place.

bonoboTP an hour ago | parent [-]

Not so sure. AI can flag non-best-practices like this quite easily from generic prompts. You just have to remember to ask it. I mean general review / audit prompts, like "are there any correctness bugs, or things that don't match best practices for efficiency, maintainability, security, or typical UX/API expectations?" And frontier models often flag such things. And it's just getting better. I would not confidently state "AI will never be able to X".

sarmadgulzar an hour ago | parent [-]

Sure you can do it but I think you’ll agree with what I said about ownership. Whenever I ask AI to audit my codebase, it always plays it safe and gives me a few options to choose from. It just won’t give me a concrete answer unless I insist it to give only one but then I wouldn’t trust that answer that I basically forced out of it.

bonoboTP an hour ago | parent [-]

Yes, I don't know how a junior brain would read it. I already have a map of roughly what kinds of things exist out there, even if my picture is blurry, so when I read a suggestion from the AI, I have a rough ballpark of what it means, and can ask followups and triage what is promising. If you never developed this, probably as a junior you have very little to base such decisions on.

sarmadgulzar 43 minutes ago | parent [-]

Exactly, I absolutely agree that AI supercharges seniors with judgment and conviction. They’re no longer constrained by how fast they can type.

But this is about what comes next i.e. seniors of tomorrow

If AI gets so good at software that vibe coding is the new norm and as Elon Musk says that AI will generate the machine code directly without any intermediate compilation or interpretation then we wouldn’t need seniors or juniors but I don’t think that’s coming any time soon, if at all!

bonoboTP 22 minutes ago | parent [-]

I doubt AI will ever generate straight up machine code directly as a best practice. Hierarchical, high-level abstractions help even AI reasoning. Re-reading some undifferentiated machine code make it harder to reason about even for the AI, while having a compact representation expressing the high level algo is much more efficient.

Regarding seniors of tomorrow, I think there are big differences between good devs and sub-mediocre ones, and I think their proportion won't change, and the good ones will have the drive to use the AI to learn and understand because they are simply curious and want to know. But most programmers don't care at all, and that's the case even today, and they will be less forced to learn. But I don't think we will lose much with this. Important things are held up by a small proportion of engineers, a Pareto-like principle.

ryanSrich an hour ago | parent | prev [-]

> I’m sorry to say but colleges don’t teach the kinda stuff you’re gonna use day-to-day.

This was not my experience in college. A lot of it was VERY applied. Granted, that was 13 years ago.

But even so, if you're at a college where you feel that you're not getting enough exposure, that's why I also called out "Have done dozens of projects" and "Have done several (at least 2) internships".

bonoboTP an hour ago | parent | prev | next [-]

So, how is this different from years ago when there were software libraries but in class we still rolled our own implementation to understand the algo. For example in machine learning, yes you could just use a Matlab toolbox or libsvm or scikit-learn. But then you wouldn't learn the SVM training algorithm, so we had to implement it ourselves. We knew that we wouldn't roll our own SVM at a job, in production. The goal of the exercise was to learn the algorithm and how it actually works.

Today we have AI, which is basically like having infinite libraries available that do what you ask for. But you will not learn if you just take that code, similarly to how you don't learn if you just call scikit-learn to train your SVM.

And of course students grumbled back then also and said why do we need to do this when all those libraries exist?

Learning often requires not taking the most efficient path for every project.

sarmadgulzar an hour ago | parent [-]

Precisely my point. But unfortunately companies are rushing to get the features out. No cares if you’re learning and augmenting your own understanding or not.

throwatdem12311 2 hours ago | parent | prev [-]

You hire juniors but don’t let them use AI tools for a year :)

xmcqdpt2 an hour ago | parent | next [-]

I wish but at $work the push has been the opposite. I'm still allowed to write code, but interns and juniors are being told that they need to prompt all the time.

I think upper management are hoping they can replace a possibly reticent or AI skeptical "old guard" with AI native Gen Zs. In practice, the young out of school kids are much less excited about AI than the 50 year olds, so I don't know how well it will work.

throwatdem12311 41 minutes ago | parent [-]

It is going to backfire spectacularly. It’s actually mind boggling to me how stupid business idiots actually are.

https://futurism.com/artificial-intelligence/zoomers-ai-sabo...

sarmadgulzar 2 hours ago | parent | prev [-]

Stakeholders are not technical enough to understand that so CEOs won’t do it. We are already seeing it play out. Entry-level hiring has been consistently down ever since AI got mainstream.

throwatdem12311 43 minutes ago | parent [-]

The competence crisis in a few years is going to be apocalyptic.