There are lots of developers out there with varying degrees of experience and expertise, some mid level, some junior and some senior. Some developers may think they are one level and be completely off the mark. In this post I'll try to give an overview of what I look for in a senior developer.
The best senior developers will have the abilities bellow and will strive to tick these off as experience:
Self manage, Teach and support
A Senior Developer must take on many tasks from day to day coding with the ability to simply 'get on with it' managing themselves with just a few words here and there on what needs doing. As well as the day to day, a senior developer is expected to run the project if the Lead is not available making decisions to move the project forward.
A senior developer must have the ability to teach other Devs and support them explaining difficult concepts and talking through seemingly simple issues that can stump others without talking through the logic. While doing all this a senior developer must have the ability to take direction, even if they need to question this from time to time to make sure they understand.
Legacy updates and new apps
A senior developer should be able to write new code, from scratch and create new apps, but should also have an ability to work with any legacy code and where applicable comment on improving any legacy code.
A senior developer should know at least a few design patterns and have the ability to use them with their specialist language. If the language they specifically work with doesn't use the standard design patterns then they should understand architecture for that language.
They should understand the architecture of most languages including how to design for them with both flow diagrams and pseudo code.
Libraries and frameworks
A Senior developer must understand and have knowledge of the best known frameworks for their specialist language and know how to install/use the best if applicable.
They will understand some of the libraries of their specialist language and best practices for installation and addition to the code.
A senior developer must have implicit knowledge of the basics of their specialist language including types and functions of the language vs anything from libraries/frameworks. They must have complete knowledge of all loops and conditionals of their specialist language and of other languages. They must know some of the shortcuts and type hinting of their specialist language. They must understand the differences between OOP and procedural code and how it effects there specialist language.
A senior developer isn't made by the time they've been coding, but it helps. Some developers will take a decade or more to make it to senior while some can do it in 5 years or even less, but from my experience a developer that says they are at senior level after just 3 years coding will have chunks of experience missing for example won't understand the basics of a specialist language or will mix framework functionally for what the language can do.
In the end a senior developer is just a coder that has done enough that they can draw on their experience for any coding situation they are put in.
Contact me here or catch me on one of
the social networks below
Try this on your mobile
You should be able to use this right from the screen
Copyright David Slack - Web developer