Upload
alexander-grosse
View
588
Download
1
Embed Size (px)
Citation preview
Scaling Teams
From the CTO’s perspective
About meFormerly at Nokia, SoundCloud, Beatport
Currently: issuu
@klangberater, https://medium.com/@alexandergrosse
Shameless self promotion
About the bookAdvice and best practices for every leader in a product organisation
Five dimensions of scaling
Key learnings
If you want a life, don’t write a book next to your job
(especially when you have kids)
Back to the topic
How does the job of a CTO change over time?Assumptions:
- You started as CTO of a small startup- You are coding on the critical path- Every engineer reports to you- Team grows
What should happen?
What can happen?
WHY DOES THAT HAPPEN?
● Organisational issues:○ Onboarding not sufficient
○ Effort for hiring
○ Wrong hiring
○ Wrong organisation (dependencies kill you)
● Exceeded the optimal growth rate
Some things that happen to you- You are still the go to person for technical work, no time (or experience) to
manage the new engineers- A lot of new stakeholders appear- There is suddenly a management team, where you need to be present
Time spent in the beginning
Time spent while growing
What happens to the role
Focus shifts from technical contributions to team building and collaboration with other departments
What makes it even more difficult?Engineering is usually the biggest and fastest growing department in a startup
Therefore all the team scaling challenges are here first! E.g.:
- Career paths
- Training of managers - Hiring processes- Communication...
What stops you from changing?- Old habits- Missing knowledge- Or… no passion for management work
What to do?Two alternatives:
● Hire an experienced people manager (VP Engineering) - not covered here● Adapt and learn it yourself
Adapt
Can I still code?● Don’t code on the critical path (that is the easiest way to NOT scale the team)● Your task is to give context, explain, mentor other engineers● But do technical work as long as possible...
Scale Yourself
Disclaimer
● I know that everyone is different, every company is different and there is probably not a single person/company where all these points are true
The 5 sins of a startup CTO*
● Pride● Isolationism● Being a Bottleneck● Lack of self awareness● Shiny technology over business value
Pride
● In a growing startup just staying at the CTO position is basically a promotion
● Give up the title if needed● Accept that other people might be paid more than you
Isolationism
● Thinking about engineering in isolation● To deliver business value there is more needed than just
engineering● Us vs. them
Bottleneck
● Sometimes conscious - sometimes unconscious● Not cool: All communication runs through you● Your job is to make sure that everything runs without you
Lack of self awareness
● What are your strengths?● What is your passion?
Lack of self awareness
● If you had the choice between coding for a day or organizing teams/hiring: What would you choose?
Shiny technology over business value
Shiny technology over business value
● Use simple (not outdated) technology which delivers what you need
● Goal is to make the business successful, not to use e.g. Microservices
COOL / NOT COOL
HIRING
NOT COOL
“I have to check all the technical work”
WHAT TO DO?
● Anti Pattern: We are cash restricted, we only pay very low salaries and get what we pay for
● The way to do it right: Find the right balance and pay a few highly qualified engineers (referral trap)
NOT COOL
“ONBOARDING is mostly: There is your desk”
WHAT TO DO?
● Small (one team): Mostly spontaneous● More than one team: Team rotation
NOT COOL
“Hiring process takes ages and is unprofessional”
WHAT TO DO?
● Convince Management to hire recruiter● Invest in tools● Increase awareness
PEOPLE MANAGEMENT
NOT COOL
“1on1s are infrequent”
WHAT TO DO?
● Very pragmatic advice:○ Make it a recurrent meeting○ Reserve time for long term topics
ORGANISATION
COOL
“Teams who can deliver stuff fast without dependencies”
VALUE STREAM MAPPING
HOW TO DO IT?
● Build Delivery Teams: Self-sufficient teams that include all the functions necessary to develop software from idea to launch.
● 95% rule
WHAT TO DO?
COOL
“Teams who understand their customers”
WHAT TO DO?
● Purpose of the teams● Assign support to teams● Let the engineers talk to customers● Let the engineers spend time in support
COMMUNICATION
NOT COOL
“NOBODY KNOWS WHAT THE OTHER TEAMS/DEPARTMENTS ARE DOING”
WHAT TO DO?
● BASICS: Set up regular demo sessions● EXTRA POINTS: All departments of the company present
NOT COOL
“I only have 1on1s with engineers”
WHAT TO DO?
● Identify main stakeholders● Have a monthly 1on1 with them● Typical candidates: Main Product, Design/UX, Marketing
people
Summary● Job changes radically when company grows● Adapt or change your role (seek support)● Take care of how to scale teams!● Engineering is not an island
Thank you
@klangberater