I would just add that gen AI can actually be a fantastic aid when you're building some toy projects just for yourself.
I am primarily a backend engineer, though I am capable on the front end, just not particularly fast. I am especially slow at the voodoo that is CSS. In the past, I would have been turned off from doing some end-to-end personal projects because I know I would have been bogged down just battling CSS for hours and hours (it's particularly problematic that I'm slow at CSS but also a stickler for how I want things to look). With AI tools I can literally just say "make it pretty". It gets me about 85% of the way there, but importantly it gets me to the point where it puts in all the styling framework and then I just have to fix bugs/edit/tweak it, which goes very quickly.
So now I've found myself much more likely to build personal projects because I know I can get past things that in the past felt a bit like quicksand to me.
The joy of personal projects is they can look like shit! You'd also be surprised how much you can learn by just screwing around with something for a day. A big part of the whole exercise for me was getting out of my comfort zone and learning that I can learn. I'm primarily backend as well, and came up through the ops side (as opposed to formal CS), which always led to a lot of imposter syndrome, so a lot of the benefit came from just putting myself in an uncomfortable position and just staying there long enough to work my way through it.
That said, my goal for this was to wear the hair shirt (and also this was before GenAI was really a Thing) - if you just want to make something neat, absolutely vibe your way there.
> So now I've found myself much more likely to build personal projects because I know I can get past things that in the past felt a bit like quicksand to me.
I'm the opposite of you (my strength is in voodoo) but my experience is the same. Whereas before I'd spend 2-3 weekends getting bogged down on elements that aren't my strengths and never complete, now I can easily whip up a mostly functioning web app (just for me) in just a few hours.
This is how 100% of non-technical executives view software engineers, really. And probably explains a lot of the hysteria (unfounded as I may believe it to be) around LLMs eating the industry.
A good reality check is: if a stranger asks you about a specific part of your toy project, would you be able to explain it?
If you can't, it means there's something there you don't understand, and you lost an opportunity to learn. Of course, this is also true for reusing libraries and stuff.
Within a job, what matters is the _team learning_, and it's roughly the same idea. At least one person in the team should be able to explain anything the team does. Trusting it to an AI puts the whole team in a precarious situation, even if it is something as simple as a CSS layout.
It's a balance I find.
On the one hand, the machines can spin up these bridges over unfamiliar code chasms.
But on the other hand, you (at least I) have no investment in the code. No familiarity with it. No "skin in the game" when I can tell the AI to just redo it.
One way around that is by using the "Chat bots as search engine", and then, rather than cut and pasting stuff into your project, type it in by hand. Even if you're just straight up copying it, by typing it in you have a bit more connection to it. When I do that I can better see the unfamiliar patterns rise out of the code. It's much better for me than just reading it.
Also gives me opportunity to tweak it as I like, which can break things, which can teach me things.
Mind, I've been advocating this "type it, don't paste it" philosophy for years and years, for any code snippet found in a book or tutorial or wherever. It's just now with the bots, the code is more tuned to our exact use case, and the incentive for moving it over is less.
But I find grabbing a blob of code, pasting it into my project, and getting errors so that I can tell the bot whats wrong is not particularly satisfying.
Watching Claude figure out its own errors even less so. (It's very cool to watch, just not very joyful to me outside of "wow, that's cool".)
On the other hand, I have no problem pasting a snippet back with a "what exactly is this doing here" to get better explanations of what I'm seeing.