For a long time, I wanted to compile my list of qualities of a senior developer. How do you become one? What do people expect from a senior developer? This post is my first attempt.
There are many angles to approach the topic. Here are some of the sources I found interesting:
- John Allspaw's On being a senior engineer 
- Camille Fournier's Career ladder of RentTheRunway and An incomplete list of skills senior engineers need, beyond coding. 
- Soft Skills Engineering Podcast, where a listener once asked, "Can I call myself a senior developer after X months in the industry?", and the host answered: "I'm afraid, you didn't make enough mistakes yet". 
- A recent Twitter thread (in Russian), where the author says that to him seniority is not about hard skills (languages, frameworks, technical stacks), but more about professionalism, responsibility, decision-making, and ability to solve business problems. 
In this post, I'm writing down my answer. I wish I wrote it a couple of years ago to compare how my views have changed. I'm sure I will give a different answer in a couple of years. Here I just list the points, and I plan to elaborate on some of them later.
Important Senior developer traits (2021):
- Hunting for business knowledge - actively search how the product works, how users interact with it, why it works as it does; 
- Being able to discuss without raising the voice; 
- Express opinions and support them with arguments; 
- Gut feeling - listening to your intuition; 
- Remember stuff - writing down, documenting, keeping lists of things, organizing information inputs and outputs; 
- Knowing the processes of working with people in Software Development; 
- Knowing the next step and the one after that; 
- Pushing a task till the end or passing it to another person; 
- Changing processes when needed (supported with an opinion and arguments); 
- Looking at things from the team point of view; 
- Seeing people as collaborators and contributors (or at least parts of a solution), not obstacles; 
- Solving the unsolvable problems; 
- Experience in putting out fires; 
- Experience in breaking things (build, CD, production). 
Cover image by Valeria Cerbu on Unsplash
 
 
              
 
    
Top comments (0)