Who is a senior developer, and what it takes to get there? If you’ve been into development for some time, this question must have crossed your mind. So what’s behind the title, and how to get it?
You will read about:
- Who is a senior developer?
- Code like a senior developer
- How to move up the seniority ladder in your company?
- Invest in your continuous education
- Word to the wise
- So, what matters?
Who is a senior developer?
If you wish to become a senior developer, you have to train yourself to see the bigger picture, not just build a solution. You have to understand the problem a customer/client aims to solve with his product and design a solution with all the aspects in mind. What about the code? Well, a hard-working, logic-oriented, Google-skilled developer can write code as well as a senior but the senior understands the problem and has several alternative solutions for it.
Being a senior means knowing there are several solutions for the problem but not choosing one right away. If you wish to become one, you have to take a step back and consider the issue, challenge the ideas behind it, and make sure the client knows precisely what they wish you to build. This can prevent many additional changes further down the product design. All of this means stepping up and voicing all the ideas and solutions, which might be a challenge itself if you’re an introvert and like to keep to yourself. Worry not; this can be learned by doing.
Code like a senior developer
One of the most efficient ways to advance quickly, learn a ton, and accelerate your progress as a software developer is to do pair programming. This kind of collaboration bridges the distance gap and allows for deep, intensive learning and instant feedback if needed. An opportunity to work along with a senior developer with the opportunity to ask code-specific questions can help you understand the whole setup of a problem.
There are many tools to be used in different code editors which enable typing questions next to a specific line of code, thus making notes a senior can address once they’re out of their deep work session. Most tools are used for active, collaborative work, keeping all the important stuff in the editor without the need to transfer code snippets to Slack to discuss the issue one might have. If you’re using Visual Studio, you must know about their feature enabling just that – sharing work in real-time. This is a brilliant insight into a senior’s mind and problem-solving techniques, and it’s a beautiful way to breathe down one’s neck without actually doing it. While junior developers might want to observe, mediors can jump on a pair programming wagon. Mentoring sessions are another great way to address your weak points and help you advance.
Also, a code review on git is becoming a common practice nowadays and is worth exploiting. You can get feedback from senior developers on the code you have written, and request them to change it so it looks as it should. Also, there is a possibility to review a code that seniors have written, where you learn how it is “supposed to be done” 🙂
Another great way to level up your coding skills is to contribute to open source projects in your free time. This is a good way to network and meet senior developers who will be happy to help you learn if you help them develop the project in question.
How to move up the seniority ladder in your company?
Ask seniors to delegate some of their tasks to you. This way, you’ll be involved and learn by their side. Learning by doing is the best possible way, and you get to do it efficiently since you have to work in a pre-defined environment. Working on your own, and having projects on a side has merits, but this is a fast track to higher seniority in your workspace. In addition, your helping hand will not only benefit the team you’re working with, but your efforts will be noticed, praised, and most likely result in acknowledged promotion.
Invest in your continuous education
You should fully utilize the education budget the company provides for you or set up your own professional development budget and invest in yourself. Plan ahead and set goals to learn new things. Make it a mission to complete courses, attend conferences, or participate in different hackathons. If your company doesn’t have specific training paths developed for you, you can always create one for yourself. Consulting your Team Lead on this will get you good advice and put you on the radar as a person taking charge and being proactive. This is a senior trait, so you’re getting a good course for your career. Also, feel free to share and recommend courses as you are probably doing now, and suggest new ways of training at your company. Think about what would benefit you the most and suggest it.
Word to the wise
Some developers are interested in mastering a specific stack, and nothing else matters to them. This will eventually lead to higher seniority. Others wish to learn multiple technologies to get a broader understanding of programming and later on become experts with expertise in multiple stacks. Note that it will take a longer time to achieve seniority with this path. In the end, what counts most is your contribution to solutions and the perception of the problem they are solving.
Although many equal seniority levels with the years of coding, some disagree. Some developers work on 3-5 big projects for 5+ years, and then there are developers who crunch 15+ in a couple of years. What, then, makes a senior developer, years of coding, or the variety of projects they have worked on? Is it the complexity and number of problems solved, features developed? The answer, in fact, might differ from company to company. The only comparison you should do is a review of your skills on a biannual basis.
So what matters?
- Have a clear career path designed for you at your workplace. If a senior developer is your goal, talk about it with your Team Lead or HR. Note down what it will take you to get there in your company, and the time it will take.
- Apply for a mentorship program at your company or pair programming.
- Use your company education budget to elevate your knowledge.
- Offer to help colleagues working on other programs.
- Diversify projects you’re working on, and step out of your comfort zone.
- Broaden your view of the problem, have different solutions in mind and challenge others. Voice your opinion.
- Make sure to keep a clear and comprehensive track of your progress as a developer and the results and solutions you keep bringing to the table. Then, be ready to talk about it and steer the conversation in this direction in your annual or biannual feedback sessions. If this aligns with your career path at your company, chances are you are in for a promotion.
- Use common sense. If you went through the previous steps and the ball didn’t start rolling – you might want to consider changing companies.
Written by Jelena U. Bogunovic, under Bridgewater Labs senior’s supervision.