Upgrade to Pro — share decks privately, control downloads, hide ads and more …

You Don't Need More Developers

You Don't Need More Developers

Every company is struggling to hire developers. There are simply not enough to fill all the available positions. But are we looking at it from the wrong angle? Are we solving the correct problem? In this keynote, I will show you how you can significantly reduce the need to hire new developers. Through training and mentoring, you can get much more done at a fraction of the cost and without the hassle.

Anna Filina

August 21, 2021
Tweet

More Decks by Anna Filina

Other Decks in Programming

Transcript

  1. "We need to hire more developers, but we can't find

    any!" You generally don't need more devs. Let's find the underlying problem to the shortage and solve it.
  2. Anna Filina • Coding since 1997 • PHP since 2003

    • Legacy archaeology • Test automation • Public speaking • Mentorship • YouTube videos
  3. Why do we need more developers? We struggle to keep

    up with all the work. Why? Because things take a long time to do. Why? Umm… Ask "why" like a kid until you get the root causes.
  4. Because we have a heavy development process Because we need

    to wait for the testers to catch up Because most tasks can't be delegated to the junior devs Because this code is hard to debug.
  5. Code is Hard to Debug You can spend the majority

    of your time debugging. It usually takes more time to debug the code than to write it.
  6. "Every hour spent on defect prevention will reduce repair time

    by 3-10 hours." - Jones, Capers. Assessment and control of software risks.
  7. 5 x 3 = 15 15 – 5 = 10

    1 hour each day x 3 hours saved on debugging – initial investment
  8. 5 x 3 = 15 15 – 5 = 10

    5 x 10 = 50 50 – 5 = 45 Same, but with 10 hours saved per invested hour. Equivalent of doubling the team size.
  9. • Easy to reason about • Testable and tested •

    Easy to modify If you need to modify 10 classes to add a tiny feature, then you're potentially introducing more defects.
  10. PHP Community Summit: R$100 You can afford to send every

    single developer every year, and then some.
  11. I don't remember what that feature was all about, since

    I did so many things in that time.
  12. Long feedback loop. Even if it's not three months, manual

    testing takes long enough for you to switch contexts and kill productivity.
  13. Wait for Testers to Catch Up Can't Delegate to Juniors

    The whole notion of delegating work to junior developers is misguided.
  14. 1 2 3 Task 1 is easiest. Task 3 is

    hardest. We tend to delegate easy stuff to juniors.
  15. 1 2 3 We then let them work alone, in

    the hopes that somehow, they will acquire new knowledge over time.
  16. 1 2 3 Hoping that they'll be able to suddenly

    work on harder tasks is inefficient, and doesn't guarantee best practices.
  17. ✗ ✗ Senior devs will retire, start their own companies,

    or move to other roles. More pressure on remaining senior devs.
  18. Scenario: User can subscribe with a credit card Given I

    selected a subscription level When I enter valid credit card details Then I should see a payment receipt Business people can understand the requirement at a glance. There's no chance at ambiguity. It's always up-to-date.
  19. A few people talk, the rest listen to things that

    don't concern them. Invite as few people as possible. Take notes and share if needed.
  20. No-meeting day No-meeting morning No-meeting morning You can also ensure

    that devs have several consecutive hours to focus on other days.
  21. "Capable of dealing with competing priorities." Biggest warning sign in

    job descriptions. Translation: we're always on fire.
  22. Company won't give this person direct access, forcing them into

    a very inefficient, soul-crushing process.
  23. • Configure Xdebug • Use an IDE • Give people

    access * xdebug.cloud for an even easier setup.
  24. You don't necessarily need more developers. You may just need

    to make them better at their job and avoid wasting their time. Start by making the most out of the devs you already have.