3 ms·
In the medium term I think you have to shift the work upstream to show that they've put in the labour to actually design the feature or the bug fix. I think we
by stuartjohnson12 1y ago
In the medium term I think you have to shift the work upstream to show that they've put in the labour to actually design the feature or the bug fix.
I think we've always had this mental model which needs to change that senior engineers and product managers scope and design features, IC developers (including juniors for simpler work) implement them, and then senior engineers participate in code review.
Right now I can't see the value in having a junior engineer on the team who is unable to think about how certain features should be designed. The junior engineer who previously spent his time spinning tires trying to understand the codebase and all the new technologies he has to get to grips with should instead spend that time trying to figure out how that feature fits into the big picture, consider edge cases, and then propose a design for the feature.
There are many junior engineers who I wouldn't trust with that kind of work, and honestly I don't think they are employable right now.
In the short term, I think you just need to communicate this additional duty of care to make sure that your pull requests are complete because otherwise there's an asymmetry of workload and judge those interns and juniors on how respectful of that they are.
- imiric 1y agoI don't think the junior/senior distinction is useful in this case. All software engineers should care about the quality of the end product, regardless of experience. I've seen "senior" engineers doing the bare minimum, and "junior" engineers putting vastly more care into their work. Experience is something that is accrued over time, which gives you more insight into problems you might have seen before, but if there's no care about the product, then it's hardly relevant. The issue with LLM tools is that they don't teach this. The focus is always on getting to the end result as quickly as possible, skipping any of the actually important parts of software development. The way problem solving is approached with LLMs is by feeding them back to the LLM, not by solving them yourself. This is another related issue: relying on an LLM doesn't give you software development experience. That is gained by actually solving problems yourself; understanding how the system works, finding the underlying root cause, fixing it in an elegant way that doesn't create regressions, writing robust tests to ensure it doesn't happen again, etc. This is the learning experience. LLMs can help with this, but they're often not used in this way.
- bluefirebrand 1y ago> I don't think they are employable right now Well that sucks because that just means the pipeline for engineers to become seniors is completely broken
- epicureanideal 1y agoSounds like we’re about to become more and more valuable over time? Hmmmm
- bluefirebrand 1y agoMaybe so, but I don't want to continue this trend of older generations thriving while younger generations are kicked to the curb I have no interest in pulling the ladder up behind me