John Allspaw (SVP of Technical Operations at Etsy) recently published an excellent article about what it means to be a senior engineer: "On Being a Senior Engineer". It's long but worth every word. It made me think of all of the colleagues that I worked with over the years. It also made me think of how little justice the title "Senior Engineer" does to this role. When recruiters look for senior engineers or senior software developers, they are basically asking for coders with some experience - perhaps on their second job out of college. Developers expect this title as a birthright after putting in a few years.
Allspaw's definition calls for characteristics that not everyone will acquire no matter how many years on the job. It makes me wonder if it would be more practical to use a different name for the role rather than redefine a term that most people use differently. The problem with the word "senior" is that it implies that it is part of a normal growth path. While I would love this to be the case, my experience is that most developers are not heading in that direction.
Another thought that I had is that most companies under-appreciate the role of senior engineer. Perhaps their businesses do not require need these talents. Maybe it is sufficient to have a project manager working with a number of non-senior developers. I would say that all web and software companies should definitely appreciate and cultivate this role. But does a bricks and mortar company with a commerce site on the side need a senior engineer? If not, what happens if the non-senior engineer starts to develop senior traits? Does she change jobs or do you move her out of software engineering to a pure management role?
Anyway, I thoroughly enjoyed the article. It really made me think about recruiting and careers in technology.