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.

The Travel Guide to Software Systems

2,127 views

Published on

What do you reach for when you're travelling to somewhere foreign? A travel guide! In this talk, Patrick explores the analogy of the travel guide as it can apply to software systems

Published in: Technology

The Travel Guide to Software Systems

  1. 1. Patrick Kua (@patkua) October 2017 The Travel Guide to Software Systems
  2. 2. SPAIN 3% ⬒ Full European banking license ⬒ First fully mobile bank account ⬒ One-touch access to all financial products Digital Solution to Banking
  3. 3. 64% 12% GERMANY ITALY FRANCE 3% SPAIN 3% AUSTRIA 9% 500.000+ users in
 17 countries With more than €5.5bn transaction volume
  4. 4. C O N F I D E N T I A L Full Bank account
 Built from the ground up for mobile Seamless integration Insurances, Savings, Credit
  5. 5. C O N F I D E N T I A L Credit
 Up to 25k Euro payout in real-time Overdraft
 Flexibility in seconds
  6. 6. C O N F I D E N T I A L N26 Savings
 Save with partner banks across Europe N26 Invest
 Investing with just a few taps
  7. 7. Featured as “Editor’s Choice” Featured at Apple WWDC Several promotions through Apple Featured in “Best Apps in 2016” Featuring in the Play Store
 with major releases Consistent strong recognition by Apple and Google
  8. 8. Users love the N26
 experience 5,685 Reviews
  9. 9. I am building the technology group behind the mobile 
 bank designed for the digital age. We are looking for people to join us on that journey: 
 https://n26.com/jobs/ (Berlin) #leader #coach #architect #developer 
 #life-long-learner #speaker #author CTO of N26
  10. 10. CTO of N26 thekua.io/evolarch thekua.io/twtl thekua.io/retrobook
  11. 11. Our itinerary
  12. 12. Our itinerary Why we might consider using a travel guide
  13. 13. You find yourself here
  14. 14. You find yourself here Where are you? What dangers lie ahead of you? How do you achieve your goal? How do you communicate?
  15. 15. ~20 Million LOC 19 LOC no whitespace no comments
  16. 16. You find yourself here The travel guide
  17. 17. Why travel guides?
  18. 18. Why we should care People join/leave Scaling organisations Leaving a legacy Preventing (unwanted) detective work
  19. 19. Alternatives? Viking tales Telephone gameNothing
  20. 20. Working software over comprehensive documentation
  21. 21. Our itinerary What we need
  22. 22. Travel Guide
  23. 23. History Context, context, context Stories of why the system emerged (Hard) lessons learned Significant decisions (ADRs) Common traps, pitfalls, known tech debt
  24. 24. Travel Guide History
  25. 25. Useful 
 facts Domain facts Domain vocabulary “Page of Acronyms” Personas - who uses the system Common system use cases
  26. 26. Travel Guide History Useful 
 facts
  27. 27. Culture Coding standards Code review/pair programming Conventions in the codebase Common programming patterns Development process
  28. 28. Travel Guide History Useful facts Culture
  29. 29. Maps Maps of the system Simon Brown’s C4 Model (Context, Containers, Components, Classes) Sequence diagrams, flow charts, CRCs
  30. 30. Travel Guide History Useful facts Culture Maps
  31. 31. Sights What are the “landmarks” of your codebase? Some areas are more important than others Most commonly travelled parts of the system
  32. 32. Travel Guide History Useful facts Culture Maps Sights
  33. 33. Fun Fun facts about the system Interesting areas of the system Places where innovation/creative solutions exist
  34. 34. Travel Guide History Useful facts Culture Maps Sights Fun
  35. 35. Our itinerary How we make the most of our time
  36. 36. Size Keeping It alive Starting point
  37. 37. Starting point What’s valuable for others? FAQs Help your future self
  38. 38. f ( )Size History Population Degree of change Speed of change Domain complexity
  39. 39. f ( ) Size History Population Degree of change Speed of change Domain complexity Smaller Larger
  40. 40. Size
  41. 41. Size London Torquay
  42. 42. Size London Great Britain
  43. 43. Size Value Over Size “I would have written a shorter letter, but I did not have the time” - Blaise Pascal
  44. 44. Keeping it alive Software systems don’t stay stable
  45. 45. Keeping it alive Software systems don’t stay stable Neither do cities! 10th edition (2016) 11th edition (2018)
  46. 46. Keeping it alive Ideate Generate Test Review Pareto Principle
  47. 47. Our itinerary Compare our experiences with others
  48. 48. http://www.seleniumhq.org/ Started in 2004 Web automation tool Combined with WebDriver One of the most widely used web testing tools
  49. 49. http://www.seleniumhq.org/
  50. 50. http://www.eclipse.org
  51. 51. http://www.eclipse.org A popular IDE Plugin architecture supporting many languages, tools Basis of many other products
  52. 52. http://www.eclipse.org
  53. 53. http://getfirefox.com Alternative open-source browser Focus on open standards Huge community
  54. 54. https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Introduction https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide
  55. 55. Our itinerary Paying it forward
  56. 56. Working software over comprehensive documentation
  57. 57. Prepare for the trip
  58. 58. Prepare for the trip Build your own guide
  59. 59. Prepare for the trip Build your own guide To help others enjoy the ride
  60. 60. PATRICK KUA, CTO @n26, @patkua Thank you Psst. We’re hiring in Berlin https://n26.com/jobs

×