Senior Developer
- Who is a Senior developer?
- At what stage does he join the project?
- What roles does he interact with?
- How to become a Senior developer?
- What competencies for Senior developer are important to cultivate?
In teams of 7-10 or more people the Senior developer interacts with a number of roles
- He comes in at the stage when the target business requirements and processes have been worked out
- Tasks are set by PO or BA (either sequentially, or by a pool of tasks for 2-week sprints)
- The developer communicates with BA on substantive issues
- Task priorities can be resolved by PM
- The Tech Lead helps with the technical aspects of solutions
- The Tester examines ready-made block
- The questions of what and how is deployed in the working environment, issues of assembly pipelines are solved with DevOps
And, of course, the Senior developer works closely with fellow developers who develop adjacent blocks/modules.
Our lessons:
- Trust but verify by testing and examining the developer’s code examples
- We do not involve Senior developers in significant projects who have not passed the examination in the field
- From now on, we check absolutely all incoming Senior developers, ask for examples of their code, and offer to perform a test task.
- The developer can write code, knows the programming language and basic algorithmic constructions, and solves small local problems. This is a Junior developer.
- The ability to decompose large tasks, and a deeper knowledge of the technologies used are added to the point #1. This is a Middle developer.
- Knowledge of algorithms and data structures, an understanding of the code architecture, and the ability to write clear and simple code are added to the previous point. This grade is conventionally called Middle+ developer.
- And finally, if to all of this we add the knowledge of how the code will be executed, i.e. knowledge and understanding of the execution environment, then we come to our Senior developer.
- One of the most important success factors for a project on the developer’s part is their immersion in the project’s subject area
- This allows you to more correctly perform technical problem formulation, as well as its decomposition. And a detailed description of the project’s business processes can help a lot in this case
- It would be even better, if the role of a business analyst who is in constant contact with developers would be provided for the project
- In contrast, the absence of a business analyst or detailed business requirements can lead to serious risks, since in this case the developer also has to perform the business analysis
The Senior grade implies the top of the developer’s “evolution”. Further development can take place in two directions:
- In the direction of soft skills, by cultivating leadership and management abilities, then the Team Lead will emerge.
- Or on studying other technology stacks, then this direction of development is the Architect.
A set of professional competencies of the Senior:
- Positive and constructive approach to communication
- Ability to work in a team.
- Self-discipline and effective organization of his own working time.
- The desire and ability to constantly develop.