~/talk

Rewriting Code And Culture

slides:none on file

Songkick rewrites a growing Rails monolith into a set of HTTP services and independent front-end pages, starting with the highest-value event page and deploying page-by-page on master so users always see working releases. The team replaces controller logic with page and component classes, keeps only a few end-to-end checks, and trims the test suite so the Rails test run is build time under a minute (integration suite ~5 minutes). The rewrite finishes (Feb 2012), velocity and releases per month increased.

AI-written summary · about

  1. 0:00Introduction and speaker intro
  2. 1:08Songkick’s legacy code problem
  3. 2:14The monolith and rewrite decision
  4. 3:38Service-oriented architecture plan
  5. 4:21Lessons learned from the rewrite
  6. 5:46Defining the end state
  7. 6:50Starting with the riskiest feature
  8. 7:53Focus on one main goal
  9. 8:56Defining project scope and deadline
  10. 10:23Deleting features to move faster
  11. 11:50Validating assumptions early
  12. 12:53Speeding up the build process
  13. 14:41Faster releases and monitoring
  14. 15:43Changing the product development process
  15. 16:24New front-end architecture demo
  16. 21:52Decoupling domain models
  17. 23:35Rewriting without downtime
  18. 24:39Cultural changes at Songkick
  19. 26:05Cross-functional product teams
  20. 27:11Early developer involvement
  21. 28:16Pairing designers with developers
  22. 29:19Key takeaways and collaboration
  23. 30:46Q&A: Starting with the riskiest feature
  24. 31:31Q&A: Service standardization
  25. 32:15Q&A: Backup plan and stress
  26. 33:01Q&A: Regrets and doing it earlier
  27. 33:44Q&A: Selling technical debt
  28. 34:47Q&A: Crisis as catalyst
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.