"Happy teams are all alike; every unhappy team is unhappy in its own way." - BlochSdoyevsky
Although every great team is somewhat different, all great teams have a common trait - they are composed of different characters that complete each other. So how do you build a team which will deliver fast over time with uncompromized quality and with joy of creation?
In this talk we will disscuss the different charcters of engineers, building a diverse team and how to make them work together so that the whole is greater than the sum of its parts.
The secrets of building a team that can do everything
1.
2. Introducing myself
kfirb@wix.com
@kfirondev
● Developer (~20 years)
● Backend engineering manager @Wix
● Clean coder (wannabe)
● Enthusiastic about the long tail problem
● Just a normal result driven developer
Kfir Bloch
~41, Tel-Aviv
4. You’re doing your job if you can say that
Over time, your team has 3 things:
Fast Delivery Pace
Joy of Creation
Uncompromising
Quality
5. The greatest leader
is not necessarily the one who
does the greatest things.
He is the one that gets the people
to do the greatest things.
“
“
Ronald Reagan
7. The Executor
Delivery person
High velocity regardless to the tools
Sometimes cut the corners
Sometimes does not spend enough time on design
Sometimes does not share enough with people
Enthusiastic by the product
Loves wars and uncertainty
8. The Preacher
Reads all the books in the world
Can quote uncle bob in the middle of the night
Enthusiastic by innovations and trends
Can choose the right pattern for a problem
Sometimes got the 80/20 problem, likes perfection
People continuously learn from them and become better
Sometimes does not listen
Never satisfied from tooling/stack - in a good way
9. The Integrator
Good in integrations
Great personal skills
Under the stretcher
Never fights, doesn’t have an ego
Not the strongest, but makes everyone around
happy
Aligned perfectly to org vibe
Does not make changes, reactive
They are the soul of the company & majority
10. The Leader (to be)
Can grow to lead a team in the future
Can handle tasks which involve more people
Always listens to their colleagues
Good at understanding trade-offs
Demagogue
Can sell ice to Canadians
People feel secure when they’re around
11. Exercise: Try to call out your team members
Executor LeaderPreacher Integrator
13. It’s not easy...
Some developers have one strength, others have some.
You cannot be all of them - they collide.
The Classic
Clash /
Opportunity:
executor vs.
preacher
17. ...and we might end up with:
Product teams that cut corners and do hacks
Core teams that can’t deliver, spending time on philosophy
● Great executor to Product team
● Great preacher to Core team
19. Exercise
Let’s allocate tasks
Trivial
1. Prepare course for new developers
2. Manage server Townhall meeting
3. Integration project under deadline -
GDPR
Non trivial
1. Rebuilding next pub sub
2. Move to different stack
20. People do amazing work in their comfort zone.
Letting people work on non-comfort zone might lead to...
● Demotivation
● Less prediction on estimations
● Increases the risk of delivery
● The enemy of the basic rule of “joy of creation”
Let them work on other zone not in the critical path!
21. People do amazing work in their comfort zone.
● Focus on delivery of feature
● Focus on rebuilding framework
...But in reality, we need to change focus
Examples
● Refactor CRUD project to CQRS
● Build framework that have plugins and
then we need to use the plugins - payment
22. How to handle a mismatch of team balance
Pair programming & Peer reviews
Let people work sometimes in their “Learning Zone”
Change team members within the organization
23. 1. It is OK to restructure
your team and move
people between teams to
meet the vision & needs.
2. Evolving/Changing
teams are relatively
better
Change team members within the organization
24. People with one dominating strength
Might be individual contributors | We don’t need a lot of them
https://freeclipartspot.com/article/top-81-unicorn-clip-art
25. People with 2-3 strengths
Are very good for the team | Can cover each other
26. Takeaways
● Calculate your team strength and plan accordingly
● You might be biased about valuing people
● Mitigate character cons by allocating pairs
● There are no supermen / superwomen
● People do an awesome job in their comfort zone
● Avoid homogeneous members - make it “diverse all the
way”
● Move people between teams
27. A leader is someone who brings
people together.
“ “
George W Bush
28. Although Wix is a glorious
company, it has a problem too:
production, scaling and
preachers!
“
“
Borat