SlideShare a Scribd company logo
1
Overview
1. How to think about your career
2. Technical Career Paths
3. Management and Executive Paths
4. Considerations on career choices.
5. General advice – Stories from my Career
How to think about your Career – G.R.O.W.
Framework
Goal: What do you want? Reality: What’s happening now? Options: What could you do? Will: What will you do?
Where do you want to be in the next:
1, 3, or 5 years?
What are the best/worst aspects of your
current role?
What skills do you need to learn, who can
give you guidance?
What is your plan for the next 3 months?
If you didn't have to worry about money,
what would be your dream job?
Are you challenged enough? Too much?
What tasks could you take on in order to
grow?
Whom will you ask for help and guidance?
What are you deeply interested in?
Have you gotten feedback (recently) about
your abilities?
Who can you ask for feedback?
What is one simple thing you can do right
now to move forward?
While your manager can help you, ONLY YOU are finally responsible and accountable for your career
growth. You must take action.
Engineering Path Expectations
As you become more experienced, it's expected that you go from I-Shaped to
Comb-shaped in your skills.
Learn everything you can. Long term, you're expected to know it all anyway. Front end,
back end, architecture... there is no such thing as "not relevant" to your long-term growth.
Technical Paths – Jr Developer
GOAL #1: Deliver simple-medium complexity user
stories, sometimes needing for help.
GOAL #2: Grow your tech skills, as fast as you can.
GOAL #3: Master your communications.
First, try to go as deep as possible in a technology or
framework.
How does that technology work?
What are the main frameworks?
How do those work?
Growth Examples for Java:
Do you understand type erasure?
Are you familiar with dependency
injection? How does Spring do
dependency injection?
How does garbage collection WORK?
What is a pointer? How does java handle
these behind the scenes?
Why do we use interfaces?
Understand SOLID, DRY, etc.
Technical Paths – Mid Developer
GOAL #1: Deliver simple-medium complexity user
stories on your own, more advanced stories
sometimes needing for help.
GOAL #2: Keep growing your tech skills, as fast as
you can.
GOAL #3: Master your communications.
First, try to go as deep as possible in a technology or
framework.
Take on some of your first technical breadth topics.
Master databases, or state management libraries in
React.
Growth Examples for FE / React:
Do you understand csrf, xss, jwt, oauth?
How does React handle the component
tree? How does React know what to
update?
How does the virtual DOM help
performance? How can it actually
HURT performance?
How do react hooks work BEHIND THE
SCENES?
Technical Paths – Senior Developer
GOAL #1: Deliever medium-advanced level stories on
your own with minimal help.
GOAL #2: Coach jr. Developers and help them grow
GOAL #3: Be a rolemodel for code that is clear, clean,
maintainable, and performant.
Be comb shaped. Understand enough about the
end-to-end system that you understand what is going on.
Be willing to own certain aspects of a system and ensure
they work perfectly while coordinating with other parts of
the system.
Provide technical leadership and best practices.
EVERYONE senior level and above is EXPECTED to
help lead.
Growth Examples
Do you understand differences between
OOP, AOP, and FOP programming styles?
How can you debug application
performance in a distributed system?
How do you evaluate the best solution for a
system design?
Do you understand how
everything works between the browser, to
the server, to the database, and back?
Engineering Leadership
At the senior level, you are expected to help lead. It's impossible for everyone to know
everything, so everyone at the senior level must help communicate and suggest the best
actions based on their knowledge.
At higher levels, sometimes seniors are the only people who know certain things about a
system: how it works, why choices were made. Help your team.
Senior
Technical Paths – Senior Developer
At the senior level, a few things change.
• There will be fewer and fewer people able to coach/teach you. At the senior level, you are
expected to drive your own learning. Your manager can help you focus your energy, but
it is now your role to be the technical expert. You must have the skills, confidence, and
communication ability to use that expertise.
• After senior developer, it is only partly about skills. It is primarily about impact. As a senior
developer, your success will not be measured in any academic way, but rather the success
and failure of the systems you work on.
- Does your system scale?
- Does your system run relatively bug free?
- Is the system fault tolerant?
- Is it easy for other developers to work on your system?
• At the staff/principal, etc level, the necessary impact only goes up.
• Breadth: You should know "enough" about Agile, CI/CD, architecture, testing, logging, to be
able to make informed decisions, and enough to be able to learn more on your own when
needed.
Technical Paths – Staff/Principal Developer++
Examples from Amazon:
If these systems they build don't work, it affects millions of customers and billions of dollars of revenue.
The pressure is on. Your system MUST work.
Technical Paths – Architect
Technical Architect
Focused on specific
technology or stack, goal is
to optimize the utilization or
value of that technology.
Typical Goals:
● Maximizing throughput
● Ensuring proper design
● Guiding less
experienced engineers
● Being a deep tech
resource
Solution Architect
Focused on solving a specific
business problem through a
set of technologies
Typical Goals:
● Design overall
architecture
● Vendor and technology
selection, for that
problem.
● Ensuring technical
specifications meet
business needs
Enterprise
Architect
Designing how multiple
business units should
interact with technology
Typical Goals:
● Design architecture
standards
● Vendor and
technology selection
and approval.
● Strategic/ecosystem
level focus.
Management Path
Engineers debug code and systems
Managers debug people, process, teams, and organizations
Management – What makes a good Manager?
Note:
Even at GOOGLE,
Only 1/10 traits for
Management is
technical.
Good engineering
managers stay
technical enough to
understand
everything their
engineers need.
Management is not about giving orders
The goal of a manager IS NOT to tell you the answer to
all your problems.
The goal is to help you find the answers yourself, to set
you up for success, and give you problems that they
know you can solve well. They create processes to
ensure that good decisions are made.
Which is more powerful? To give you an answer today, or
to teach you to answer that question/problem yourself –
along with all similar problems, forever.
An organization of highly capable people empowered to
make their own decisions is vastly more
successful than organizations where managers order
people around all the time.
Great managers make sure their team can succeed –
with or without them.
Football Analogy – Managers as Coaches
Imagine a football coach.
The coach only wins if his team
wins.
Yet, he never kicks the ball.
Instead, he must help his team be the
absolute best players they can be,
and ensure they work together as an
amazing TEAM.
It is only through them that he
succeeds.
Engineering Manager / Lead Engineer
GOAL #1: Manage Risks
Risks include:
- Technical risk,
- People risks (resignations, friction, etc)
- Project Risks
GOAL #2: Empower/Grow the strength of the team
(Hiring, coaching, etc)
Debug Team processes, conflicts, etc.
Help team members grow their skills, ensure appropriate challenge.
Help set technical standards with input from their team.
Create delivery forecasts with input from their team.
Help break down stories with the rest of the team.
Provide technical guidance and coaching
Let their Manager/Director know about skills they are missing, need
to hire.
Contribute code and remain connected to day-to-day engineering
delivery.
While a Staff Engineer may provide
coaching on how to write better code /
Architecture, an Engineering Manager
would help the team work together
effectively, ensure everyone is growing,
and work to leverage an Engineer's
natural strengths/interests while
keeping the team focused on results
important to the company
The EM can still coach on better code,
and the Staff Engineer is free to give
advice about an Engineer's interests.
Just a difference in daily focus.
Management – Engineering Director/Head
GOAL #1: MAKE SURE YOUR TEAMS SUCCEED
GOAL #2: Invest in your teams' skills:
i.e. Hiring/training/coaching STANDARDS
GOAL #3: Be an effective long-term business partner
Understand the large-scale/ongoing issues that teams face.
Improve processes – making things simpler, faster, easier.
Are we hiring the right people? How do we know?
Do we have the right culture? The right focus/tools?
Are we really using the best tech? How do we know?
Engineering Director is the first role that
is sometimes considered an executive
role.
An Engineering Director debugs
coordination between teams and acts
as a long-term planning partner with the
overall business.
This is the first level where a manager
typically owns a financial budget (but
not always).
Best advice I ever got: "You must either
hire well, or fire well. It's a lot more pleasant
to hire well."
Management – VP+
GOAL #1: MAKE SURE YOUR COMPANY SUCCEEDS
GOAL #2: Do we have a culture that fosters success?
GOAL #3: What are the strategic investments we need to
make?
As a VP or other executive level manager, you are
accountable for the results of an entire organization.
At this level, you are not dealing with the day to day activities
of each person. Instead, it is more like steering a ship –
building systems of rewards, reporting, and feedback that
ensure you (and others) get the right information to make
decisions, ensure those decisions are made, and in
particular coordinate with the rest of the business on long
term strategy.
A VP (Vice President) is an executive
role.
Executives are responsible for
execution. They are accountable for
the results of a large group of people.
More and more, you need to make sure
you have the right people, who have
the right skills, doing the right thing.
You need create and refine the
systems that ensure these things
happen.
How to think about your Career – G.R.O.W.
Framework
Goal: What do you want? Reality: What’s happening now? Options: What could you do? Will: What will you do?
Where do you want to be in the next:
1, 3, or 5 years?
What are the best/worst aspects of your
current role?
What skills do you need to learn, who
can give you guidance?
What is your plan for the next 3
months?
If you didn't have to worry about
money, what would be your dream job?
Are you challenged enough? Too much?
What tasks could you take on in order to
grow?
Whom will you ask for help and
guidance?
What are you deeply interested in?
Have you gotten feedback (recently)
about your abilities?
Who can you ask for feedback?
What is one simple thing you can do
right now to move forward?
Only you can choose your destiny. It's OK to change your mind and try different things.
The most important part is to understand that you get out what you put in.
The importance of culture
No matter your role, you can help contribute to a positive and empowering culture.
Every person plays a part by honoring:
Honesty, Humility, Drive, Courage, and Learning.
General Guidance
Learn everything you can.
Google/YouTube paid for my grad school.
Why? (It wasn't because I was smart)
I had gone to film school for 1 year. I
thought it was a waste.
When I got to grad school, I was the only
person with that experience, so I was the
one picked to have their education funded
by Google, and help with video research.
I thought all that learning about video was a
waste, but it was the most valuable year of
my education.
General Guidance
Communication skills help
you no matter what
If you get the opportunity to write technical
articles or do presentations or videos – do
it. EVEN IF YOU THINK YOU SUCK.
Story: Macmod.
General Guidance
Help your team succeed
Understand how your manager and
co-workers are evaluated.
Remember, your manager succeeds if you
(and your team) succeed.
With success, your manager is in a better
position to help you even more.
Understand company OKRs, KPIs, and
why those goals were set.
Good teamwork means a better career
for everyone. Team success is your
success.
General Guidance
Be Empowered, Empower others
1. Make sure everyone (especially yourself) has a
good idea of the decisions and actions for which
they are responsible.
* Speak up if you aren't clear
2. Once made, decisions are rarely
second-guessed.
* Trust your team
3. Information flows freely across organizational
boundaries.
* Share openly
4. Everyone usually has the information they need
to understand the bottom-line impact of their
day-to-day choices.
* Understand the business and your role in it.
General Guidance
Ask for help and coaching
Remember that the goal of leaders and
management is to make their teams
succeed.
It's better to ask for help and coaching than
to hide. A good manager does not punish
questions or the desire for growth.
I've hired coaches, out of my own $.
It's OK to ask for help.
General Guidance
Balance
No matter which path you pick, all the advanced roles require a BALANCE AND COMBINATION of skills.
Don’t dismiss non-tech skills.
+
Q / A

More Related Content

Engineering Career Paths.pdf

  • 1. 1 Overview 1. How to think about your career 2. Technical Career Paths 3. Management and Executive Paths 4. Considerations on career choices. 5. General advice – Stories from my Career
  • 2. How to think about your Career – G.R.O.W. Framework Goal: What do you want? Reality: What’s happening now? Options: What could you do? Will: What will you do? Where do you want to be in the next: 1, 3, or 5 years? What are the best/worst aspects of your current role? What skills do you need to learn, who can give you guidance? What is your plan for the next 3 months? If you didn't have to worry about money, what would be your dream job? Are you challenged enough? Too much? What tasks could you take on in order to grow? Whom will you ask for help and guidance? What are you deeply interested in? Have you gotten feedback (recently) about your abilities? Who can you ask for feedback? What is one simple thing you can do right now to move forward? While your manager can help you, ONLY YOU are finally responsible and accountable for your career growth. You must take action.
  • 3. Engineering Path Expectations As you become more experienced, it's expected that you go from I-Shaped to Comb-shaped in your skills. Learn everything you can. Long term, you're expected to know it all anyway. Front end, back end, architecture... there is no such thing as "not relevant" to your long-term growth.
  • 4. Technical Paths – Jr Developer GOAL #1: Deliver simple-medium complexity user stories, sometimes needing for help. GOAL #2: Grow your tech skills, as fast as you can. GOAL #3: Master your communications. First, try to go as deep as possible in a technology or framework. How does that technology work? What are the main frameworks? How do those work? Growth Examples for Java: Do you understand type erasure? Are you familiar with dependency injection? How does Spring do dependency injection? How does garbage collection WORK? What is a pointer? How does java handle these behind the scenes? Why do we use interfaces? Understand SOLID, DRY, etc.
  • 5. Technical Paths – Mid Developer GOAL #1: Deliver simple-medium complexity user stories on your own, more advanced stories sometimes needing for help. GOAL #2: Keep growing your tech skills, as fast as you can. GOAL #3: Master your communications. First, try to go as deep as possible in a technology or framework. Take on some of your first technical breadth topics. Master databases, or state management libraries in React. Growth Examples for FE / React: Do you understand csrf, xss, jwt, oauth? How does React handle the component tree? How does React know what to update? How does the virtual DOM help performance? How can it actually HURT performance? How do react hooks work BEHIND THE SCENES?
  • 6. Technical Paths – Senior Developer GOAL #1: Deliever medium-advanced level stories on your own with minimal help. GOAL #2: Coach jr. Developers and help them grow GOAL #3: Be a rolemodel for code that is clear, clean, maintainable, and performant. Be comb shaped. Understand enough about the end-to-end system that you understand what is going on. Be willing to own certain aspects of a system and ensure they work perfectly while coordinating with other parts of the system. Provide technical leadership and best practices. EVERYONE senior level and above is EXPECTED to help lead. Growth Examples Do you understand differences between OOP, AOP, and FOP programming styles? How can you debug application performance in a distributed system? How do you evaluate the best solution for a system design? Do you understand how everything works between the browser, to the server, to the database, and back?
  • 7. Engineering Leadership At the senior level, you are expected to help lead. It's impossible for everyone to know everything, so everyone at the senior level must help communicate and suggest the best actions based on their knowledge. At higher levels, sometimes seniors are the only people who know certain things about a system: how it works, why choices were made. Help your team. Senior
  • 8. Technical Paths – Senior Developer At the senior level, a few things change. • There will be fewer and fewer people able to coach/teach you. At the senior level, you are expected to drive your own learning. Your manager can help you focus your energy, but it is now your role to be the technical expert. You must have the skills, confidence, and communication ability to use that expertise. • After senior developer, it is only partly about skills. It is primarily about impact. As a senior developer, your success will not be measured in any academic way, but rather the success and failure of the systems you work on. - Does your system scale? - Does your system run relatively bug free? - Is the system fault tolerant? - Is it easy for other developers to work on your system? • At the staff/principal, etc level, the necessary impact only goes up. • Breadth: You should know "enough" about Agile, CI/CD, architecture, testing, logging, to be able to make informed decisions, and enough to be able to learn more on your own when needed.
  • 9. Technical Paths – Staff/Principal Developer++ Examples from Amazon: If these systems they build don't work, it affects millions of customers and billions of dollars of revenue. The pressure is on. Your system MUST work.
  • 10. Technical Paths – Architect Technical Architect Focused on specific technology or stack, goal is to optimize the utilization or value of that technology. Typical Goals: ● Maximizing throughput ● Ensuring proper design ● Guiding less experienced engineers ● Being a deep tech resource Solution Architect Focused on solving a specific business problem through a set of technologies Typical Goals: ● Design overall architecture ● Vendor and technology selection, for that problem. ● Ensuring technical specifications meet business needs Enterprise Architect Designing how multiple business units should interact with technology Typical Goals: ● Design architecture standards ● Vendor and technology selection and approval. ● Strategic/ecosystem level focus.
  • 11. Management Path Engineers debug code and systems Managers debug people, process, teams, and organizations
  • 12. Management – What makes a good Manager? Note: Even at GOOGLE, Only 1/10 traits for Management is technical. Good engineering managers stay technical enough to understand everything their engineers need.
  • 13. Management is not about giving orders The goal of a manager IS NOT to tell you the answer to all your problems. The goal is to help you find the answers yourself, to set you up for success, and give you problems that they know you can solve well. They create processes to ensure that good decisions are made. Which is more powerful? To give you an answer today, or to teach you to answer that question/problem yourself – along with all similar problems, forever. An organization of highly capable people empowered to make their own decisions is vastly more successful than organizations where managers order people around all the time. Great managers make sure their team can succeed – with or without them.
  • 14. Football Analogy – Managers as Coaches Imagine a football coach. The coach only wins if his team wins. Yet, he never kicks the ball. Instead, he must help his team be the absolute best players they can be, and ensure they work together as an amazing TEAM. It is only through them that he succeeds.
  • 15. Engineering Manager / Lead Engineer GOAL #1: Manage Risks Risks include: - Technical risk, - People risks (resignations, friction, etc) - Project Risks GOAL #2: Empower/Grow the strength of the team (Hiring, coaching, etc) Debug Team processes, conflicts, etc. Help team members grow their skills, ensure appropriate challenge. Help set technical standards with input from their team. Create delivery forecasts with input from their team. Help break down stories with the rest of the team. Provide technical guidance and coaching Let their Manager/Director know about skills they are missing, need to hire. Contribute code and remain connected to day-to-day engineering delivery. While a Staff Engineer may provide coaching on how to write better code / Architecture, an Engineering Manager would help the team work together effectively, ensure everyone is growing, and work to leverage an Engineer's natural strengths/interests while keeping the team focused on results important to the company The EM can still coach on better code, and the Staff Engineer is free to give advice about an Engineer's interests. Just a difference in daily focus.
  • 16. Management – Engineering Director/Head GOAL #1: MAKE SURE YOUR TEAMS SUCCEED GOAL #2: Invest in your teams' skills: i.e. Hiring/training/coaching STANDARDS GOAL #3: Be an effective long-term business partner Understand the large-scale/ongoing issues that teams face. Improve processes – making things simpler, faster, easier. Are we hiring the right people? How do we know? Do we have the right culture? The right focus/tools? Are we really using the best tech? How do we know? Engineering Director is the first role that is sometimes considered an executive role. An Engineering Director debugs coordination between teams and acts as a long-term planning partner with the overall business. This is the first level where a manager typically owns a financial budget (but not always). Best advice I ever got: "You must either hire well, or fire well. It's a lot more pleasant to hire well."
  • 17. Management – VP+ GOAL #1: MAKE SURE YOUR COMPANY SUCCEEDS GOAL #2: Do we have a culture that fosters success? GOAL #3: What are the strategic investments we need to make? As a VP or other executive level manager, you are accountable for the results of an entire organization. At this level, you are not dealing with the day to day activities of each person. Instead, it is more like steering a ship – building systems of rewards, reporting, and feedback that ensure you (and others) get the right information to make decisions, ensure those decisions are made, and in particular coordinate with the rest of the business on long term strategy. A VP (Vice President) is an executive role. Executives are responsible for execution. They are accountable for the results of a large group of people. More and more, you need to make sure you have the right people, who have the right skills, doing the right thing. You need create and refine the systems that ensure these things happen.
  • 18. How to think about your Career – G.R.O.W. Framework Goal: What do you want? Reality: What’s happening now? Options: What could you do? Will: What will you do? Where do you want to be in the next: 1, 3, or 5 years? What are the best/worst aspects of your current role? What skills do you need to learn, who can give you guidance? What is your plan for the next 3 months? If you didn't have to worry about money, what would be your dream job? Are you challenged enough? Too much? What tasks could you take on in order to grow? Whom will you ask for help and guidance? What are you deeply interested in? Have you gotten feedback (recently) about your abilities? Who can you ask for feedback? What is one simple thing you can do right now to move forward? Only you can choose your destiny. It's OK to change your mind and try different things. The most important part is to understand that you get out what you put in.
  • 19. The importance of culture No matter your role, you can help contribute to a positive and empowering culture. Every person plays a part by honoring: Honesty, Humility, Drive, Courage, and Learning.
  • 20. General Guidance Learn everything you can. Google/YouTube paid for my grad school. Why? (It wasn't because I was smart) I had gone to film school for 1 year. I thought it was a waste. When I got to grad school, I was the only person with that experience, so I was the one picked to have their education funded by Google, and help with video research. I thought all that learning about video was a waste, but it was the most valuable year of my education.
  • 21. General Guidance Communication skills help you no matter what If you get the opportunity to write technical articles or do presentations or videos – do it. EVEN IF YOU THINK YOU SUCK. Story: Macmod.
  • 22. General Guidance Help your team succeed Understand how your manager and co-workers are evaluated. Remember, your manager succeeds if you (and your team) succeed. With success, your manager is in a better position to help you even more. Understand company OKRs, KPIs, and why those goals were set. Good teamwork means a better career for everyone. Team success is your success.
  • 23. General Guidance Be Empowered, Empower others 1. Make sure everyone (especially yourself) has a good idea of the decisions and actions for which they are responsible. * Speak up if you aren't clear 2. Once made, decisions are rarely second-guessed. * Trust your team 3. Information flows freely across organizational boundaries. * Share openly 4. Everyone usually has the information they need to understand the bottom-line impact of their day-to-day choices. * Understand the business and your role in it.
  • 24. General Guidance Ask for help and coaching Remember that the goal of leaders and management is to make their teams succeed. It's better to ask for help and coaching than to hide. A good manager does not punish questions or the desire for growth. I've hired coaches, out of my own $. It's OK to ask for help.
  • 25. General Guidance Balance No matter which path you pick, all the advanced roles require a BALANCE AND COMBINATION of skills. Don’t dismiss non-tech skills. +
  • 26. Q / A