22
The Kanye Quotient How to put together a great software team

The Kanye Quotient

  • Upload
    priestc

  • View
    785

  • Download
    0

Embed Size (px)

Citation preview

The Kanye QuotientHow to put together a great software team

What makes a great software team?

1. Diversity

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

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

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

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

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

2. Management

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

Two types of people

"Promoter" type● Pros

○ Happy○ Friendly○ Likable○ Optimistic

● Cons:○ Can't do anything○ Bad content, great

delivery method

"Creator" type● Pros

○ Gets things done● Cons:

○ Poor social skills○ Moody○ Pessimistic○ Hard to deal with○ Great content, bad

delivery method

Personality is a spectrum

"Promoter"

Exceptional managers

"Creator"

Exceptional producers

Most people

How do I hire?

Determine your Kanye Quotient

● Place all your current team members on a plot from Sarah Palin to Kanye West

Low Kanye Quotient

● 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

Palin Kanye

High Kanye Quotient

● 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

Palin Kanye

Neutral Kanye Quotient

● 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

Palin Kanye

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

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...

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

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

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