how to motivate your developers
DESCRIPTION
Being a developer is not easy. The deadlines are often short while the workloads can be huge. With all this pressure, it can be hard to find motivation. In this talk, Anna Filina will break down various developer behaviors, review common challenges of working in an enterprise, and offer solutions to these challenges.TRANSCRIPT
FooLab
How to Motivate Your DevelopersNortheast PHP Conference - August 12, 2012
Sunday, August 12, 2012
FooLab
DisclaimerMy advice does not work in all cases.Don’t blindly “cut-paste”.
Sunday, August 12, 2012
FooLabIssues With Devs
• Hard to recruit
• Work on low-priority tasks
• Lack of progress
• Low quality results
• Lack of cooperation (tasks, directives)
• Resign for unclear reason
3
Sunday, August 12, 2012
FooLab
Not always by choiceIt’s a product of the environment
Sunday, August 12, 2012
FooLab
How do they perform on their pet projects?
Sunday, August 12, 2012
FooLabAnna Filina
6
• PHP Quebec - user group
• ConFoo - non for profit Web conference
• FooLab Inc. - IT consulting
• I write code.
• I train and supervise programmers.
• I make recommendations.
Sunday, August 12, 2012
FooLab
Survival Kit
Sunday, August 12, 2012
FooLabSalary
• A study in Quebec shows it’s #1
• For free, they’ll work on what they want
• Pay enough
8
Sunday, August 12, 2012
FooLabPositive Culture
• Would you enjoy working for yourself?
• Proud of their job
• Grab a beer with them
9
Sunday, August 12, 2012
FooLabCommunication
• Feedback is underrated
• Can they be honest with you?
• Can they be honest with the team?
• Can they speak with teammates any time?
10
Sunday, August 12, 2012
FooLab
Phobias
Sunday, August 12, 2012
FooLabKansas City Collapse
12
• Deadliest structural collapse in US history
• 114 dead
• 216 injured
• Due to a design change
Sunday, August 12, 2012
FooLabChangeophobia
• Change design before you code
• Check impact on other requirements
• Keep project’s objectives in mind
• Stay focused on priorities
13
Sunday, August 12, 2012
FooLabAmbiguophobia
• Unclear goals
• “Let’s go over the bug tracker”
• Know your enemy (performance, spaghetti)
• Set goals: measurable, attainable, deadline
• No deadline = no requirement
14
Sunday, August 12, 2012
FooLabDeadlineophobia
• Arbitrary deadlines
• Consult devs before promising to client
• Friday deployments
• Overtime: they have nothing better to do, right?
15
Sunday, August 12, 2012
FooLabBlameophobia
• So they screwed up
• Laying blame (berate for 20 min)
• It’s everyone’s problem
• Focus on solutions: who has skill to fix?
• Don’t live in fear
16
Sunday, August 12, 2012
FooLabMeetingophobia
• How often?
• How long?
• How crowded?
• 20 people bouncing ideas for hours every week
• Follow outline: did we digress?
• Kill monologues and one-on-one conversations
17
Sunday, August 12, 2012
FooLab
Small Wins
Sunday, August 12, 2012
FooLabVisible Progress
• Life is about the next achievement
• Break into smaller goals
• Badge at every step
• Can increase difficulty over time
19
Sunday, August 12, 2012
FooLab
Junior Developers
Sunday, August 12, 2012
FooLabLimited Skills
• They can write code
• Don’t ask them to solve complex problems: optimize database
• Assign a more skilled dev
• Show them how to use the tools
21
Sunday, August 12, 2012
FooLabProving Skills
• Let them have an opinion
• Explain why they’re wrong
• They don’t ask questions
• Afraid to look bad, they feel tested
• Check progress to avoid blocks
• Invite them to ask simple questions
22
Sunday, August 12, 2012
FooLabKnow Not What to Do
• Can’t guess tasks
• Clear objectives, deadlines, priorities
23
Sunday, August 12, 2012
FooLabNeed Validation
• Tap on the shoulder when they do well
• Code review; be gentle and ignore non-issues
• Tell them what they could do better
24
Sunday, August 12, 2012
FooLab
Expert Developers
Sunday, August 12, 2012
FooLabDrive The Project
• IE6 compatibility
• Don’t distract; write some docs
• Don’t switch their focus
• Avoid low-level tasks
• They’re analysts and problem solvers
26
Sunday, August 12, 2012
FooLabExtinguish Fires
• Constant fires will drain and piss them off
• Let others fix a few bugs
• Offload simpler tasks
• Let them train others
• Give them vacation time
27
Sunday, August 12, 2012
FooLabNeed Tools
• They want to be more productive
• Pay the darn license
• Online collaboration
• Let them pick the tools
28
Sunday, August 12, 2012
FooLabMicro Managemet
• Time sheets documenting every task (movie commentator)
• Experts can manage their own time
• Give them autonomy; keep an eye on ROI
29
Sunday, August 12, 2012
FooLab
Difficult Cases
Sunday, August 12, 2012
FooLabCharacters
• Make people uncomfortable
• Think they are better
• Pair with patient dev to cool them
• Don’t let them cross the line
31
Sunday, August 12, 2012
FooLabA-holes
• Waste time on endless debates
• Create discord or tension between teammates
• Oppressing or humiliating the weak
• Drain energy
• Educate or kick
32
Sunday, August 12, 2012
FooLabEmotionally Unstable
• Psychos happen
• Capable of verbal and physical violence
• Worst thing that can happen to your team
• Everyone is scared
• Don’t wait: kick
33
Sunday, August 12, 2012
FooLabLet’s Reduce Tension
34
Sunday, August 12, 2012
FooLabUnskilled
• Make mistakes; you fix them
• Start many tasks without finishing
• Drain energy
• Don’t keep them out of pity
• Train if salvageable
35
Sunday, August 12, 2012
FooLab
Easy Shots Still Work
Sunday, August 12, 2012
FooLabAccommodation
• Respect religion / family / health constraints
• Help people learn the language
• Let the shy speak without interruption
• What about watching their country in finals?
37
Sunday, August 12, 2012
FooLabGadgets
• Desk name plates
• Nerf Guns
• Video games on big screens
• Ideas on thinkgeek.com
38
Sunday, August 12, 2012
FooLabConferences and Activities
• Most kids enjoyed school trips
• It’s a break + productivity increase
• Beer is a sure value
• Let them pick activities
• No activities on weekends
39
Sunday, August 12, 2012
FooLabNext Steps
• I will tweet the slides: @afilina
• Please leave feedback: http://joind.in/6842
40
Sunday, August 12, 2012
FooLab
Ask me how many hours my employee works
Sunday, August 12, 2012