SlideShare a Scribd company logo
How to hire and keep engineers
            happy
   Wharton School of Business, San
             Francisco
         March 16th, 2013
Why is it so hard to find young and
        hungry programmers?
 David "Pardo" Keppel: "There's no shortage of
smart hardworking engineers. There's a
shortage of smart hardworking engineers willing
to work for very little money."

• http://tinyurl.com/cc2jgth
Corollary
• There are smart hardworking engineers willing
  to work for relatively little money, but you
  have to make it up in other ways
Hiring
• Your first few hires are critical
• If you’re non-technical, find someone else to
  do your engineering interview.
• Important qualities:
  – Technically sound
  – Able to translate requirements into code
  – Able to transcend the immediate problems to find
    generalized solutions
  – Passionate about building tools and automation
Find a Technical Co-founder
• Case studies:
  – AirBnB
  – Intuit
  – Apple
• Learn to Code
  – It’s easy to learn to code
  – It’s hard to code well
Hiring mistakes
1. Low technical bar
  “I can’t see myself working at a company where the
  toughest question is, ‘what’s the difference between a
  linked list and an array’” --- engineer who turned down a
  startup
2. No decision making by engineer “A mere matter
   of programming”
  “The co-founders go home and talk and announce
  decisions the next day.”
3. Poor engineering environment
  “They were too cheap to buy us phones to test our
  mobile software on.”
Reaching out to engineers
• Best engineers usually have jobs or aren’t
  otherwise looking
• LinkedIn
• StackOverflow
• Technical mailing lists
Writing Job Descriptions
• Don’t make job descriptions sound like they’re
  written by HR
• Big booboos:
  – Asking for N years of experience in X
  – Asking for N years of experience in X when X has
    been around for n < N
  – Over-emphasis on degrees and technical
    credentials (especially certifications)
What can your startup offer that
            Google can’t?
• Individual mentoring
• Chance to own a big piece of code
• A chance to move up quickly
“Moneyball” as applied to Engineering
• In big organizations, big titles correspond to
  political skill
• Better to hire quality engineers who’ve proven
  themselves poor at politics
Things to do
• Hire experienced engineers with management
  experience
• Challenge engineers during interview
• Be realistic about what an engineer will accept
Managing Engineers
• Engineers are creative people, give them lots
  of freedom, right?
• Yes and No
• Unlike art, in engineering, process matters
  – Brittle solutions versus resilient solutions
  – 10X engineers make a huge difference
  – Context matters
Creating Feasible Projects
• MBAs, take a programming class!
  – Learn to program python
  – Learn to program Excel/Visual Basic
• Important to understand
  – What’s easily done within current technology
  – What requires developing new technology
  – What’s not easily done with technology (at all!)
Compensation is hard, let’s go
             shopping
• The pay for performance myth
• Creativity is decreased by incentives
• Best solutions come from intrinsic motivation
Engineering is a process
• Specifications
• Design
• Implementation
• Testing
• User feedback
Keeping this cycle as short as possible is
important!
Recurring Engineering Screwups
• Incompetent Engineers
  – “fail whale”
  – Low scalability (crashing in under 1000qps)
  – Trying to solve in software what’s easily done in
    hardware
• Poor management
  –   Incurring technical debt without paying it down
  –   Focus on new features rather than clean code
  –   Failing to spend on adequate hardware
  –   Poor engineering culture
Engineering Tools
• Used to be able to judge the soundness of a
  technical team by the tools they used:
  – Visual Source Safe – incompetent and stupid
  – RCS/CVS – cheap but barely competent
  – Perforce – competent and technically smart
• Now much harder:
  – Git is fashionable and free
  – Plenty of good alternatives
Engineering Tools
• Code Review Tools:
  – Essential and worth the investment
• Continuous Build/Integration
  – Roll your own or use something prebuilt
• Bug Tracking
  – History suggests that every company eventually
    builds their own if they last long enough
• If your team does not use/build these
  tools, you have a problem!
Never solve in software what you can
            do in hardware
• High scalability is now easily resolved with
  modern hardware
  – Apply SSDs to MySQL
  – High performance machines are cheap
• Do back of envelop calculations
  – Intel X-25M: 8600 IOPS ($300)
  – Fusion IO: 135,000 IOPS ($3000)
  – Texas Memory Systems RAM SAN: 400,000 4K
    Random IOPS ($100,000)
Dynamic Languages
•   Ruby/Rails
•   Python/Django
•   Lisp
•   Erlang
•   Easy to launch, might prove difficult to scale
•   Static type checking is a “safety net” most
    programmers need but refuse to admit to
    needing
Technical Debt
•   Incurred every time you change a specification
•   Switch platforms
•   Add an unplanned feature
•   Push engineers to “just get it done”

Technical debt is like credit card debt: if you only
pay the minimum, you’ll never get out from under
it, and it depletes capital/engineering effort better
spent elsewhere.
Buy your engineers good hardware
•   SSD: $300
•   Typical engineering salary: $100,000 ($50/hr)
•   Each compile saves 30s
•   50 compiles/day
•   ROI: 3 weeks! (Each month saves you an 8
    hour day!)
Engineering Culture
•   Develop a culture of excellence
•   “No assholes”
•   Promote from within
•   Culture is:
    – Who you promote
    – Who gets the big bonuses
    – Whether you get recognized for doing the grungy
      painful work nobody else wants to do
Strong Engineering Culture
• Counter-intuitively, created by tough
  interviewing culture
• Interviewing considered important, highly
  valued and respected engineers do not shirk
  interviewing
• High standards->Esprit de corps
• Hiring mistakes are quickly corrected
• Caterine Fake: “Never stronger than your first
  few engineers.”
Management
• Most critical decisions: who gets put into
  management
• Yishan Wong’s Theory: if you don’t promote
  from within early enough, and you don’t
  prepare a “deep bench” internally, you are
  doomed to always hire managers from
  outside.
Compensation
• Informal compensation
  – Praise/recognition
  – Comp time
  – Better hardware
  – Work from home privileges
• Formal compensation
  – Stock
  – Salary
  – Bonus
Compensation
• Praise/Recognition by far most under-utilized!
  – Engineers/Engineering managers don’t like to
    “stroke” people
• Do not conflate hardware requirements with
  perks!
• Important to recognize: different people have
  different requirements
Engineering Ladder
• Considered HARMFUL! Avoid for as long as
  possible. (Most startups only introduce this at
  100 engineers. Google waited until well past
  Dunbar’s number—300 engineers before
  introducing engineering ladder)
• Once you have one, you have to think hard
  about how you promote and who you
  promote. Most engineering ladder job
  descriptions are laughable.
Managing by Objectives
• Intel process: employees set goals, then grade
  themselves. Adopted by Google and several other
  technology firms.
• Engineering leaders/managers should guide objective
  setting. Grading should be done by engineering
  managers in conjunction with engineers.
• Don’t go crazy with objectives. Most important
  consideration:
   “Feedback should be constant. If you’re surprised by your
   annual performance review, then your manager screwed
   up!”
Summary
• Think of your organization (especially
  engineering) as a product
• Your customers are the engineers
• Consider what sort of problems you need to
  solve and build your product accordingly)
Q&A
• http://piaw.blogspot.com
• http://books.piaw.net

More Related Content

PDF
Software Developer Career Unplugged - GeeCon 2013
PDF
Devoxx Poland 2015: 5-10-15 years with Java
PDF
Spartez Open Day March 13th 2015
PDF
Ten lessons I painfully learnt while moving from software developer to entrep...
PDF
Hiring a developer: step by step debugging
PPTX
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
PDF
Ten lessons I painfully learnt while moving from software developer
to entrep...
PDF
Confitura 2013 Software Developer Career Unplugged
Software Developer Career Unplugged - GeeCon 2013
Devoxx Poland 2015: 5-10-15 years with Java
Spartez Open Day March 13th 2015
Ten lessons I painfully learnt while moving from software developer to entrep...
Hiring a developer: step by step debugging
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Ten lessons I painfully learnt while moving from software developer
to entrep...
Confitura 2013 Software Developer Career Unplugged

What's hot (20)

PDF
Dancing for a product release
PPTX
The Importance of Culture: Building and Sustaining Effective Engineering Org...
PDF
Binary crosswords
PPTX
DevOps
PPTX
Trust Me, I'm An Architect
PDF
01 (IDNOG01) Keynote 1 by Barry Greene
PDF
5-10-15 years of Java developer career - Warszawa JUG 2015
PPT
Hf epam new_presentation
PPTX
Holistic Product Development
PDF
Building a Software Development Team - MaRS Best Practices
PPTX
Tips to kick-start your Software Engineering Career - Ferdous Mahmud Shaon
PPTX
Artificial intelligence in voice recognition
PPT
Assistive Technology for Employment Support Professionals
PPTX
Becoming a Salesforce.com Technical Architect
PPSX
A Study of Innovation by Phil Wheat
PDF
Tips to Kick-start your Software Engineering Career
PDF
Fredieu shall we have a future
PDF
"The Great Technical Swindle" by Laurent Cerveau
PDF
Software development management slides by George Berkowski (Hailo)
PPS
Smart+Shanghai+2008 09 05
Dancing for a product release
The Importance of Culture: Building and Sustaining Effective Engineering Org...
Binary crosswords
DevOps
Trust Me, I'm An Architect
01 (IDNOG01) Keynote 1 by Barry Greene
5-10-15 years of Java developer career - Warszawa JUG 2015
Hf epam new_presentation
Holistic Product Development
Building a Software Development Team - MaRS Best Practices
Tips to kick-start your Software Engineering Career - Ferdous Mahmud Shaon
Artificial intelligence in voice recognition
Assistive Technology for Employment Support Professionals
Becoming a Salesforce.com Technical Architect
A Study of Innovation by Phil Wheat
Tips to Kick-start your Software Engineering Career
Fredieu shall we have a future
"The Great Technical Swindle" by Laurent Cerveau
Software development management slides by George Berkowski (Hailo)
Smart+Shanghai+2008 09 05
Ad

Similar to How to hire and keep engineers happy public (20)

PPTX
Technical stories v1.2
PDF
Europython how to make it recruiting suck less?
PPTX
Introduction to Agile Hardware
PDF
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
PDF
Four Laws of Tech Product Economics - Rich Mironov
PDF
How to hire frontend engineers
PPTX
Technical Excellence Doesn't Just Happen - AgileIndy 2016
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
PPTX
Software Engineering in Startups
ODP
CTO School Meetup - Jan 2013 Becoming Better Technical Leader
PDF
Startup Engineering culture - "What matters & what does not"
PPTX
Technical debt as asset
PDF
Software Engineering an Introduction
PPTX
Minimum Viable Architecture - Good Enough is Good Enough
PDF
Should the CTO be coding?
PPTX
How Software Developers Destroy Business Value.pptx
PDF
The bigrewrite
PPTX
Evaluating Blockchain Companies
PPTX
Patterns and Antipatterns for Adopting IBM DevOps Tools
PDF
4 roles on the it project team
Technical stories v1.2
Europython how to make it recruiting suck less?
Introduction to Agile Hardware
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Four Laws of Tech Product Economics - Rich Mironov
How to hire frontend engineers
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Software Engineering in Startups
CTO School Meetup - Jan 2013 Becoming Better Technical Leader
Startup Engineering culture - "What matters & what does not"
Technical debt as asset
Software Engineering an Introduction
Minimum Viable Architecture - Good Enough is Good Enough
Should the CTO be coding?
How Software Developers Destroy Business Value.pptx
The bigrewrite
Evaluating Blockchain Companies
Patterns and Antipatterns for Adopting IBM DevOps Tools
4 roles on the it project team
Ad

Recently uploaded (20)

PDF
DOC-20250806-WA0002._20250806_112011_0000.pdf
PDF
MSPs in 10 Words - Created by US MSP Network
PDF
Business model innovation report 2022.pdf
PDF
Types of control:Qualitative vs Quantitative
PDF
Deliverable file - Regulatory guideline analysis.pdf
PPTX
5 Stages of group development guide.pptx
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PDF
Ôn tập tiếng anh trong kinh doanh nâng cao
PPT
340036916-American-Literature-Literary-Period-Overview.ppt
PPT
Chapter four Project-Preparation material
PDF
Laughter Yoga Basic Learning Workshop Manual
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PDF
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
PPTX
Belch_12e_PPT_Ch18_Accessible_university.pptx
PDF
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
PDF
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
DOCX
Business Management - unit 1 and 2
PPTX
Probability Distribution, binomial distribution, poisson distribution
DOCX
unit 1 COST ACCOUNTING AND COST SHEET
PDF
Nidhal Samdaie CV - International Business Consultant
DOC-20250806-WA0002._20250806_112011_0000.pdf
MSPs in 10 Words - Created by US MSP Network
Business model innovation report 2022.pdf
Types of control:Qualitative vs Quantitative
Deliverable file - Regulatory guideline analysis.pdf
5 Stages of group development guide.pptx
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
Ôn tập tiếng anh trong kinh doanh nâng cao
340036916-American-Literature-Literary-Period-Overview.ppt
Chapter four Project-Preparation material
Laughter Yoga Basic Learning Workshop Manual
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
Belch_12e_PPT_Ch18_Accessible_university.pptx
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
Business Management - unit 1 and 2
Probability Distribution, binomial distribution, poisson distribution
unit 1 COST ACCOUNTING AND COST SHEET
Nidhal Samdaie CV - International Business Consultant

How to hire and keep engineers happy public

  • 1. How to hire and keep engineers happy Wharton School of Business, San Francisco March 16th, 2013
  • 2. Why is it so hard to find young and hungry programmers? David "Pardo" Keppel: "There's no shortage of smart hardworking engineers. There's a shortage of smart hardworking engineers willing to work for very little money." • http://tinyurl.com/cc2jgth
  • 3. Corollary • There are smart hardworking engineers willing to work for relatively little money, but you have to make it up in other ways
  • 4. Hiring • Your first few hires are critical • If you’re non-technical, find someone else to do your engineering interview. • Important qualities: – Technically sound – Able to translate requirements into code – Able to transcend the immediate problems to find generalized solutions – Passionate about building tools and automation
  • 5. Find a Technical Co-founder • Case studies: – AirBnB – Intuit – Apple • Learn to Code – It’s easy to learn to code – It’s hard to code well
  • 6. Hiring mistakes 1. Low technical bar “I can’t see myself working at a company where the toughest question is, ‘what’s the difference between a linked list and an array’” --- engineer who turned down a startup 2. No decision making by engineer “A mere matter of programming” “The co-founders go home and talk and announce decisions the next day.” 3. Poor engineering environment “They were too cheap to buy us phones to test our mobile software on.”
  • 7. Reaching out to engineers • Best engineers usually have jobs or aren’t otherwise looking • LinkedIn • StackOverflow • Technical mailing lists
  • 8. Writing Job Descriptions • Don’t make job descriptions sound like they’re written by HR • Big booboos: – Asking for N years of experience in X – Asking for N years of experience in X when X has been around for n < N – Over-emphasis on degrees and technical credentials (especially certifications)
  • 9. What can your startup offer that Google can’t? • Individual mentoring • Chance to own a big piece of code • A chance to move up quickly
  • 10. “Moneyball” as applied to Engineering • In big organizations, big titles correspond to political skill • Better to hire quality engineers who’ve proven themselves poor at politics
  • 11. Things to do • Hire experienced engineers with management experience • Challenge engineers during interview • Be realistic about what an engineer will accept
  • 12. Managing Engineers • Engineers are creative people, give them lots of freedom, right? • Yes and No • Unlike art, in engineering, process matters – Brittle solutions versus resilient solutions – 10X engineers make a huge difference – Context matters
  • 13. Creating Feasible Projects • MBAs, take a programming class! – Learn to program python – Learn to program Excel/Visual Basic • Important to understand – What’s easily done within current technology – What requires developing new technology – What’s not easily done with technology (at all!)
  • 14. Compensation is hard, let’s go shopping • The pay for performance myth • Creativity is decreased by incentives • Best solutions come from intrinsic motivation
  • 15. Engineering is a process • Specifications • Design • Implementation • Testing • User feedback Keeping this cycle as short as possible is important!
  • 16. Recurring Engineering Screwups • Incompetent Engineers – “fail whale” – Low scalability (crashing in under 1000qps) – Trying to solve in software what’s easily done in hardware • Poor management – Incurring technical debt without paying it down – Focus on new features rather than clean code – Failing to spend on adequate hardware – Poor engineering culture
  • 17. Engineering Tools • Used to be able to judge the soundness of a technical team by the tools they used: – Visual Source Safe – incompetent and stupid – RCS/CVS – cheap but barely competent – Perforce – competent and technically smart • Now much harder: – Git is fashionable and free – Plenty of good alternatives
  • 18. Engineering Tools • Code Review Tools: – Essential and worth the investment • Continuous Build/Integration – Roll your own or use something prebuilt • Bug Tracking – History suggests that every company eventually builds their own if they last long enough • If your team does not use/build these tools, you have a problem!
  • 19. Never solve in software what you can do in hardware • High scalability is now easily resolved with modern hardware – Apply SSDs to MySQL – High performance machines are cheap • Do back of envelop calculations – Intel X-25M: 8600 IOPS ($300) – Fusion IO: 135,000 IOPS ($3000) – Texas Memory Systems RAM SAN: 400,000 4K Random IOPS ($100,000)
  • 20. Dynamic Languages • Ruby/Rails • Python/Django • Lisp • Erlang • Easy to launch, might prove difficult to scale • Static type checking is a “safety net” most programmers need but refuse to admit to needing
  • 21. Technical Debt • Incurred every time you change a specification • Switch platforms • Add an unplanned feature • Push engineers to “just get it done” Technical debt is like credit card debt: if you only pay the minimum, you’ll never get out from under it, and it depletes capital/engineering effort better spent elsewhere.
  • 22. Buy your engineers good hardware • SSD: $300 • Typical engineering salary: $100,000 ($50/hr) • Each compile saves 30s • 50 compiles/day • ROI: 3 weeks! (Each month saves you an 8 hour day!)
  • 23. Engineering Culture • Develop a culture of excellence • “No assholes” • Promote from within • Culture is: – Who you promote – Who gets the big bonuses – Whether you get recognized for doing the grungy painful work nobody else wants to do
  • 24. Strong Engineering Culture • Counter-intuitively, created by tough interviewing culture • Interviewing considered important, highly valued and respected engineers do not shirk interviewing • High standards->Esprit de corps • Hiring mistakes are quickly corrected • Caterine Fake: “Never stronger than your first few engineers.”
  • 25. Management • Most critical decisions: who gets put into management • Yishan Wong’s Theory: if you don’t promote from within early enough, and you don’t prepare a “deep bench” internally, you are doomed to always hire managers from outside.
  • 26. Compensation • Informal compensation – Praise/recognition – Comp time – Better hardware – Work from home privileges • Formal compensation – Stock – Salary – Bonus
  • 27. Compensation • Praise/Recognition by far most under-utilized! – Engineers/Engineering managers don’t like to “stroke” people • Do not conflate hardware requirements with perks! • Important to recognize: different people have different requirements
  • 28. Engineering Ladder • Considered HARMFUL! Avoid for as long as possible. (Most startups only introduce this at 100 engineers. Google waited until well past Dunbar’s number—300 engineers before introducing engineering ladder) • Once you have one, you have to think hard about how you promote and who you promote. Most engineering ladder job descriptions are laughable.
  • 29. Managing by Objectives • Intel process: employees set goals, then grade themselves. Adopted by Google and several other technology firms. • Engineering leaders/managers should guide objective setting. Grading should be done by engineering managers in conjunction with engineers. • Don’t go crazy with objectives. Most important consideration: “Feedback should be constant. If you’re surprised by your annual performance review, then your manager screwed up!”
  • 30. Summary • Think of your organization (especially engineering) as a product • Your customers are the engineers • Consider what sort of problems you need to solve and build your product accordingly)