Found: Happy Software Engineer

Found: Happy Software Engineer

Behind every successful technology company lies an engine powering its most ambitious goals — the technology team. Great technology doesn't necessarily mean a business will succeed, but a healthy engineering organization will very likely make the entrepreneurship path less bumpy. This talk is for teams of all sizes and ages, and it will go into the basics and specifics of building a healthy engineering team. We will cover recruiting, selection, compensation, on-boarding, motivation, management, and more during this hour-long session. You'll learn how to find software engineers, and how to make and keep them happy.

D7f0df31a2e02ffbb0e6a77b8099035c?s=128

Juan Pablo Buriticá

April 09, 2015
Tweet

Transcript

  1. FOUND HAPPY SOFTWARE ENGINEER Juan Pablo Buriticá VP of Engineering

    - ride.com @buritica
  2. Building Great Technology Organizations

  3. BUILDING GREAT TECHNOLOGY ORGANIZATIONS A great technology organization delivers business

    value through technological implementations
  4. RECRUITING: WHAT DO I NEED?

  5. RECRUITING - WHAT DO I NEED? • What is the

    role of the team? • What am I building? • a technology product/service company • a tech enabled product or service • a technology consulting company • Do I need/want a local or a remote team?
  6. RECRUITING: WHERE DO I FIND TALENT?

  7. If you don’t have enough technical knowledge to make technical

    decisions…
  8. …HIRE SOMEONE WHO DOES!!!

  9. If you do have enough knowledge…

  10. RECRUITING - WHERE DO I FIND TALENT? • referrals, first

    and foremost • local user groups, meetups and conferences • online communities • Github • twitter • irc • google groups • stack overflow
  11. JOB POSTINGS SUCK…

  12. … recruiting needs direct contact as early as possible

  13. RECRUITING: HOW DO I ATTRACT TALENT?

  14. Are you building a new company?

  15. …it comes down to vision, compensation and opportunity.

  16. If you have a good track record you have a

    head start.
  17. If you don’t…

  18. …it comes down to vision, compensation and opportunity.

  19. You just have to do 10x the work

  20. RECRUITING: HOW DO I SELECT TALENT?

  21. Have an objective, repeatable interviewing process that is empathetic.

  22. Focus on candidate experience

  23. Build a pipeline. Standardize and formalize

  24. RECRUITING - HOW DO I SELECT TALENT? • Define what

    you looking for: • tech skills • soft skills • experience
  25. HOW WILL YOU MEASURE TECH SKILLS?

  26. RECRUITING - HOW DO I SELECT TALENT? • respect the

    craft • don't look for a brown house carpenter • recreate realistic environments • be fair
  27. HOW WILL YOU MEASURE SOFT SKILLS?

  28. RECRUITING - HOW DO I SELECT TALENT? • measure indirectly

    • learn to recognize patterns • don't be judgmental • be empathetic
  29. HOW WILL YOU MEASURE EXPERIENCE?

  30. RECRUITING - HOW DO I SELECT TALENT? • What does

    experience mean to you? • Define based on needs and offerings: • junior / entry level • mid level • senior level **
  31. COMPENSATION: HOW DO I EVEN?

  32. It’s not all about the $$$…

  33. …but it starts with it.

  34. GO BEYOND MASLOW’S HIERARCHY OF NEEDS

  35. None
  36. salary, options, bonuses

  37. COMPENSATION: PERSONAL FACTORS

  38. Is the team already great?

  39. Are there great leaders?

  40. Will there be learning opportunities?

  41. COMPENSATION - PERSONAL FACTORS • continued education • training sessions

    • attend events • speak at events • study groups • personal growth in non tech areas • business knowledge • sales, support, leadership
  42. Is there good career management?

  43. What is the level of impact?

  44. What are the kind of responsibilities?

  45. Is the company a good fit?

  46. COMPENSATION: OTHER FACTORS

  47. • business opportunities • network growth • exposure • financial

    benefits • industry expertise and knowledge • lifestyle • work / life balance • non monetary benefits COMPENSATION - OTHER FACTORS
  48. COMPENSATION: WHAT SHOULD I OFFER?

  49. IT’S NOT ABOUT YOU…

  50. …IT’S ABOUT THE CANDIDATE

  51. Aim for balance.

  52. Have packages to choose from.

  53. Don’t be afraid to negotiate…

  54. …but be aware of social disadvantages and unconscious biases and

    privilege…
  55. …if you want a diverse and balanced team.

  56. You do want the best team possible, right?

  57. Be transparent.

  58. And remember, if you want THE BEST…

  59. … you better pay like it.

  60. ENG MANAGEMENT: THE EASY PART

  61. 404 NOT FOUND

  62. ENG MANAGEMENT: THE EASY PART

  63. ONBOARDING

  64. • What is the most important information in order to

    help them succeed? • Use living documents, empathize and iterate. • Define metrics for success • Everyone should be involved • Ask your candidates to document as they navigate on-boarding for improvement ENG MANAGEMENT - THE NOT SO EASY PART
  65. LEADERSHIP

  66. Your role is to help people succeed in delivering value…

  67. …not to tell them what to do

  68. None
  69. Define a framework for decision making.

  70. Be transparent, even when you can't be.

  71. DON’T MICROMANAGE*

  72. ENG MANAGEMENT: HOW DO I MOTIVATE?

  73. …it comes down to vision, compensation, opportunity…

  74. … environment, well-being and personal achievements.

  75. ENG MANAGEMENT: HOW DO I RETAIN?

  76. Ibid.

  77. ENG MANAGEMENT: THE HARD PART

  78. How do I deal with performance issues?

  79. • Could this be your fault? • Start with an

    open conversation. • Be clear about what’s not working out. • Have clear objectives for improvement. • Don’t threaten • Follow up constantly • *Increase micro-management in steps • Be human. ENG MANAGEMENT - PERFORMANCE ISSUES
  80. How do I deal with personal issues?

  81. • Build trust and be trustworthy • Take privacy seriously

    • Trust • Be understanding and supportive • Empathy is key • Let the information flow, don’t add pressure • Be human ENG MANAGEMENT - PERFORMANCE ISSUES
  82. How do I deal with team conflicts?

  83. • Prevent them by establishing spaces for discussion and being

    clear about decision process • Promote healthy, respectful discussions, passionate people are bound to argue • Do not pick sides • No written mediums • Let people know when they should take some time away to collect their thoughts ENG MANAGEMENT - TEAM CONFLICTS
  84. How do I deal with team mistakes or failures?

  85. Be aware of the Fundamental Attribution Error http://en.wikipedia.org/wiki/Fundamental_attribution_error

  86. ..focus on the environment which caused the failure.

  87. • blameless postmortems • what actions they took at what

    time, • what effects they observed, • expectations they had, • assumptions they had made, • and their understanding of timeline of events as they occurred. • without fear of punishment or retribution. ENG MANAGEMENT - TEAM FAILURES https://codeascraft.com/2012/05/22/blameless-postmortems/
  88. How do I deal with an individual’s mistakes or failures?

  89. • Bring them up in the correct environment • Do

    not punish • Help them learn from them • Don't use consequences as a punishment • Higher risks mean increasing chances for failure, keep that in mind ENG MANAGEMENT - INDIVIDUAL’S MISTAKES
  90. How do I deal with my mistakes or failures?

  91. • If someone brings up an issue don’t ignore it

    • Don't respond immediately, take time to think about it • Don't use non-apologies, apologize sincerely • Be open with it, learn from it, write it down, go back to your notes ENG MANAGEMENT - MY MISTAKES
  92. Emergency Management

  93. GET OUT OF THE WAY!

  94. GET OTHER PEOPLE OUT OF THE WAY!

  95. TAKE CONTROL OF EXTERNAL FACTORS

  96. BE USEFUL OR GTFO

  97. ENG MANAGEMENT: THE WORST PART

  98. When do I let someone go?

  99. • Follow your instincts • Your job is to help

    people succeed, if someone is not succeeding it may be your fault • Even if it is your responsibility, it may be not be the right environment or opportunity for them. • If it is performance based, make sure you did everything you could. ENG MANAGEMENT - LETTING GO
  100. How do I let someone go?

  101. • Be direct and clear about the reasons • Be

    ready for emotions, no one likes to get fired • Make sure they are not taken by surprise, if they are, you were not clear enough in performance reviews • Be human ENG MANAGEMENT - LETTING GO
  102. ENG MANAGEMENT: FINAL THOUGHTS

  103. Management is not a promotion…

  104. …it’s a career change. http://fractio.nl/2014/09/19/not-a-promotion-a-career-change/

  105. Approach it the same way as you did programming…

  106. …read, learn, write, test, teach.

  107. People expect you to have the answer, even when you

    don’t.
  108. It’s ok to say I don’t know.

  109. Software is about people.

  110. Great people in great teams with great leadership build great

    software.
  111. Go build, come back and teach us.

  112. THE END Juan Pablo Buriticá VP of Engineering - ride.com

    @buritica