On the Blue Parabola blog today Keith Casey looks at a term that's become more and more ambiguous in the software development world and means so many things to so many people. He thought he'd set the record straight with some criteria he thinks makes the position of "senior developer".
In recent weeks, I've spoken with a number of people about developers. About hiring them, firing them, training them, promoting them, and generally everything revolving around getting or having good people for a team. And one of the odd things that struck me is that: Every organization defines "Senior Developer" completely different and sometimes contradictory ways.
He's not talking about the little things so much as the responsibilities and expectations the company places on this senior level role. Some of the things he suggests to look for include:
- a good amount of experience
- basic project/time management skills
- that they're a good communicator
- a bit of mentoring tossed in too
A Senior Developer - either in name or in responsibility - is often the same as a Team Lead. This person must be effective both on their own and on a team. They have to report up to the Project Manager (or higher!) and lead the rest of the team.. and sometimes even coordinate and collaborate with other teams horizontally.