Senior Developers are experienced developers who meet the following criteria:
Are able to write modular, well-tested, and maintainable code
Know a domain really well and radiate that knowledge
Begins to show architectural perspective
Leads the design for medium to large projects with feedback
from other engineers
Leaves code in substantially better shape than before
Fixes bugs/regressions quickly
Monitors overall code quality/build failures
Creates test plans
Provides thorough and timely code feedback for peers
Able to communicate clearly on technical topics
Keeps issues up-to-date with progress
Helps guide other merge requests to completion
Helps with recruiting