How to Motivate Your Developers

Preview:

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.

Citation preview

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