Why Having Impact Matters for Good Developers (GOTO Berlin)

68
Having Impact Matters Jesper Richter-Reichhelm (@rirei) What motivates developers? How to build a company to maximize motivation?

Transcript of Why Having Impact Matters for Good Developers (GOTO Berlin)

Page 1: Why Having Impact Matters for Good Developers (GOTO Berlin)

Having Impact MattersJesper Richter-Reichhelm (@rirei)

What motivates developers?

How to build a company

to maximize motivation?

Page 2: Why Having Impact Matters for Good Developers (GOTO Berlin)

but intrinsic motivation is even

more important

Money is important ...

Page 3: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Autonomy• Mastery• Purpose

Daniel PinkCheck out his TED talk at http://

bit.ly/1gqPsVe

Page 4: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Purpose• Making progress• Reaching goals daily

Linda Rising Check out her keynote at http://

bit.ly/1fJ87dz

Page 5: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Self organization• Improving yourself• Incremental work• Meaningful work• Changes

My takeaway

Page 6: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Small teams• Collaboration• Innovation• Agile principles• Job rotation• Team as Function

Company takeaways

Organize a company to

maximize motivation

Page 7: Why Having Impact Matters for Good Developers (GOTO Berlin)

Emphasizing function

FE Dev

BE Dev

Art

Product

Each team is formed around a

function

Page 8: Why Having Impact Matters for Good Developers (GOTO Berlin)

Emphasizing rank

How you see a problem, defines it.

Classic view on company

organization

Page 9: Why Having Impact Matters for Good Developers (GOTO Berlin)

80 developers

CTO

3 managers

VP VP

TL TL TL TL TL TL TL TL TL TL

Wooga if it followed a classic

org chart

Page 10: Why Having Impact Matters for Good Developers (GOTO Berlin)

80 developers

CTO

3 managers

VP VP

TL TL TL TL TL TL TL TL TL TL

Varying team sizes make this very

hard

Page 11: Why Having Impact Matters for Good Developers (GOTO Berlin)

Emphasizing functions

No TL but instead self organization!

Page 12: Why Having Impact Matters for Good Developers (GOTO Berlin)

80 developers3 managers

Wooga’s IT ‘org chart’

Page 13: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Matching requirements to tech• Future requirements• Development processes• Planning processes• Knowledge sharing• Cross-team collaboration

Team lead tasks

Page 14: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Matching requirements to tech• Future requirements• Development processes• Planning processes• Knowledge sharing• Cross-team collaboration

Developer tasks

Higher requirements for each developer

Page 15: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Hiring• Feedback

Team lead tasks

Some things are still done by managers

Page 16: Why Having Impact Matters for Good Developers (GOTO Berlin)
Page 17: Why Having Impact Matters for Good Developers (GOTO Berlin)

2009: 20 employees

Page 18: Why Having Impact Matters for Good Developers (GOTO Berlin)

2013: 280 employees

Page 19: Why Having Impact Matters for Good Developers (GOTO Berlin)

Scaling the company by adding

game teams

Page 20: Why Having Impact Matters for Good Developers (GOTO Berlin)
Page 21: Why Having Impact Matters for Good Developers (GOTO Berlin)
Page 22: Why Having Impact Matters for Good Developers (GOTO Berlin)

Wooga is an incubator for game

team startups

Page 23: Why Having Impact Matters for Good Developers (GOTO Berlin)

Game Teams

Page 24: Why Having Impact Matters for Good Developers (GOTO Berlin)

Each team makes one game

Page 25: Why Having Impact Matters for Good Developers (GOTO Berlin)

Prototyping2 members

Production6 - 10 members

Live8 - 15 members

Small teams Start small, grow if successful

Page 27: Why Having Impact Matters for Good Developers (GOTO Berlin)

Independence

Teams can ignore CEO’s

advice and decide themselves

Page 28: Why Having Impact Matters for Good Developers (GOTO Berlin)

Freedom

Page 29: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Weekly rhythm• Transparency• Fail fast

Constraints

Page 30: Why Having Impact Matters for Good Developers (GOTO Berlin)

Standard Framework

Page 31: Why Having Impact Matters for Good Developers (GOTO Berlin)

Scrum, Kanban or

something else?

Programming

Language?

Framework?

Data Center?

Tools? ExternalServices?

Innovation

Art Style?

Diversity breeds innovation

Innovation allows self

improvement and learning

Page 32: Why Having Impact Matters for Good Developers (GOTO Berlin)

Responsibility keeps freedom in

check

Page 33: Why Having Impact Matters for Good Developers (GOTO Berlin)

“You build it, you run it.- Werner Vogels

The game team is responsible for

ops & biz

Page 34: Why Having Impact Matters for Good Developers (GOTO Berlin)

Impact

Small team + freedom =>

maximum impact for everyone

Page 35: Why Having Impact Matters for Good Developers (GOTO Berlin)

Small teams

Agile principles

Independence

Perfect recipe to attract great developers

Page 36: Why Having Impact Matters for Good Developers (GOTO Berlin)

humanepursuits.com/2012/04/05/anarchy-on-your-lapto

The tradeoff: Threat of anarchy

and chaos

Page 37: Why Having Impact Matters for Good Developers (GOTO Berlin)

Collaboration

Teams collaborate instead

of competing

Good counter for ‘anarchy’

Page 38: Why Having Impact Matters for Good Developers (GOTO Berlin)

Exchanging Knowledge

flickr.com/photos/swamibu/2868288357

Page 39: Why Having Impact Matters for Good Developers (GOTO Berlin)

Exchanging Knowledge

flickr.com/photos/wili/233621595

Share knowledge by talking (less

writing)

Page 40: Why Having Impact Matters for Good Developers (GOTO Berlin)

Being transparent

flickr.com/photos/marcomagrini/698692268

Don’t hide mistakes, make

your team comparable

Page 41: Why Having Impact Matters for Good Developers (GOTO Berlin)

Meeting people

flickr.com/photos/gviciano/4060850226

Personal trust removes barriers

Page 42: Why Having Impact Matters for Good Developers (GOTO Berlin)

Share knowledge

Be open and transparent

Build a community

Collaboration distributes knowledge

Check out slides at http://

slidesha.re/18tMwBs

Page 43: Why Having Impact Matters for Good Developers (GOTO Berlin)

People

Page 46: Why Having Impact Matters for Good Developers (GOTO Berlin)

Lifelong learning

flickr.com/photos/carlosporto/775089650

Most important trait for a dev

Page 47: Why Having Impact Matters for Good Developers (GOTO Berlin)

Social Fit

Open, sharing, motivated ...

Page 48: Why Having Impact Matters for Good Developers (GOTO Berlin)
Page 49: Why Having Impact Matters for Good Developers (GOTO Berlin)

Tech Crunch

Series of interviews for final decision on hiring

Page 50: Why Having Impact Matters for Good Developers (GOTO Berlin)

Developers do Tech Crunch and ‘vote’ at the end

Page 51: Why Having Impact Matters for Good Developers (GOTO Berlin)

FeedbackProblem:

Manager does not interact daily with

developer

Page 52: Why Having Impact Matters for Good Developers (GOTO Berlin)

• Declare peers• Send questionnaire• Interview peers• Summarize feedback• Feedback Talk

Feedback

Solution: Feedback based on peers

Page 53: Why Having Impact Matters for Good Developers (GOTO Berlin)

Trust

Page 54: Why Having Impact Matters for Good Developers (GOTO Berlin)
Page 55: Why Having Impact Matters for Good Developers (GOTO Berlin)

“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”

- Agile Manifesto

Page 56: Why Having Impact Matters for Good Developers (GOTO Berlin)

80 developers3 managers

Only works because you CAN

trust people

Page 57: Why Having Impact Matters for Good Developers (GOTO Berlin)

In doubt, don’t hire

Trust people

Hire good people, then get out of their way!

Page 58: Why Having Impact Matters for Good Developers (GOTO Berlin)
Page 59: Why Having Impact Matters for Good Developers (GOTO Berlin)
Page 60: Why Having Impact Matters for Good Developers (GOTO Berlin)

Independent TeamsTransparency

Trust

Wooga in a nutshell

Page 61: Why Having Impact Matters for Good Developers (GOTO Berlin)

Same approach, but it’s even in the

name! :-)

Page 62: Why Having Impact Matters for Good Developers (GOTO Berlin)

Check out the article at http://

tcrn.ch/19QWs6z

Page 63: Why Having Impact Matters for Good Developers (GOTO Berlin)

Organic interaction of service teams

Page 64: Why Having Impact Matters for Good Developers (GOTO Berlin)

Grandfather of ‘service teams’ ;-)

Page 65: Why Having Impact Matters for Good Developers (GOTO Berlin)

Independent TeamsTransparency

Trust

Works for Wooga, works for others!

Page 66: Why Having Impact Matters for Good Developers (GOTO Berlin)

It works

Give it a try!

Page 67: Why Having Impact Matters for Good Developers (GOTO Berlin)

Thank you

Page 68: Why Having Impact Matters for Good Developers (GOTO Berlin)

Jesper Richter-Reichhelm

@jrirei

woo.ga/backend

wooga.com/jobsCheck out other slides at http://

woo.ga/backend