5 ms·
I think this phenomenon with "senior" happens because we don't have an equivalent to "apprentice", "journeyman", and "master", and several of these terms would
by epicureanideal 4y ago
I think this phenomenon with "senior" happens because we don't have an equivalent to "apprentice", "journeyman", and "master", and several of these terms would be considered inappropriate if we did. Senior has effectively become "journeyman", and Staff has become "master". And then Senior Staff, Principal, etc. are higher levels of mastery of the craft. It sort of makes sense.
Some people with 1-2 years of experience really are significantly qualitatively different than others with that few years of experience. Some people with 5 years really are able to run teams and build large systems independently. It shouldn't be about the years alone.
Edit to add: Also, after 4 years intense studying it could be said that every software engineer with a Bachelors degree has already passed through the apprentice phase, their first 1, 2, or 3 years might legitimately be their journeyman phase, and so after a couple of years they might legitimately be "senior" in the sense of being an independent expert practitioner. Remember that we're talking about a person who has now spent 5-7 years of their life developing these skills, and possibly more before they attended university.
(And it then makes sense that the next step up would either be Staff or Architect as their skills grow to handle more complex organizational matters or even more complex software systems respectively.)
Now obviously that is NOT true of a large number of people who don't apply themselves in school or in their jobs, and so just sit in their chairs watching the clock until they have enough years of experience to be "senior", but a person who applies themselves can achieve a level of capability in a couple years that the person who does not apply themselves might never achieve in their entire career.
- lazyasciiart 4y agoThere is supposed to be a gap between "journeyman" and "senior". The place where competent workers who don't need supervision but aren't going to design a system or coordinate a project are. The programmers/software engineers/default-noun-for-job.
- denton-scratch 4y ago> "apprentice", "journeyman", and "master" My last boss used to appoint "apprentices". They would stay as apprentices for all of 6 months (I think they got a tax-break for having apprentices). Traditionally, an apprentice in a trade would be indentured for several years, studying/serving under a master. After completing his apprenticeship, the new tradesman would be kicked out, and barred from working in the same city as his master; he was expected to travel around and broaden his experience. That might last a decade. He'd then have to convince his trade guild that he now qualified as a master, often by presenting an exceptional piece of work (a "masterpiece"). It's often said that it takes a decade to learn anything really well. I think that applies equally to programming. So the "journeyman" stage fits in with that, as a way of designating someone's skill level. But the "apprentices" I worked with were doing exactly the same work as everyone else; we were all fungible programmers. In 45 years in the industry, I worked with approximately two people I'd designate as "master".
- r00fus 4y agoBut we do have that (based on legal industry titles). Typically they're called "associates". Some companies even have "senior associate" (ie, not lowest rung) before losing the "associate" prefix on their next title (whether it's engineer, or consultant or whatever).