Unreal Engine 3 - NC State Computer Science

Download Report

Transcript Unreal Engine 3 - NC State Computer Science

Building the Perfect Team
Michael Capps, Ph.D.
President, Epic Games, Inc.
Overview
•
•
•
•
•
•
•
Audience check
What gives me the right…
Defining success
Hiring
Rewards
Saying Goodbye
Critical Positions
Epic Games
• Founded 16 years ago by CEO
Tim Sweeney
• About 110 employees in Raleigh
• More in Utah, Warsaw, Shanghai
• Early success with Jill of the
Jungle, Epic Pinball, then Unreal
• Licensing Unreal Engine since
1996, hundreds of games using
• 2006 shipped Gears of War, 5M
units and 30+ GOTY awards
• Gears of War 2 comes soon:
November 7th worldwide
Leadership expert?
•
•
•
•
•
Not really…
I lead because I hate inefficiency
Or that which I perceive as inefficiency
Or really, when it’s not done how I’d do it
So I guess I lead because I simply hate
following…
Mike’s fascinating story
•
•
•
•
Socialization via Education 1976 - 2000
America’s Army 2000 – 2002
Scion Studios 2002 – 2004
Epic Games 2004 – until I’m hit by a bus
Visualize Success
• What’s our end goal?
• “Team dynamics” and “Culture”
• Really, we want:
• People to work harder than average
• People to work hard on the same thing
• Not in scope:
• People to work hard on the right thing
Visualize Success
• In other words, we want a team with
• Unity of purpose
• Willingness to sacrifice for that purpose
• This doesn’t mean ‘sacrifice your family’
• Rather ‘sacrifice enjoyable inefficiencies’
Enjoyable Inefficiencies
•
•
•
•
•
•
Petty squabbling
Intolerance for failure
Territorial behavior
Random web browsing
Random ‘research projects’
Tasks that look deceptively like progress
but don’t help to ship games
• Unreal Tournament during lunch
– Unless you’re working on UT of course…
Team case studies
• Project Lowlife:
– “get it running on almost anything”
• America’s Army:
– “keep a secret and shock the world”
• Scion Studios:
– “beat Epic at their own game”
Team case studies
• Epic Games
– be the undisputed best in games and tech
– Okay, so we think we did that. So now:
– “Against the odds, stay on top!”
Team case studies
• Do you see the trend in these cultures?
“MISSION: (Almost) Impossible”
Believing in leadership
• Your team needs to be confident in you
– You don’t have to be perfect
– you can’t be!
• Earn their trust and they’ll support your
decisions
Believing in leadership
•
•
•
•
•
•
So if you’re going to screw up
Please do so with confidence
Panache even
Heck, blame your screwups on this talk
Or, if you’re making a game
Blame your engine middleware
Hiring
Disclaimer: I am not an artist…
…but I can hire them!
Epic’s Hiring Process
•
•
•
•
•
•
•
•
Resume review by HR
Resume review by experts
Skills Test
HR phone call
Experts phone call(s)
Reference checking
On-site interview
Background investigation
A good resume
• Bad spelling is a pass
• Programmers who don’t spell check
probably don’t test their code
• Artists who don’t spell check probably
don’t ask peers to review their work
A good portfolio
• Should include only great work
– if they send something weak, assume
they don't know the difference
– or they don't ask for advice from peers /
mentors
– Both mean “no-hire”
• Look for crediting, clean presentation, etc.
Demonstrate Passion
• Good teams require passion
– So we look for this first and foremost
• What projects are they working on at
home?
• For junior hires:
– Look for game focused internships or
extracurricular activities
– Best tests are outside of the classroom
– Hobby projects, mods, etc. are king
Skill test
• As per Joel Spolsky: make them juggle
• See how they take direction
• No matter how perfect the results, we
always send back for more
• “I don’t take tests”
– Don’t hire this guy
– He’s probably too important to write input
code or clean up LODs
– Or any of the other stuff that ships games
The on-site interview
For artists: not for skills, just team fit
For coders: technical interview and team fit
What are we afraid of?
• that they won’t work hard
• or that they will bail on us
• or that they are a jerk
• or that they secretly want to be a designer
Interview psychology
• We look for people who:
– Are nice and friendly, pass the elevator test
– Are respectful of your team’s work
– Show excitement about working there
– Want to learn from your team
Interview psychology
• You want a team full of people who feel
lucky to be here
• You MUST turn down brilliant people who
don’t fit your culture
• Someday, your lead coder will get mad at
you for passing on a brilliant jerk
programmer
• Tell him it’s my fault
Hiring Strategy
• This industry is startingly small
– There are at most two degrees of separation
between every game company in the world
– So play nice with offer timing, other
companies, etc.
– You don’t get lots of chances to screw up, so
use them wisely
Environment is important
Environment
• Read Peopleware
• Physical environment
– Environment foments collaboration
– Or more frequently, prevents it
– Manage interruptions
– Interruptions are surprisingly costly
Environment
• Team environment
• Epic is game teams and engine team
• Game teams:
– Producer
– Lead designer
– Level designers and lead
– Gameplay coders and lead
– Artists and lead
Rewarding Performance
• Rewards are very dangerous
• People will do what you reward them for
• So much can go wrong:
– Infinite defect methodology
– Doing that which is noticed
– Working when it’s noticed
• Reward based on performance reviews!
Reviewing Performance
• Details of the epic process
– Twice yearly
– Leads and random peers
– The Big Conversation
• Epic’s review points
– Quality and Attention to Detail
– Creativity and Problem Solving
– Communication and Teamwork
– Work Ethic
Reviewing Your Performance
•
•
•
•
360-degree feedback
Climate surveys
HR one-on-ones
Compliments, Concerns, Criticism
meetings
• Lots of informal discussions, lunches, etc!
• Managing by walking around isn’t just a
cliché
Saying Goodbye
• Employee reviews aren’t always positive
• Punishment and firing is critical to
maintaining team trust
• Nothing demotivates like working next to
someone who isn’t working hard
• Act carefully
– Treat them like you’d want to be treated
– Employees need to be confident that you
won’t fire on a whim
– Maybe they’re just on the wrong task?
Saying Goodbye
• Epic’s process
• Disclaimer: rules on doing this legally are
quite complex
• Epic’s contracts are at-will
• Having reviews is helpful
• Initial informal discussion
• Formal discussion with a performance
plan
Saying Goodbye
• Epic Performance Plan
– Written statement they must sign
– Producer, discipline lead, and HR
– Immediate, significant, and ongoing
improvement
– Short lifetime for review, usually 2 weeks
– If it goes poorly, terminate
– Otherwise repeat, increase interval, finish
Saying Goodbye
• I have roughly a 60% success rate…
• But I’ve felt better 100% of the time
• And I don’t work next to the guy
•
•
•
•
Be open and honest about termination
Tell the team immediately
His team shouldn’t be surprised!
Reassure team it was a long discussion
Critical positions
• The “Hit by a bus” bus is coming
• What do you do?
Critical positions
• Find the most critical position
• Figure how to make it (more) bus-proof
• Repeat throughout the organization
• Warning: if anyone is actually hit by a bus on
your team, you will be the logical suspect
Leadership and promotion
• We usually have the luxury of time at Epic
• So we test extensively under fire
• “Responsibility without authority”
– To lead this way, they must earn respect
– Also makes promotions nice and smooth…
– “Oh yeah? It’s about time …”
Critical positions
•
•
•
•
You could be hit by a bus, too
Make yourself replaceable
Who are you grooming for your job?
You are be paid to create a sustainable
organization
– Not to keep yourself in a job for life
Critical positions
• Not all employers appreciate this, sadly
• You usually must have a clear
replacement before you can be promoted
• And it’s polite to prep a replacement
before you move out
• So prep now before either opportunity
knocks
There is no trick to teams
•
•
•
•
Many necessary conditions for team gel
But no sufficient conditions
Make a lot of teams
Experiment with sub teams and ad hoc teams
• Build a toolchest
– Learn from others, it’s less painful
• In the end, you’re training your gut
There is no trick
• Read everything
• There is no perfect book for game
production
– Managing engineers is an art form with
hundreds of books
– Producers must manage artists at the same
time…
– Steal from books – Good to Great, Drucker,
Peopleware, Slack, Flow, Wisdom of Teams,
etc.
In conclusion
• Success comes from motivated teams
– Teams can come from good luck
– But they’re more likely to come from diligent
culture planning
•
•
•
•
•
Hire the right people
Reward them
Firmly remove wrong people
Watch your critical positions
And you’ll have the team you need
Questions?