5 ms·
A Junior programmer is a total waste of time if they don't learn. I don't help Juniors because it is an effective use of my time, but because there is hope that
by nmehner 9mo ago
A Junior programmer is a total waste of time if they don't learn. I don't help Juniors because it is an effective use of my time, but because there is hope that they'll learn and become Seniors. It is a long term investment. LLMs are not.
- embedding-shape 9mo agoJust like LLMs are a total waste of time if you never update the system/developer prompts with additional information as you learn what's important to communicate vs not.
- nmehner 9mo agoThat is a completely different level. I expect a Junior Developer to be able to completely replace me long term and to be able decide when existing rules are outdated and when they should be replaced. Challenge my decisions without me asking for it. Being able to adapt what they have learned to new types of projects or new programming languages. Being Senior is setting the rules. An LLM only follows rules/prompts. They can never become Senior.
- dpark 9mo agoIt’s a metaphor. With enough oversight, a qualified engineer can get good results out of an underperforming (or extremely junior) engineer. With a junior engineer, you give the oversight to help them grow. With an underperforming engineer you hope they grow quickly or you eventually terminate their employment because it’s a poor time trade off. The trade off with an LLM is different. It’s not actually a junior or underperforming engineer. It’s far faster at churning out code than even the best engineers. It can read code far faster. It writes tests more consistently than most engineers (in my experience). It is surprisingly good at catching edge cases. With a junior engineer, you drag down your own performance to improve theirs and you’re often trading off short term benefits vs long term. With an LLM, your net performance goes up because it’s augmenting you with its own strengths. As an engineer, it will never reach senior level (though future models might). But as a tool, it can enable you to do more.
- 12_throw_away 9mo ago> It’s far faster at churning out code than even the best engineers. I'm not sure I can think of a more damning indictment than this tbh
- dpark 9mo agoCan you explain why that’s damning?
- nmehner 9mo agoI guess everyone dealing with legacy software sees code as a cost factor. Being able to delete code is harder, but often more important than writing code. Owning code requires you to maintain it. Finding out what parts of the code actual implement features and what parts are not needed anymore (or were never needed in the first place) is really hard. Since most of the time the requirements have never been documented and the authors have left or cannot remember. But not understanding what the code does removed all possibility to improve or modify it. This is how software dies. Churning out code fast is a huge future liability. Management wants solutions fast and doesn't understand these long term costs. It is the same with all code generators: Short term gains, but long term maintainability issues.
- dpark 9mo agoDo you not write code? Is your code base frozen, or do you write code for new features and bug fixes? The fact that AI can churn out code 1000x faster does not mean you should have it churn out 1000x more code. You might have a list of 20 critical features and it have time to implement 10. AI could let you get all 20 but shouldn’t mean you check in code for 1000 features you don’t even need.
- nmehner 9mo agoI write code. On a good day perhaps 800-1000 "hand written" lines. I have never actually thought about how much typing time this actually is. Perhaps an hour? In that case 7/8th of my day are filled with other stuff. Like analysis, planning, gathering requirements, talking to people. So even if an AI removed almost all the time I spend typing away: This is only a 10% improvement in speed. Even if you ignore that I still have to review the code, understand everything and correct possible problems. A bigger speedup is only possible if you decide not to understand everything the AI does and just trust it to do the right thing.