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

BBC account : Engineering Excellence at Strictly Scale (Longer version)

MarcL
September 11, 2018

BBC account : Engineering Excellence at Strictly Scale (Longer version)

A longer version of the talk I gave on building a culture of "Engineering Excellence" in the BBC account team. Learn how we built a culture of engineering best practices to build the BBC's new account sign-in system at a scale with supports the voting on Strictly Come Dancing.

MarcL

September 11, 2018
Tweet

More Decks by MarcL

Other Decks in Technology

Transcript

  1. THE IT CREWE
    SEPTEMBER 2018

    View full-size slide

  2. BBC ACCOUNT
    ENGINEERING EXCELLENCE
    AT STRICTLY SCALE
    THE IT CREWE
    SEPTEMBER 2018

    View full-size slide

  3. MARC
    LITTLEMORE
    SOFTWARE ENGINEERING
    TEAM LEAD
    BBC ACCOUNT
    BBC AUDIENCE PLATFORM
    LONDON & MANCHESTER

    View full-size slide

  4. MARC
    LITTLEMORE
    SOFTWARE ENGINEERING TEAM
    LEAD
    @marclittlemore
    github.com/marcl
    linkedin.com/in/
    marclittlemore
    www.marclittlemore.com

    View full-size slide

  5. WHAT DO WE DO?
    BBC account

    View full-size slide

  6. “GATEWAY TO
    PERSONALISATION”

    View full-size slide

  7. THE PUBLIC LOVE IT
    BBC account

    View full-size slide

  8. THE TEAM CARES

    View full-size slide

  9. HOW DO WE ENSURE
    CODE QUALITY AT
    STRICTLY SCALE?

    View full-size slide

  10. “THE VOTE IS NOW OPEN”

    View full-size slide

  11. STRICTLY SCALE

    View full-size slide

  12. WE BUILD A CULTURE OF
    ENGINEERING
    EXCELLENCE

    View full-size slide

  13. WHAT DO WE USE?
    TECH STACK

    View full-size slide

  14. PROFILE
    OAUTH/OPENID CONNECT
    APIS
    ACCOUNT SESSION
    OTHER BBC APIS
    HTTPS
    USERS
    FORGE
    ROCK
    ACCOUNT FRONTEND
    IDCTA

    View full-size slide

  15. HOW DO WE WRITE
    MAINTAINABLE
    CODE?

    View full-size slide

  16. NOT JUST ABOUT
    WRITING
    CODE

    View full-size slide

  17. CODING
    STANDARDS &
    CONSISTENCY

    View full-size slide

  18. LINTING & FORMATTING

    View full-size slide

  19. THERE ARE NO BUGS
    IF WE WRITE LESS CODE

    View full-size slide

  20. WRITING SOFTWARE IS
    NOT JUST
    THE CODE

    View full-size slide

  21. STOP!
    COLLABORATE
    &
    LISTEN!

    View full-size slide

  22. WRITING SOFTWARE IS
    ALL ABOUT
    COMMUNICATION

    View full-size slide

  23. PAIR PROGRAMMING

    View full-size slide

  24. PULL REQUESTS
    &
    CODE REVIEWS

    View full-size slide

  25. PR : WHAT NOT TO DO

    View full-size slide

  26. LET’S TALK ABOUT IT

    View full-size slide

  27. DOCUMENTATION

    View full-size slide

  28. ARCHITECTURE
    DECISION RECORDS

    View full-size slide

  29. IMPORTANT
    CODE
    DECISION

    View full-size slide

  30. OOH! A NEW JS FRAMEWORK!
    IMPORTANT
    CODE
    DECISION

    View full-size slide

  31. http://bit.ly/github-adr

    View full-size slide

  32. TEST DRIVEN
    DEVELOPMENT

    View full-size slide

  33. TESTS, TESTS,
    TESTS EVERYWHERE

    View full-size slide

  34. CONTINUOUS
    INTEGRATION

    View full-size slide

  35. AUTOMATE EVERYTHING

    View full-size slide

  36. ALWAYS LEAVE THE
    CAMPSITE CLEANER
    THAN YOU FOUND IT

    View full-size slide

  37. ANY NEW CODE IS
    POTENTIAL
    TECHNICAL
    DEBT

    View full-size slide

  38. ENGINEERING EXCELLENCE
    •  CONSISTENCY & STANDARDS
    •  LESS CODE == LESS BUGS
    •  COMMUNICATION
    •  DOCUMENTATION
    •  TESTING
    •  REDUCE TECHNICAL DEBT

    View full-size slide

  39. KNOWLEDGE SHARING IS
    KIND OF A BIG DEAL

    View full-size slide

  40. QUESTIONS?
    @marclittlemore

    View full-size slide