Does it? I've had some months-long gaps where I hadn't written a single line of code and I always felt like I could get back up to speed within a few days. I suppose that depends on where you expect your level to be, are we talking about $300k+ positions at big tech or your average software job?
Re-learning a large codebase would take longer, of course, but I'm talking about just getting up to speed like if I was starting a new project.
But surely you can tell it's not like riding a bike.
> just getting up to speed like if I was starting a new project.
This is the best case scenario for getting back up to speed.
It may sound harsh, but there's not a lot of skill involved in starting new coding projects (it's one of the best things about the craft imo). Of course you'd get back up to speed quickly, especially if you have 10+ years of programming under your belt.
> It may sound harsh, but there's not a lot of skill involved in starting new coding projects (it's one of the best things about the craft imo).
I generally feel the opposite. Starting a new project, not just a prototype, requires a lot of decisions and knowledge that mostly only has to be applied at the beginning of a project. Language choice, core dependency choices, build system, deployment, general project structure, etc. Each one can be changed later on, but the longer a project goes on, the more of an impact these early decisions have, and the more important it is to get them mostly right from the start.
On the other hand, when you join an existing project, many decisions of the project are already made and you just write code that resembles existing code.
I think we’re just splitting hairs over what “project” means.
But even so, many web projects are as easy as `npx create-next-app` and you have a solid foundation.
It’s much harder to start working on an existing codebase.
> you just write code that resembles existing code.
This is so incredibly wrong.
Every line of code you write as an IC on an existing project should take into consideration the existing code, the teams patterns and code style, and the reasoning behind existing systems.
The choices that were made that you’re unaware of makes it much harder to write any code, let alone code that also resembles existing code.
Decisions don’t require skill, necessarily. Anyone can just choose a web framework or a database.
Working within the restrictions of an existing system has a much higher skill floor.
I spent a year just coasting at a job and not really writing any code.
It was quite difficult to get to my same level after starting my new job.
Now that I’m back there I’m weary of losing my touch again.