I know that being junior, mid-level, senior, or team lead is something based on the environment or the team you're working with. I maybe am a senior developer on my team but I'm sure that I'm just a junior in comparison to a lot of great developers who build tools that we use to call ourselves as such. We all talk about how much we love to learn new things. That should mean that we always love to be junior in something and climb up to the top on that subject.
In my years of experience, I had the privilege of working with some awesome junior developers who taught me a lot about work and life. Because of my love of teaching, I would be in a position to learn a lot from them, and because of them. So, I thought this is a good time to talk about a good junior developer.
We're not going to talk about what junior level means. The purpose is to look into some good and bad habits a junior developer could have.
It's an obvious topic, isn't it? We love to learn and as a junior developer, you have to learn. We need to get along with the tools you are using to grow and be successful in your job.
I think this is a general pattern in teams that a new junior developer should concentrate on the current step. "Don't worry about the rest of the system, you'll know it at the right time." This is something that your lead might tell you. He's partially right. Understanding a big system could be a nightmare and maybe it just makes a lot of headaches instead of helping you around. But that should not prevent you from learning. Instead of digging into the current system, ask about the stack and start to learn more about that. Ask if is there any specific design pattern or architecture in the system that you could read about. Maybe you could learn more about the testing system or a specific package for the future.
I know. I said we'll are junior developers. But, not on the same field that we're working for 6 years!
It's not a bad thing to be a junior. But, it's horrible to stay junior. You need to practice and learn how to ask for help. How to understand patterns, management, and how to be a good team player.
A good habit is to read code. Reading code is a skill and it's different from reading tutorials or answers in the StackOverflow. Learn to follow the details and solutions and try to understand the reasons. Don't be shy to ask more experienced team members about how and why.
You may not have much knowledge and experience as a senior developer, but you can act like one. Be more professional in your relations with other team members. It's hard of others to hear "I am a junior developer" as an excuse for every mistake. Be responsible for what you do and try to be better at it. Be humble and thankful, this way everyone will love to help you.
What do you think a junior developer should have as a skill? I would love to hear about your experiences as a junior developer or working with one.