That said, like many people here I have invested quite some time in becoming a skilled and experienced coder, so there is no denying that this whole AI craze makes me feel like something is taken away from me.
That said, like many people here I have invested quite some time in becoming a skilled and experienced coder, so there is no denying that this whole AI craze makes me feel like something is taken away from me.
I either switch between two projects, or I keep an eye on what Claude is doing, because it often gets off the rails or in a direction I don't like and then it's easier to just stop it there and tell it what to do instead.
That said, like many people here I have invested quite some time in becoming a skilled and experienced coder, so there is no denying that this whole AI craze makes me feel like something is taken away from me.
I might have felt like that when I was younger (almost 44 now, programming since 10), but over time I realized that the thing I enjoy is not really writing code itself, but coming up with ideas, solving puzzles, etc. LLMs are like insanely fast junior programmers, so they do the more mundane part of the task, but they need me to come up with good ideas, good taste, and solve design challenges. Otherwise it ends up as a pile of unmaintainable junior programmer code.
It is possible that LLMs might replace the other parts of being a good programmer as well, but for the time being it makes my work more pleasant, because I can work on interesting problems.
The AI should be spending most of its time helping you spec out new revisions to the codebase, the code-writing time is just the last step and if you've planned the work in depth, you'll understand what the AI is trying to do (and be able to stop and revise if anything is going off the rails). This is a healthier approach than "just spec out something else in the meantime" IMHO, but of course that happens too.
Yeah, I've learned that if I do too much of that I'll spend more time catching up in terms of consolidating gains through review of code and functionality. That's just me, people are clearly developing a few different and not "wrong" ways of going about things.
Using AI has been really perfect for me. I can build stuff while I do other things, walk the dog, make lunch, sit on the porch.
Sometimes i realize that my design was flawed and I just delete it all and start again, with no loss aversion.
this resonates with me strongly, while i like coding, and understanding it, I understand my human limitations. I couldn't possibly write by hand the stuff I've been making, in the time I am making it, without a team these past few months. I would be coding literally all day, which while I sometimes enjoy the zoning out process of wiring stuff up, what i really enjoy is exactly what you described.
I enjoy being outside and walking my dog, taking a long shower, and cooking. All of these things are simple tasks with a good bit of repetition, and unlike wiring up some code or whatever, they allow my thoughts to flow, and I can think about where my projects are likely heading and what needs to be done next.
Those moments, even before heavy AI assisted coding, have always been the moments i cherish about software development.
Otoh -- if there is this bifurcation among coders (one group super-excited, one group depressed and angst-ridden) then maybe we should be trying to figure out why people are reacting the way they are. Can you explain more about your situation? What do you code? Do you have hobby projects? Do you have free time? Etc.
I usually review the code that's been written. Sometimes directly, sometimes by telling claude to bring things up piece by piece to explain choices as I review. Or I kick off one of the various maintenance tasks, validate my assumptions and expectations on how things should function, note the things that don't to be addressed. I'm going to have to do this stuff anyway, I might as well do it then.
Or I read something, or do something to clear my head. Sometimes because I need a mental break, because I find that the speed these tools having me working at can be taxing in different ways.
I think expectations of the "10x" variety whether you put that at 10 or 3x will have to be adjusted. Coding as fast as 5 developers is far far different than "A singly developer can produce as much as 5 others"
Screw {some number}x. Such BS. Those who can, do. Those who can't, write and spread pseudo-intelligent brain worms. Reject!
I grew up witnessing Carmack going from Keen to Quake in 5 or 6 years.
That standard gets you attached to the idea that you should be able at some level to individually reach a fraction of the depth and breadth. Sadly, I have neither the energy nor the focus.
But what's the point of getting an LLM to, say, write a raycaster if your point is to learn how to do that yourself? If your mission in life is to learn to build things?
(I hope I'm getting my idea across)
I have worked as a developer, security engineer, program manager and engineering manager through my career. Writing stuff to understand algorithms or hardware requires engaging with the math, science, and engineering of the software and hardware. Optimizing it or developing a novel algorithm requires deep comprehension.
Writing a service that shuffles a few things around between stuff on my home network so that I can build an automation to turn down the lights when I start playing a movie? Yeah, I could spend a day or two writing and testing it. Having done it a few times, the work of it is a bit of a chore, I'm not learning, just doing something. Using an Claude or some other agent to do that makes it go from 'do I want to spend my time off doing a chore?' to 'I can design this and have it built in an hour'.
Making the jump to using the tools in my day job has been a bitore challenging because as a security engineer I have seen some hairy stuff over the last two years as AI generated stuff wends it's way into production, but the tools and capabilities have expanded massively, and heck, my peers from Mozilla just published some awesome successes working with Anthropic to find new vulns :)
Don't let using tools take away the love of learning, use them to solve a problem and take care of the drudgery of building stuff.
Nobody can teach you to own and control you. But you had better. Use tricks, treats, magic, whatever, but get to the damned end or make for damned sure you know why you walked away (and live with that).
Your life matters. Your ideas matter. Birth them. It hurts. Push through. Don't look back at your life and wonder what it would have been like if you had stuck with it. It hurts. But do it.
Or do whatever you want, but this random stranger votes "getting over".
Sounds like you had one at home? If so, I'm a bit jealous. But also, hello, brother/sister!
I moved recently. My hardware acquisition loop still has me in tangles. Where exactly am I going to put this retired enterprise-grade Dell server? Why am doing this to myself? But, wow, it's a thing of beauty.
At any given time I have at least 4 terminals working on various pieces of a main project and/or side projects.
Whenever I have to wait on 1, I just flip to another. I find it very engaging because I can work on multiple pieces that all contribute to some overarching goal at the same time, concurrently.
Think of it like being a project manager in a team. There's a lot you can do to help the project moving forward without touching one line of code