4. A great software team contains...
at least one person who was self-
taught,
at least one person who has a PhD,
at least one person was born in the
ghetto
at least one person who was born in
a mansion
5. at least one person who is an
extrovert
at least one person who is an
introvert
at least one person who is a great
communicator and works well with
other people
at least one person who works best
alone
6. at least one person who is a woman
at least one person who switched
careers from X to software developer
at least on person who is an asshole
at least one person who is a chill,
nice dude
7. At team full of only self taught
developers... is bound to fail
At team full of only Ph.D
developers... is bound to fail
A team full of only nice guy
developers... is bound to fail
A team full of douchebag
developers... is bound to fail
8. Diversity of personality
● No one individual is perfect.
● Being really good at one thing always comes
at a cost
● Groups of people with diverse personalities
make up for each other's shortcomings
● Groupthink is bad
● Silicon Valley idea of "culture" == no
diversity
10. What is management?
● People problems being solved
● Passion leads to conflict
● Unresolved conflict leads to failure
● Motivation is extremely fragile and valuable
● Having managers != having management
● The force that keeps the team together
● "Meta" work
11. Two types of people
"Promoter" type "Creator" type
● Pros ● Pros
○ Happy ○ Gets things done
○ Friendly ● Cons:
○ Likable ○ Poor social skills
○ Optimistic ○ Moody
● Cons: ○ Pessimistic
○ Can't do anything ○ Hard to deal with
○ Bad content, great ○ Great content, bad
delivery method delivery method
12. Personality is a spectrum
Most people
"Promoter" "Creator"
Exceptional managers Exceptional producers
14. Determine your Kanye Quotient
● Place all your current team members on a
plot from Sarah Palin to Kanye West
●
15. Low Kanye Quotient
Palin Kanye
● Its members skew towards the Palin end of
the spectrum
● This team most likely has a great office vibe,
but probably has trouble shipping
● This team needs more Kanye
16. High Kanye Quotient
Palin Kanye
● Its members skew towards the Kanye end of
the spectrum
● This team most likely has no problem
shipping quality software, but the office vibe
is toxic. Retention is most likely a problem.
● This team needs more Palins
17. Neutral Kanye Quotient
Palin Kanye
● A well balanced team
● Each person individual is imperfect, but as a
whole the team is perfect. Success awaits.
● This team ships great software, and has a
great office environment.
● All software teams should strive for this type
of balance
18. Low Kanye Quotient? Hire more
Kanyes
● Judge them by their honesty
○ Don't worry about positivity / negativity
○ Don't tolerate bullshit and canned responses
● Take an "additive" approach
○ Goal is that anyone who applies is hired
○ Coding problem: challenging and fun
○ Write an honest job ad, emphasize responsibility
● Don't worry so much about people skills
● "Rock star" personality / passion
○ Expect them to have a "VMA moment" every now
and again
19. Example job ad for programmers
Come work at Startup.io! We work on hard problems that
we hope will revolutionize the startup industry. We are
looking for passionate, somewhat quixotic individuals to
help solve the many problems we are setting out to solve.
Developers at Startup.io areexpected to stand behind the
code they write. If it's 3 o'clock in the morning on a Sunday,
and your code breaks, we expect our developers to fix it
right then and there.
If this position interests you, send a resume, your
github/bitbucket and the answer to the following coding
problem...
20. Coding problem
● Should be interesting and fun
○ Not complex and tedious
● Simple, easy to understand problem
○ One paragraph to explain the problem
○ Keep "included data" to a minimum
● No time limit
○ Great developers don't like cutting corners
● The problem should mirror coding for the
company
21. High Kanye Quotient? Hire more
Palins
● Judge them by their positivity
○ Expect bullshit and/or canned responses
○ You want them to say nice things about everyone
● Don't care about their programming skills
○ These people should work full time on people
problems, not technical problems.
○ Basic development knowledge is required
● You want someone who sucks at
programming and hates doing it
○ More time programming == less time managing
○ People with Masters and PhDs can fit this bill
perfectly
22. Other tips
● Great developers are bad a negotiation.
○ Because you don't negotiate with computers
○ Help them with this
● Hiring is a skill that you get better at the
more you do it
● Don't be afraid
○ low diversity is usually caused by fear of hiring a
"bad" employee
● Bad interview processes...
○ Let bad devs in
○ Prevent good devs from coming in