| There was a question a week ago about junior developers. mrmekon [1] gave an excellent answer: It depends on when and why I'm defining it, but my guidelines are more based on how they work than what they know: * Junior developer - Will not produce much business value if left alone, and may produce nothing at all. Requires supervision. * Intermediate developer - Will produce something if left alone, but not necessarily what the business most needs. Needs minimal supervision, but defined goals. * Senior developer - Will produce immediate business value if completely ignored. The domain and language don't matter for these, really. A Senior Go developer is going to produce immediate business value if you suddenly throw him/her into a Lisp team, too. Just slower. Between the two answers I think they have it covered. Now some businesses will call people senior after they've been there 5 years, but they might still be a junior in capability. [1] https://news.ycombinator.com/item?id=12557542 |
Where I do disagree just a little bit with mrmekon, is that I tend to look for people who have experience with the necessary stack. I would be hesitant to hire a senior developer for a C#/MVC position if they have (broadly) never used C# or never done web development, for example. Modern stacks have a lot of moving parts, and I would prefer senior developers to understand how to troubleshoot, tune, upgrade, test, and deploy on the needed stack. These are things that a very strong developer could remediate within a few projects, though, which is why I only slightly disagree with mrmekon.