Not all seniors advance to this role but these are the traits that correspond to this SS seniority.
Technical knowledge:
- Multiple projects finished in different languages bring new perspective and insights into various ways of solving the problems
- Knowing when NOT to use patterns and stray from the general guidelines
- Getting back to basics; readability and changeability of the codebase is top priority
- Stopping over-engineering solutions when simple ones can suffice
- Excellent error handling and logging
- Superb knowledge of all application processes (CI/CD pipelines, web server configurations, 3rd party services configurations, deployments, …)
Learning skills are top level:
- New techs can be acquired in very short time at an adequate level
- In depth evaluation of new trends and quick reasoning of pros/cons
- Consistency in learning and evaluating new technologies (not only for the job specific tech)
Soft skills are top notch:
- Bringing the most value to customer/product in limited resources vs making everything perfect (it never is :D)
- Speak openly about the issues, pros and cons of solutions
- Empowering learning within a team by carefully introducing new technologies that superseded existing tech
- Delegation of tasks and responsibilities to team members (ie. leave some core functionality to the other seniors on the team, to free yourself for unexpected events)