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

[IPC spring 2018] How to train your minions

[IPC spring 2018] How to train your minions

Ever wondered what the fast track to being a full-stack developer is? It's true we learn best by delivering, but what how should we structure our learning approach to maximise results?

In this talk I'll share my method of bringing juniors up to speed in order to work on large, critical, customer-facing projects. It's been verified on tens of developers over the last 7 years, and refined by personal input from each and every one of them.

Georgiana Gligor

June 05, 2018
Tweet

More Decks by Georgiana Gligor

Other Decks in Technology

Transcript

  1. HOW TO TRAIN YOUR MINIONS
    Georgiana Gligor
    @gbtekkie
    A battle-tested method of producing senior engineers

    View Slide

  2. !2
    ๏ Geek. Mother. Do-er.
    ๏ Crafting enterprise apps
    ๏ Large-Scale Application Architect
    ๏ RomaniaPHP Conference Organiser
    ๏ Systems Engineering PhD Student
    Georgiana Gligor
    @gbtekkie
    [email protected]

    View Slide

  3. View Slide

  4. don’t kill that spirit

    View Slide

  5. ‹#›
    DREYFUS MODEL OF SKILL ACQUISITION

    View Slide

  6. ‹#›
    CODE KATA
    http://codekata.com/

    View Slide

  7. ‹#›

    View Slide

  8. ‹#›

    View Slide

  9. ‹#›

    View Slide

  10. ‹#›
    2nd month
    1st month 3rd month

    View Slide

  11. View Slide

  12. ‹#›
    FIRST MONTH

    View Slide

  13. ‹#›
    GOAL
    Understand the environment in which PHP
    applications are deployed and be aware of
    specific constraints under which we operate.

    View Slide

  14. ‹#›
    ๏ pick an easy data crawl + basic data display project
    ๏ implement it traditionally (one PHP file per
    business need)
    ๏ it must be live at the end of the month
    METHOD

    View Slide

  15. ‹#›
    external

    data source
    persistance
    basic

    frontend
    crawler

    View Slide

  16. ‹#›
    ๏ cURL for crawling data
    ๏ forbid using a database - learn the power of the filesystem
    ๏ no frameworks
    ๏ no version control at this point
    CONSTRAINTS

    View Slide

  17. ‹#›

    View Slide

  18. ‹#›

    View Slide

  19. ‹#›
    ๏ google + stackoverflow
    FOCUS
    ๏ WAMP
    ๏ click
    ๏ database-centric thinking
    embrace the PHP manual
    Linux
    command-line
    requirements-oriented mindset
    }

    View Slide

  20. ‹#›
    NON-TECHNICAL
    SKILLS

    View Slide

  21. View Slide

  22. View Slide

  23. ‹#›
    SECOND MONTH

    View Slide

  24. ‹#›
    GOAL
    Start learning OOP.
    Learn MVC.
    Automated deployments.

    View Slide

  25. ‹#›
    ๏ keep the easy data crawl + basic data display project
    ๏ remove all the code we produced in the first month!
    ๏ pick an easy, well-documented MVC framework
    METHOD

    View Slide

  26. ‹#›
    ๏ raw PHP methods
    FOCUS
    ๏ learn from tutorials
    ๏ bash commands
    learn to integrate libraries
    use the framework documentation
    simple deploy pipeline
    read 3rd party libraries source
    }

    View Slide

  27. ‹#›
    NON-TECHNICAL
    SKILLS

    View Slide

  28. View Slide

  29. View Slide

  30. ‹#›
    THIRD MONTH

    View Slide

  31. ‹#›
    GOAL
    Learn an enterprise-level framework.
    Start using BDD.
    Deep dive into TDD.

    View Slide

  32. ‹#›
    ๏ keep the easy data crawl + basic data display project
    ๏ pick an enterprise framework
    ๏ allow database usage
    METHOD

    View Slide

  33. ‹#›

    View Slide

  34. ‹#›

    View Slide

  35. ‹#›
    ๏ ad-hoc requirements
    FOCUS
    ๏ manual testing
    ๏ code specification
    customer-driven requirements
    automated validation
    independent thinking
    }

    View Slide

  36. ‹#›
    NON-TECHNICAL
    SKILLS

    View Slide

  37. View Slide

  38. THANK YOU
    Georgiana Gligor / @gbtekkie
    Affordable quality system architecture. In-house PHP trainings.

    View Slide