4 ms·
This post reminds me of a conversation I had with my dad in the late 90s when I was mostly using VB6 and he was encouraging me to learn C++. Even back then, the
by peteforde 4mo ago
This post reminds me of a conversation I had with my dad in the late 90s when I was mostly using VB6 and he was encouraging me to learn C++. Even back then, the syntax and ceremony of the language repulsed me, and my admittedly arrogant reply was that if I ever needed C++, I'd just hire someone to do that part for me.
For what it's worth, I still stand by that strategy 30 years later. Delegation is one of the most powerful tools we can use, and developers are usually really bad at it. I speculate that this is because we have egos and some part of my reptile brain feels like bringing in people who are better at something than I am is some kind of intellectual defeat. In reality, the opposite is true.
The lens that folks [who are anxious about forgetting how to program when using LLMs] should use is to ask themselves if they have the same existential crisis when hiring someone or working as part of a team. Does delegation make you dumber, smarter or something else?
In my case, I'm rarely as smart as when I effectively delegate things I'm less good at. In a universe where time is infinite, I could perhaps decide that it makes sense to be good at everything. In this reality, I'm more aware of how finite time is every morning when I wake up. It makes no sense for me to learn C++ for the few moments when arguably it would be handy if I knew it.
Ironically, it was ultimately video games - specifically, some hobby Unity development - that led to me learning just enough C++ to embarrass myself. And my dad never approved of video games, either.
Anyhow: if hiring someone to work on parts of your project doesn't make you less good at programming, I highly doubt that using an LLM makes you less good at programming either. In my experience, I'm actually feeling like a better developer these days because I'm getting so much more done in a shorter amount of time.
- gjadi 4mo agoYou can't talk about delegation without talking about what and who you're delegating. Delegating a demo or an exploration to a junior is fine if you can help them with feedbacks and make them grow and the business is not on the line. Delegating a critical development to a senior engineer you've vetted on previous delivery is fine too. Delegating a critical development to a junior is a recipe for disaster. Now, I'm still trying to figure out what I can fully delegate to an agent and what I can't. Right now, LLM feel like a senior on technical stuff and a junior on decision/taste. One thing is sure, I can't delegate a critical development to it, not without review. For that review, I need programming skills. Maybe in the future that won't be the case, but I am not seeing that right now. (Using Claude code)
- peteforde 4mo agoI'd say we're on the same page with all of that. One thing I've noticed in my own behaviour is that the more tired I am, later in the day, the less rigorous I am about auditing what Opus suggests for me. This specific detail is a blind spot for many, I suspect. The problem is always going to be the 2% of the time it does something horribly wrong on an architectural scale. You don't know when the poison pill might come. Conclusion: if you wouldn't drive after drinking, smoking weed or staying awake too long, perhaps you shouldn't commit code generated by an LLM that is really amazing 98% of the time.
- gjadi 4mo agoYup, the unpredicable nature of their unreliability is what makes it very tiresome to work with LLMs sometimes. With people, you kinda learn their strength and weakness. With LLMs I haven't yet.