| I have done a lot of introspection on this and realized that I'm very much driven by intrinsic rewards moreso than extrinsic. I got into coding over a decade before it was my career because of the exploration, learning, and puzzle/challenge aspect. Every time I have tried to be extrinsically driven (career or OSS wise) it's never worked out anyway. I could have done more to make it successful but I never cared about getting validation or getting users for my stuff (and the stress that brings). I've been lucky that up until this point, the intrinsic rewards I have gotten from my job have aligned with company goals. LLMs take all the intrinsic wins and leaves only the extrinsic ones. That makes me sad, but it is what it is I guess. I have been thinking about a tool for months but didn't have the time. I finally gave in and built it at work in a week with LLM tokens. It worked fantastically. But I felt no accomplishment. It felt just the same as if I downloaded the tool from someone else's repo (and who had an overly eager maintainer that would implement my GitHub issue requests). The hard part for me is ignoring LLMs in my free time to try and keep some of the intrinsic rewards to myself, without being annoyed that I could do it faster if I just "gave in". |
I do believe you can use LLMs while maintaining the intrinsic rewards of programming. For me, right now that means writing code by hand and using LLMs primarily for research, documentation, and brainstorming. Sometimes I ask it to write a piece of code just so that I can see what it comes up with and maybe learn something from it. I'm also planning on experimenting with coding agents, but I will probably have it work in its own parallel repo and hand-pick the changes I want to keep.
I think a "late adopter" mindset is actually beneficial. It allows you to focus on fundamental skills that will never be outdated, and you get the benefits of new technologies once they mature.