That magical day might be defined by your company or, in many cases, it happens and you don’t have an official indicator.
While there might not be clear lines that define the different levels of developer, there are some changes that you will start to notice as you progress on the path. You’ll start noticing subtle differences in your normal work day.
A big indicator that you aren’t a junior developer any more is when you find yourself mentoring junior developers. Mentoring is something I’m personally passionate about and something that is desperately needed in tech. Although when I started working with my first junior dev, I didn’t even know what was happening.
I didn’t notice at first
Sure, we had a new person at work and they were learning their way around everything. When they would ask me questions in the beginning it made since because it’s hard setting up new projects and figuring out the business logic behind them. Then they kept coming back with questions that I thought were basic programming knowledge. We started talking about code and different concepts and that’s when they told me this was their first software development job!
It completely caught me off guard. It’s not like someone assigned this person to me and told me to mentor them. What I thought was just helping the new person get up and running turned into me getting my first junior dev to mentor and I didn’t even know it. They started appearing more often and asking more questions so I just answered them. It didn’t seem like anything special.
It took time for me to get used to them asking questions and for guidance
Having someone come ask you questions about what feels like every little thing can be annoying. It’s just a fact. That’s why you have to know how to approach mentoring and how to help your junior dev learn how to answer their own questions. It took a while for me to get used to this person popping up almost every 30 minutes. Usually the questions they had were easy to answer, but when you’re not used to having someone asking for help this often it’s an adjustment.
If you don’t usually have to explain the low-level details at a high-level, it really takes some getting used to. This is a person who is coming to you for guidance and for your experience. You have to learn how to answer their questions without acting irritated or being condescending. And if you have been that way, just apologize. One of the best things you can do for yourself to adjust to being a mentor is to setup a system with your junior dev for answering questions.
I was actually surprised I knew so much
Even after years of being a software developer, it can still feel like you don’t know enough. The programming languages and tools are constantly changing so there’s a lot to keep up with. When I had somebody coming to me for help, it was a little unnerving at first. I don’t want to teach anybody the wrong thing so I was really surprised when I knew the answers to the questions they were asking.
Understanding the basic concepts of programming well enough to explain to someone else means you actually have to know what you’re talking about. There might be questions they ask that show you places you can learn more as well. When you have a junior dev looking to you to help them learn their way around, remember that you know more than you think. Practicing something and doing it well for years gives you experience to pull from that you might not even realize.
It made me more aware of the decisions I was making and the things I was learning
When it’s just you writing code by yourself, you might go through several iterations of code before you’re happy with the result. That changes when you have someone staring at your screen while you type. Many junior developers will ask you questions about why you wrote code a particular and you should be able to answer. Although explaining your train of thought might sound fun, it might have more fluff than a junior dev needs.
Making concise decisions is a crucial skill for any developer and having a junior dev shadow you makes it even more important. You have to be aware of your decision making process and the new things you learn for more than just yourself. Explaining how your code fits into the overall architecture of the project helps them learn how to make good decisions on their own. Once you get used to having your junior dev around, you might notice your own skills improve because you have to be able to explain things as you do them.
It made me focus on someone else for a while
A junior developer is usually eager to learn and ready to work hard. It can be refreshing to be around after you’ve been in the industry for a while. Junior developers can bring a new energy that makes you notice them and want to help them. This makes you get out of your head and can give you a different perspective on how you work.
We’re pushed to stay up to date on our skills with almost every free moment we have and a junior dev can break that up. Teaching someone what you know when they really want to learn is fun. You get to watch them make progress and grow in their careers. Even if you only have them for a few days, they always pull you out of your own crap for a while so that you can focus on them.
Pairing junior developers with senior developers is a great way to get the juniors up to speed. Although it can take some adjustment for the seniors, they’ll get something out of it too. It really helps when someone lets you know that’s what’s happening before it happens though.
I’ll be honest, I had to apologize to my surprise junior developer. It does take practice to be a good mentor and knowing when you’re wrong and being able to admit to a junior developer is important. Part of being a good senior dev is being humble and teachable. If you aren’t, how could you expect anyone to learn from you?
Hey! You should follow me on Twitter because reasons: https://twitter.com/FlippedCoding