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

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

4b0d41741f2ffec347794d31f02daa56?s=47 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.

4b0d41741f2ffec347794d31f02daa56?s=128

MarcL

September 11, 2018
Tweet

Transcript

  1. THE IT CREWE SEPTEMBER 2018

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

    SEPTEMBER 2018
  3. MARC LITTLEMORE SOFTWARE ENGINEERING TEAM LEAD BBC ACCOUNT BBC AUDIENCE

    PLATFORM LONDON & MANCHESTER
  4. MARC LITTLEMORE SOFTWARE ENGINEERING TEAM LEAD @marclittlemore github.com/marcl linkedin.com/in/ marclittlemore

    www.marclittlemore.com
  5. WHAT DO WE DO? BBC account

  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. “GATEWAY TO PERSONALISATION”

  15. None
  16. THE PUBLIC LOVE IT BBC account

  17. None
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. THE TEAM CARES

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

  26. None
  27. “THE VOTE IS NOW OPEN”

  28. STRICTLY SCALE

  29. None
  30. WE BUILD A CULTURE OF ENGINEERING EXCELLENCE

  31. WHAT DO WE USE? TECH STACK

  32. PROFILE OAUTH/OPENID CONNECT APIS ACCOUNT SESSION OTHER BBC APIS HTTPS

    USERS FORGE ROCK ACCOUNT FRONTEND IDCTA
  33. None
  34. None
  35. HOW DO WE WRITE MAINTAINABLE CODE?

  36. None
  37. NOT JUST ABOUT WRITING CODE

  38. CODING STANDARDS & CONSISTENCY

  39. None
  40. LINTING & FORMATTING

  41. THERE ARE NO BUGS IF WE WRITE LESS CODE

  42. WRITING SOFTWARE IS NOT JUST THE CODE

  43. None
  44. STOP! COLLABORATE & LISTEN!

  45. WRITING SOFTWARE IS ALL ABOUT COMMUNICATION

  46. PAIR PROGRAMMING

  47. None
  48. PULL REQUESTS & CODE REVIEWS

  49. None
  50. PR : WHAT NOT TO DO

  51. ADD DETAIL

  52. LET’S TALK ABOUT IT

  53. DOCUMENTATION

  54. None
  55. ARCHITECTURE DECISION RECORDS

  56. IMPORTANT CODE DECISION

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

  58. None
  59. http://bit.ly/github-adr

  60. TEST DRIVEN DEVELOPMENT

  61. TESTS, TESTS, TESTS EVERYWHERE

  62. CONTINUOUS INTEGRATION

  63. AUTOMATE EVERYTHING

  64. None
  65. ALWAYS LEAVE THE CAMPSITE CLEANER THAN YOU FOUND IT

  66. ANY NEW CODE IS POTENTIAL TECHNICAL DEBT

  67. ENGINEERING EXCELLENCE •  CONSISTENCY & STANDARDS •  LESS CODE ==

    LESS BUGS •  COMMUNICATION •  DOCUMENTATION •  TESTING •  REDUCE TECHNICAL DEBT
  68. KNOWLEDGE SHARING IS KIND OF A BIG DEAL

  69. QUESTIONS? @marclittlemore