Hook

Their other posts in the index, biggest breakout first.
I think a lot of CS majors are about to graduate with the wrong skill set. Let's talk about it. There's no intelligence gap going on. It's because the AI landscape is changing faster than curriculum can keep up. I went to UC Berkeley, I'm at Meta now. I interned on the same team I'm on now two years ago, and the role now versus when I was an intern, it feels like a completely different job. When I was in college, I remember all of the starter classes would train us to write code from scratch, and that skill is not useful anymore. Writing code manually on your own used to be very impressive during internships and for junior engineers, but now it's not, because Claude can just do that in a matter of seconds. So the question kind of becomes, what makes junior engineers now useful versus before? And you could apply this to any level engineer, but I think junior engineers are the most impacted by AI, just because their whole job was to churn out boilerplate code. Senior engineers kind of know their infra, their stack well, so they're pretty stable and settled. In personal experience, I think the most important skill for junior engineers right now is problem decomposition, which is the ability to break down and reason about software, not just implementing it. So usually when you join a company as a new grad, you have some sort of mentor or TL who will give you the project broken down into implementable steps, like they do that for you. But nowadays, I really think it's on the junior engineers to do that, to render themselves useful. The skill to see like the end state and be able to break that problem down into steps that you might not know exactly how to implement, but you know what tools you need, you know how to approach them, and you do know that you can eventually get there and get it done. That's very important. And I think that used to be less of a skill required of junior engineers, but now I see it becoming more and more important. Because when you think about it, if you lack the skill of problem decomposition and your TL is already scoping out your project for you, and you're just using Claude to code the whole thing, where is your role in this? How are you useful to them? The answer is you're probably not. Which is why I think junior engineers are the most impacted right now by AI, because their roles are the most trivial to replace. Because senior engineers can just churn out whatever the junior engineers were doing, because the senior engineers have the roadmap and the scopes in mind. I think problem decomposition combined with a little bit of product thinking and system design, plus debugging skills, those, that whole package is probably what would constitute in exceeding junior engineer right now. And maybe a normal junior engineer in the near future, who knows. I know for a fact, at least in my college or in other colleges, they're still teaching kids how to code by hand or to write code, and that's just not useful anymore. Sorry, I don't know why I said kids, we're like similar age. I feel so old. How to actually gain these skills is another question, because I personally never did personal projects in college, because that wasn't my thing. But I think nowadays, vibe coding, but having a clear end state and you kind of writing a project plan for yourself before you do it, I think that would be pretty useful. Not just like building whatever you think is cool and like leaving it, you have to actually break it down into things that you can say no to Claude to if that makes sense. Like you can't just be accepting everything Claude gives you. You have to like have the mindset of I'm going to check this and I'm going to see if this fits into what my plan was and then I'm going to iterate on this. I think that would be a useful way to develop the skill of problem decomposition.