Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
simplifying development at guardian.co.uk       Graham Tackley - @tackers        architect, guardian.co.uk
Background Decision  ImpactOutcomes
Background  Decision   Impact Outcomes
Background  Decision   Impact Outcomes
Background  Decision   Impact Outcomes
Background  Decision   Impact Outcomes
Background  Decision   Impact Outcomes
Background  Decision   Impact Outcomes
Background2006-2008: “R2”                    Decision                     Impact                   Outcomes
Background                                                       Decision                                                 ...
Background                                                       Decision                                                 ...
Background                                                       Decision                                                 ...
Background                                                       Decision                                                 ...
Background                    Decision                     Impact                   Outcomesit’s ok, but...
Background2009         Decision          Impact        Outcomes
Background  Decision   Impact Outcomes
Background  Decision   Impact Outcomes
Background                                       Decision                                        Impact                   ...
Background  Decision   Impact Outcomes
Background  Decision   Impact Outcomes
Background                                      Decision                                       Impact                     ...
Background                    Decision                     Impact                   Outcomesit’s ok, but...
Background                                        Decision                                         Impact                 ...
BackgroundDecision  ImpactOutcomes
BackgroundDecision  ImpactOutcomes
BackgroundDecision  ImpactOutcomes
BackgroundDecision  ImpactOutcomes
Background                                                         Decisionsame infrastructure: toolset,                  ...
Background                         Decision                           Impact                         Outcomeshuge drop in ...
Background                      Decision                        Impact                      Outcomes     lueWe va         ...
Background                                          Decision                                            Impact            ...
BackgroundDecision  ImpactOutcomes
Background                                                     Decision                                                   ...
Background                                                     Decision                                                   ...
Background                           Decision                             Impact                           Outcomes2009   ...
Background                           Decision                             Impact                           Outcomes2009   ...
Background                                                  Decision                                                    Im...
Background                                                  Decision                                                    Im...
Background                                                  Decision                                                    Im...
Background                                           Decision                                             Impact          ...
Background                                           Decision                                             Impact          ...
Background                                       Decision                                         Impact                  ...
Background Decision ImpactOutcomes
Background Decision ImpactOutcomes
Background                                    Decision                                    ImpactThe roll-it-out-to-everyon...
Background                                    Decision                                    ImpactThe roll-it-out-to-everyon...
Background                     Decision                     Impact                    OutcomesHow did we learn?
Background                     Decision                     Impact                    OutcomesHow did we learn?
Background                     Decision                     Impact                    OutcomesHow did we learn?
Background                     Decision                     Impact                    OutcomesHow did we learn?
Background                     Decision                     Impact                    OutcomesHow did we learn?
Background                     Decision                     Impact                    OutcomesHow did we learn?
Background Decision ImpactOutcomes
Background                                    Decision                                    Impact                          ...
Background                            Decision                            Impact                           OutcomesComplex...
Background Decision ImpactOutcomes
Background                         Decision                         Impact                        Outcomes     lueWe va   ...
Background Decision  ImpactOutcomes
Background Decision  ImpactOutcomes
Background Decision  ImpactOutcomes
Background                                                             Decision                                           ...
Background Decision  ImpactOutcomes
Background                                                   Decision                                                    I...
Background Decision  ImpactOutcomes
Background Decision  ImpactOutcomes
Background Decision  ImpactOutcomes
Background Decision  ImpactOutcomes
Background                                                Decision                                                 Impact ...
Background                                                                             Decision                           ...
Background                                                                             Decision                           ...
graham.tackley@guardian.co.uk                 @tackersWe’re hiring: http://bit.ly/guardian-dev-jobs
Upcoming SlideShare
Loading in …5
×

Scala: simplifying development at guardian.co.uk

  • Login to see the comments

Scala: simplifying development at guardian.co.uk

  1. 1. simplifying development at guardian.co.uk Graham Tackley - @tackers architect, guardian.co.uk
  2. 2. Background Decision ImpactOutcomes
  3. 3. Background Decision Impact Outcomes
  4. 4. Background Decision Impact Outcomes
  5. 5. Background Decision Impact Outcomes
  6. 6. Background Decision Impact Outcomes
  7. 7. Background Decision Impact Outcomes
  8. 8. Background Decision Impact Outcomes
  9. 9. Background2006-2008: “R2” Decision Impact Outcomes
  10. 10. Background Decision Impact Outcomesmain java (185k) main xml (35k) velocity (72k) test java (248k) 0 75,000 150,000 225,000 300,000
  11. 11. Background Decision Impact Outcomesmain java (185k) main xml (35k) velocity (72k) test java (248k) 0 75,000 150,000 225,000 300,000
  12. 12. Background Decision Impact Outcomesmain java (185k) main xml (35k) velocity (72k) test java (248k) 0 75,000 150,000 225,000 300,000
  13. 13. Background Decision Impact Outcomesmain java (185k) main xml (35k) velocity (72k) test java (248k) 0 75,000 150,000 225,000 300,000
  14. 14. Background Decision Impact Outcomesit’s ok, but...
  15. 15. Background2009 Decision Impact Outcomes
  16. 16. Background Decision Impact Outcomes
  17. 17. Background Decision Impact Outcomes
  18. 18. Background Decision Impact Outcomes lueWe va Small Independent Components over The Monolith
  19. 19. Background Decision Impact Outcomes
  20. 20. Background Decision Impact Outcomes
  21. 21. Background Decision Impact Outcomes lueWe va Clarity of Intent over Ceremonial Abstraction
  22. 22. Background Decision Impact Outcomesit’s ok, but...
  23. 23. Background Decision Impact Outcomes lueWe va Architectural Evolution over Architectural Revolution
  24. 24. BackgroundDecision ImpactOutcomes
  25. 25. BackgroundDecision ImpactOutcomes
  26. 26. BackgroundDecision ImpactOutcomes
  27. 27. BackgroundDecision ImpactOutcomes
  28. 28. Background Decisionsame infrastructure: toolset, Impact Outcomes libraries, build, runtime it’s just bytecode; a war is a war mixed scala & java projects work huge drop in verbosity and boilerplate
  29. 29. Background Decision Impact Outcomeshuge drop in verbosity and boilerplate
  30. 30. Background Decision Impact Outcomes lueWe va Craft over Patterns
  31. 31. Background Decision Impact Outcomeshttp://www.guardian.co.uk/open-platform http://content.guardianapis.com
  32. 32. BackgroundDecision ImpactOutcomes
  33. 33. Background Decision Impact Outcomes2009 2010 2011 Nov java + guice + guice servlets + apache solr
  34. 34. Background Decision Impact Outcomes2009 2010 2011 Jan java + guice + guice servlets + apache solr
  35. 35. Background Decision Impact Outcomes2009 2010 2011 Jan
  36. 36. Background Decision Impact Outcomes2009 2010 2011 Jan
  37. 37. Background Decision Impact Outcomes2009 2010 2011 Feb scala + guice + guice servlets + apache solr
  38. 38. Background Decision Impact Outcomes Live!2009 2010 2011 May scala + guice + guice servlets + apache solr
  39. 39. Background Decision Impact Outcomes2009 2010 2011 July scala + guice + guice servlets + apache solr
  40. 40. Background Decision Impact Outcomes2009 2010 2011 July scala + lift + apache solr
  41. 41. Background Decision Impact Outcomes2009 2010 2011 July scala + lift + apache solr
  42. 42. Background Decision Impact Outcomes2009 2010 2011 Now scala + lift + apache solr
  43. 43. Background Decision ImpactOutcomes
  44. 44. Background Decision ImpactOutcomes
  45. 45. Background Decision ImpactThe roll-it-out-to-everyone plan Outcomes
  46. 46. Background Decision ImpactThe roll-it-out-to-everyone plan Outcomes
  47. 47. Background Decision Impact OutcomesHow did we learn?
  48. 48. Background Decision Impact OutcomesHow did we learn?
  49. 49. Background Decision Impact OutcomesHow did we learn?
  50. 50. Background Decision Impact OutcomesHow did we learn?
  51. 51. Background Decision Impact OutcomesHow did we learn?
  52. 52. Background Decision Impact OutcomesHow did we learn?
  53. 53. Background Decision ImpactOutcomes
  54. 54. Background Decision Impact Outcomes lueWe va Passionate Developers over Turning the Crank
  55. 55. Background Decision Impact OutcomesComplexity vs Simplicity
  56. 56. Background Decision ImpactOutcomes
  57. 57. Background Decision Impact Outcomes lueWe va Clarity over Cleverness
  58. 58. Background Decision ImpactOutcomes
  59. 59. Background Decision ImpactOutcomes
  60. 60. Background Decision ImpactOutcomes
  61. 61. Background Decision Impact Outcomes preference for immutability scala console encourages viewing code as a living entityawesome test frameworks reduced need for complex frameworks
  62. 62. Background Decision ImpactOutcomes
  63. 63. Background Decision Impact Outcomes love-hate relationship with sbt tool support immature compared with javacompiler is slow rate of change
  64. 64. Background Decision ImpactOutcomes
  65. 65. Background Decision ImpactOutcomes
  66. 66. Background Decision ImpactOutcomes
  67. 67. Background Decision ImpactOutcomes
  68. 68. Background Decision Impact Outcomeshttps://github.com/guardian/frontend-article
  69. 69. Background Decision Impact Outcomes ClariSmall Independent Components ty of Int ent over Cerem over onial The Monolith Abstr actio n Craft Clar ity over Passionate Developers over Clev over Patterns erne ss Turning the Crank Architectu ral Evoluti on over Architectu ral Revolu tion
  70. 70. Background Decision Impact Outcomes ClariSmall Independent Components ty of Int ent over Cerem over onial The Monolith Abstr actio n Craft Clar ity over Passionate Developers over Clev over Patterns erne ss Turning the Crank Architectu ral Evoluti on over Architectu ral Revolu tion
  71. 71. graham.tackley@guardian.co.uk @tackersWe’re hiring: http://bit.ly/guardian-dev-jobs

×