Slide 1

Slide 1 text

THE IT CREWE SEPTEMBER 2018

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

WHAT DO WE DO? BBC account

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

“GATEWAY TO PERSONALISATION”

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

THE PUBLIC LOVE IT BBC account

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

THE TEAM CARES

Slide 25

Slide 25 text

HOW DO WE ENSURE CODE QUALITY AT STRICTLY SCALE?

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

“THE VOTE IS NOW OPEN”

Slide 28

Slide 28 text

STRICTLY SCALE

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

WE BUILD A CULTURE OF ENGINEERING EXCELLENCE

Slide 31

Slide 31 text

WHAT DO WE USE? TECH STACK

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

HOW DO WE WRITE MAINTAINABLE CODE?

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

NOT JUST ABOUT WRITING CODE

Slide 38

Slide 38 text

CODING STANDARDS & CONSISTENCY

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

LINTING & FORMATTING

Slide 41

Slide 41 text

THERE ARE NO BUGS IF WE WRITE LESS CODE

Slide 42

Slide 42 text

WRITING SOFTWARE IS NOT JUST THE CODE

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

STOP! COLLABORATE & LISTEN!

Slide 45

Slide 45 text

WRITING SOFTWARE IS ALL ABOUT COMMUNICATION

Slide 46

Slide 46 text

PAIR PROGRAMMING

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

PULL REQUESTS & CODE REVIEWS

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

PR : WHAT NOT TO DO

Slide 51

Slide 51 text

ADD DETAIL

Slide 52

Slide 52 text

LET’S TALK ABOUT IT

Slide 53

Slide 53 text

DOCUMENTATION

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

ARCHITECTURE DECISION RECORDS

Slide 56

Slide 56 text

IMPORTANT CODE DECISION

Slide 57

Slide 57 text

OOH! A NEW JS FRAMEWORK! IMPORTANT CODE DECISION

Slide 58

Slide 58 text

No content

Slide 59

Slide 59 text

http://bit.ly/github-adr

Slide 60

Slide 60 text

TEST DRIVEN DEVELOPMENT

Slide 61

Slide 61 text

TESTS, TESTS, TESTS EVERYWHERE

Slide 62

Slide 62 text

CONTINUOUS INTEGRATION

Slide 63

Slide 63 text

AUTOMATE EVERYTHING

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

ALWAYS LEAVE THE CAMPSITE CLEANER THAN YOU FOUND IT

Slide 66

Slide 66 text

ANY NEW CODE IS POTENTIAL TECHNICAL DEBT

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

KNOWLEDGE SHARING IS KIND OF A BIG DEAL

Slide 69

Slide 69 text

QUESTIONS? @marclittlemore