- Solution implementer, Problem solver, Problem finder
- Career progression is problem finding
- Don’t be Eaten
- Junior, Senior, Staff, Principal
- Yonatan Zunger, Distinguished Engineer, Twitter
- Skill sets for different levels are different
- Get better at complexity, autonomy, throughput
- Levels of Individual Performance
- Also see
Solution implementer, Problem solver, Problem finder
Each step breaks down the problem into smaller sizes and gives it to the person above.
Each person in a step below mentors people in step above.
- Solution implementer writes code for well-defined problems.
- Problem solvers can be handed over a problem and they can figure out a possible solution, break it down to pieces and hand over to solution implementer. Problem solvers are progressively given bigger problems to solve.
- Problem finder is not told problems, they are given context of the business and the technology. They find problems, whether they are designated “architects” or “engineering managers”.
Career progression is problem finding
From Accidentally Saving the Day :
This is how I think about career advancement. It isn’t about creating bigger and bigger opportunities for yourself — it’s not about selfishly inventing self-serving projects. Rather, it’s about getting better at recognizing and taking advantage of bigger opportunities which are already there and just making things happen. When I first started out, that meant taking an obvious problem which no one else was working on and solving it. As I’ve grown, I’ve gotten better at foreseeing future problems, major product holes, and the like, and organising people to solve them — in other words, finding bigger problems which are obvious to me but maybe not other people. I’m better at noticing when I’m in the right place at the right time. But in some sense, all of that work is just “lying around” for anyone to pick up — no one else is doing it, so it might as well be me.
Don’t be Eaten
You get told what to do AND how to do it – Junior Software EngineerYou get told what to do – Senior Software Engineer
You get asked how to do it – Staff Engineer
You get asked what to do AND how to do it – Director
You only get given Goals – VP
You decide the Goals – CXO
No one asks or tells you anything – God
Junior, Senior, Staff, Principal
- Junior
- Operates at the story level.
- You give them a story, they do the work.
- Levels up themselves.
- Senior
- Operates at the feature level.
- You give them a feature, they split it into stories, and do most of the work and delegate a little. Levels up a team.
- Staff
- Operates at the need level.
- You give them a need, they come up with a feature, split it into stories, split between doing and delegating the work
- Levels up an engineering org or multiple teams.
- Principal
- Operates at the business level.
- They see the need / opportunity and point the rest of the organization toward it,
- delegate most of the work and do a little.
- Levels up a business.
Yonatan Zunger, Distinguished Engineer, Twitter
Skill sets for different levels are different
Let me make up an example.Level I chefs’ key task is to make one specific dish right. The meat should be juicy and tender.
Level II chefs need to cover 5 dishes under different categories. They get to know the proper way to process different kinds of ingredients. They also need time management skills. While preparing step three for dish one, they also need to start step one for dish three.
Level III chefs are able to cover 100 dishes, delegate certain steps to other chefs and ensure all customers in one restaurant are satisfied with their dishes.
Level X chefs know how to design menus, create new dishes that customers enjoy, decide proper pricing of the dishes to increase sales, hire other chefs, facilitate marketing strategy, and etc…
Get better at complexity, autonomy, throughput
As many companies kick off performance reviews this time of year, I often get the question, “How do I get promoted this coming review cycle?”Across my career, I’ve noticed that the people who get promoted usually distinguished themselves by handling 3 different kinds of challenges:
Complexity: How difficult a problem can you solve? Sometimes this masquerades as “scope” or “breadth” or “depth” — all different ways to describe why a problem is hard.
Autonomy: Can you handle the problem with minimal guidance? This doesn’t mean “solve it yourself at all costs” — but instead, can you take the lead and pull in your manager and others appropriately to keep them informed or get their support when needed?
Throughput: How many hard problems can you solve at the same time?