Here is my take on 7 things to grow in your software development career beyond getting better at the tech.
1. Learning to estimate and plan
A way to leverage more value from yourself is to lead others to create value. One way to lead others is to strengthen your estimation and planning skills. Estimating how much work something takes is more of an art than science. What helps you get better at estimating is experience and technical knowledge. Important and impactful projects take months with a team of developers. This will need coordination and organization to make sure you will deliver on time and on budget. One reason why managers and leads are important because they can coordinate others. Coordination is not easy but successful coordination can produce great value. A senior developer should reinforce this skill.
2. Having an attitude to do more than expected
In my career, I'm been guilty of refusing extra work before. I've once told a manager of mine that this isn't my responsibility. That kind of attitude held me back in my job. You should be careful of limiting yourself to only what people ask of you. Be comfortable to venture beyond your job description. This includes fixing those quality of life bugs that no one wants to bother. It could be improving internal tooling that has no clear ownership. Don't be shy to volunteer for other things like helping onboard new hires or help with recruiting. There might come a time when managers, PMs, or designers will need an extra hand. Offer to build a tool for them or assist them even if it doesn't involve coding. Rising beyond your expectation will definitely put you above the rest.
3. Being able to convince others to follow your cause
Going beyond senior demands the ability to convince others to follow your cause. You'll need support from managers and colleagues if you want your ideas realized. Do you want to refactor major sections of the codebase? Do you want to launch that other amazing new feature? How about getting people to fix their bugs? You should be able to communicate the benefits of your idea and why people should help you. The goal is to get enough excitement that others will start championing for you.
4. Learning to read the room, maintaining professionalism
One thing I've seen hold people back in their career is not controlling their emotions. Being able to project positivity that encourages peers is invaluable. A senior developer should understand how to deliver critical feedback well. Being condescending and negative can create an uncomfortable atmosphere to work in. Growing more senior means learning how your actions and attitudes affect everyone else.
5. High level of patiences
Too many times have I seen mistakes happen because either I was too impatient or someone else was. When you become impatient you will tend to say the wrong thing and choose the wrong decision. Over time, your career will test your patiences. There will be stress and there will be times of frustration. A high senior developer knows when to not rush and make good sounds decisions. Delaying work is much better than rushing for an immediate answer.
6. Perception means more than you think
We all have an idea of what we are like. We know why we have decided to make a certain decision or done something a certain way. Yet, the internal model of yourself can be quite different from what others may think about you. How others think about you is actually more important than you think. Managers and peers conduct performance reviews without you being in the room. Facts about you are true or false but your soft skills are open to subjective interpretation. This is why as you grow into a more senior level controlling your own public relations is something important to keep in mind. You may have done the work but are people seeing you as the person they would go to or someone else. Your words and attitude can trump your technical skills so be aware of how you convey yourself.
7. Mentoring not only junior people
Developing yourself as a senior developer means to mentor junior and senior developers. As you grow in your career take note of what you know and what others don't know. Junior developers will need mentorship but so do senior developers. Think about what knowledge you posses that you can teach others. The approach might be different though. You can teach classes, hold retrospectives or write detailed documentation. The idea is to think about how you can mentor or teach anyone you work with.
Top comments (3)
A good way to get better at estimation, which was teached me by my supervisor: when receiving a task, don't look at the time estimated and do your own estimation. Write it down in an Excel file then look at the estimated time and write down next to yours. At the end of the task, analyse your estimation versus the initial one. Try to figure out why, if any, some subtask took more or less time.
I'm doing it for almost all my tasks and it really helped me improve my estimation game.
Excellent advice! Thank you for sharing :)
Thank you! Keep working hard at it! :)