These are mostly my thoughts about what I was expecting as a junior and how I perceived senior developers. To be honest, I was romanticizing them quite a
But you will also, in general, get better at solving simple problems, but those are not the problems you will be dealing with. To put it simply — The complexity of the issues will grow with your skill.
Absolutely and completely true. That feeling of “I have no idea how to solve this” never completely disappears because with more experience comes more expectations. People will come to you with requests for complex systems you’ve never even heard of, and you have to create a solution. But those problem solving skills you built on the path to senior really come in handy there, and then of course all the time-saving knowledge of knowing all the “gotchas” and what is plausible. Yes, I can solve most of the issues that juniors struggle with with ease, but I still wrestle with my own issues semi-regularly.
Another thing people don’t often talk about is skill atrophy. As your skill-set grows, the length of time between using skills becomes greater. Programming knowledge fades pretty rapidly. That’s compounded by the fact that a decent chunk of your time is now supervisory. So you’ll still spend lots of time in the docs, refreshing all that knowledge you worked so hard to acquire.
I like to remind juniors that you can only become an expert on something temporarily, especially on large teams/projects. Between skill atrophy and the foundations shifting beneath your feet as other developers continue working, it’s not possible to truly understand a complex system in a state of flux for very long.
That’s a really great lesson to teach them. I’m a self taught programmer and for years I was troubled, wondering how in the world I’d ever learn and remember all this stuff. I was terrified when I got my first programming job. I thought all of these young, highly educated, hotshot coders would know everything and make me look like an incompetent idiot. As it turned out, I knew 10x more than any of my colleagues, just because I had to learn to find answers very early in my coding life, and I thought I needed to memorize all of it, so I took tons of notes and made an effort to remember as much as I could. I even used to re-type code that I wanted to re-use, just as a memory exercise. Anyways, it’s really good that you’re teaching them that lesson. Hopefully it’ll help them avoid imposter syndrome, and feelings of inadequacy.
I wonder if the “oh fuck, I don’t know what to do and this will definitely crash and burn” feeling ever goes away.
I’m only a relatively new senior, and everyone’s looking at me like I know what I’m doing, while I’m internally screaming and trying to juggle code reviews, documentation, ticket management, management management, client communication and 56 other things.
Absolutely and completely true. That feeling of “I have no idea how to solve this” never completely disappears because with more experience comes more expectations. People will come to you with requests for complex systems you’ve never even heard of, and you have to create a solution. But those problem solving skills you built on the path to senior really come in handy there, and then of course all the time-saving knowledge of knowing all the “gotchas” and what is plausible. Yes, I can solve most of the issues that juniors struggle with with ease, but I still wrestle with my own issues semi-regularly.
Another thing people don’t often talk about is skill atrophy. As your skill-set grows, the length of time between using skills becomes greater. Programming knowledge fades pretty rapidly. That’s compounded by the fact that a decent chunk of your time is now supervisory. So you’ll still spend lots of time in the docs, refreshing all that knowledge you worked so hard to acquire.
I like to remind juniors that you can only become an expert on something temporarily, especially on large teams/projects. Between skill atrophy and the foundations shifting beneath your feet as other developers continue working, it’s not possible to truly understand a complex system in a state of flux for very long.
That’s a really great lesson to teach them. I’m a self taught programmer and for years I was troubled, wondering how in the world I’d ever learn and remember all this stuff. I was terrified when I got my first programming job. I thought all of these young, highly educated, hotshot coders would know everything and make me look like an incompetent idiot. As it turned out, I knew 10x more than any of my colleagues, just because I had to learn to find answers very early in my coding life, and I thought I needed to memorize all of it, so I took tons of notes and made an effort to remember as much as I could. I even used to re-type code that I wanted to re-use, just as a memory exercise. Anyways, it’s really good that you’re teaching them that lesson. Hopefully it’ll help them avoid imposter syndrome, and feelings of inadequacy.
I wonder if the “oh fuck, I don’t know what to do and this will definitely crash and burn” feeling ever goes away.
I’m only a relatively new senior, and everyone’s looking at me like I know what I’m doing, while I’m internally screaming and trying to juggle code reviews, documentation, ticket management, management management, client communication and 56 other things.
I have good news for you! That goes away as a general feeling. Certain projects may bring it back though.