Every Public Engineering Career Ladder
swyx.io
swyx.io
1. Not every case but often the things that makes a person "popular" are also actually really adding value for the team: Happy, optimistic attitude, helpfulness, attentiveness, good listener, good mentor. Promotions are given to a whole person not just for their coding contributions.
2. Everybody is on a unique path and as a manager I would never expect anybody to follow a develoment path exactly as laid out on a career ladder. (See: the map is not the territory)
3. Managers giving promotions are more likely to be biased by their own feelings (often: appreciation), but in many cases beyond a certain level a promotion requires a committee approval where a ladder is probably applied more objectively (who knows if this adds value or not!)
In response to your points:
1. Definitely. But shouldn't your job ladder also cover those things? I don't want to promote anyone up to a high level if they can't mentor others, for example.
2. Definitely. Shouldn't a decent job ladder allow people to excel in certain areas while maintaining some sort of minimum acceptable level in others?
3. Definitely. But that's the problem I've experienced. A lack of a committee means that it's basically a matter of running it up the ladder and then your ability to be promoted hinges on your manager's ability to work the system.
While everyone wants objectivity and fairness, the functioning of a creative team exploring new problem spaces is squishy, and relative contribution is subjective. Attempting to force objectivity through rigid adherence to a fine-grained rubric is dehumanizing and will likely lead to box-ticking behavior and losing sight of the actual business goals. What you want is an engaged manager who is tuned into the team, hearing all the feedback, and able to synthesize that into a fair performance evaluation. If you don't have that level of trust with your manager then no amount of documentation and formality around the process will save you.
http://www.starling-software.com/employment/programmer-compe...
> Uses Big O notation to denote levels, which is a fun shibboleth. Skills are broken out to Computer Science, Software Engineering, Programming, Experience, and Knowledge. This one has a long record on Hacker News but is a good map of things that we can work on.
Penalty:
Low level / highly repetitive tasks (rote tech support, manual black box testing) are collapsed into one year. (You don’t have three years of experience, you have the same year experience three times over).
I'm sorry, but this is just such a generalization that it should be stricken. Yes - I understand that this is his view, but especially the last line can be off-the-charts wrong.
I've worked with people doing this kind of work, and the competency is all over the spectrum. Even at those low levels, you have people that become good / intimate enough with the systems, that they can advance to more technical positions. It COMPLETELY depends on how motivated one is - some "rock star" tech supports and testers actually take the time to read technical documents, review code, analyze the systems, etc. While others will do the absolute minimum.
EDIT: Also, not considering non-professional experience as experience is highly individual / something you need to look at one a case-b-case basis. If some dev. with xx years of daily open-source (or similar) applies, you absolutely should take a look at his work.
One anecdote: One of the best software engineers I personally know had a huge problem breaking into the industry, for years. He had no formal education, or professional SE experience, but spent all his spare time working on his own projects, or doing open-source projects.
When some big-name software company finally took a chance on him, he practically flew through the ranks - because he had a solid 20 years of "experience", compared to his colleagues - most fresh grads, or even managers.
https://docs.google.com/spreadsheets/d/12h50IYqd7fsO7tJ0l1Ou...
Noticed you linked the blogpost but may have missed that it also includes a spreadsheet.