Hacker News new | ask | show | jobs
by AmblingAvocado 4 days ago
Coming at this as someone who has stepped away from coding more than once for multiple-year long stints due to various career choices - I think the concern of "skill rot" is overblown.

I stopped writing C++ professionally in the early 2010's. I came back to it in the early 2020's and it was extremely easy to pick up. Less like riding a bike, more like driving a car. The car got better over the last 10 years, but it still takes a bit of time to fully meld with the machine. The skills didn't rot, they just fell behind, and catching up wasn't a big deal.

I think the only "skill rot" people are facing today when coding by hand vs by agent is that you know you're doing something the hard way when you know there is another path of least resistance available - and that creates internal resistance to doing it the hard way. It's a mental block, not skill rot.

The one area I do find myself questioning is that my low level tech skills aren't growing - I'm building bigger projects that do more stuff across more areas, and as a result I'm touching lots of new technologies from a birds eye view and directing the agents to do stuff with them. I'm not personally gaining that experience of using those technologies, whereas if I were doing things the old way I would be deep in the weeds and have to know them in depth. But if I were doing things the old way I probably wouldn't be building such ambitious projects as a solo dev either.

IMO it's more like digging out the foundation with shovels vs using an excavator. You don't lose the shoveling skill by using the excavator, but you sure feel like a chump using a shovel when there's an excavator parked and ready next to the job site.

3 comments

This differs from my own experience with C++. I went from language-lawyer level knowledge (in some parts) while using it heavily (at work, at play and answering Stack Overflow questions on it) to forgetting quite basic stuff after a few years of no use at all. This was all before LLMs were on the scene. With that said, relearning is much faster than learning the first time, as the basic "shape" of things is still there in my mind.

In my defence, even Stroustrup acknowledges the language is too big and complicated, and it's continually getting bigger.

The big initial hump I recall was syntax for writing main and what to #include, then header guards. That, and getting clang up and running in a docker on windows so I could use new C++ features and flags that were blowing up with whatever compiler I got started on. Once I was able to iterate things started coming back quickly.
Maybe it only applies to people at the top of their game; pro atheletes and musicians need regular practice, the rest of us can use most of our skills without that.
do you have any tips or strategies on picking up c++ after a long break?
For context, I was working in C++ when C++0x was considered exotic and a bunch of actually useful stuff was in boost, basically making boost mandatory - and the headache of setting up a project and tooling to do that was enough to push me to other languages for small projects.

When I picked C++ back up, I had a greenfield project I wanted to work on and I landed on this as a reference: https://github.com/AnthonyCalandra/modern-cpp-features. I just started working on my project and every time I ran into something where I knew other languages or libraries covered a gap, I would look through that guide and use it as a reference to bring it into my code. Smart pointers, auto types being two big ones. That, and threads, concurrency primitives - I remember hitting those and being like wow, you don't need a bunch of #IFDEF's to be cross platform anymore!

I also found there were header only libraries that were easy to vendor for things like json parsing, image processing, and thread pools. That saved me a lot of headaches, and created new ones! ha.