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

Trade-offs all the way down

Trade-offs all the way down

Building Software in the Finance Industry.

_aitor

May 18, 2024
Tweet

More Decks by _aitor

Other Decks in Technology

Transcript

  1. Trade-offs all the way down Building Software in the Finance

    Industry Aitor García Rey - @_aitor - aitor.is
  2. Trade-off: Restaurants/Bars ┌────────────────┬────────────────┐ │ │ │ │ │ │ │

    │ │ │ │ │ Hospitality │ │ │ workers' life ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤ │ │ │ │ │ │ │ │ │ ╭───╮ │ │ │ │ X │ │ │ ╰───╯ │ └────────────────┴────────────────┘ Fitting my life style
  3. Trade-off: Mars Rovers ┌────────────────┬────────────────┐ │ ╭───╮ │ │ │ A

    │ │ │ │ ╰───╯ │ │ │ │ │ │ Terrain │ │ │ Adaptability ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤ │ │ │ │ │ │ │ │ │ ╭───╮ │ │ │ │ D │ │ │ ╰───╯ │ └────────────────┴────────────────┘ Speed
  4. Trade-off: 1.5°C Paris Agreement Goal ┌────────────────┬────────────────┐ │ │ │ │

    │ │ │ │ │ │ │ │ Resources │ │ │ Frugality ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤ │ │ │ │ │ │ │ │ │ ╭───╮ │ │ │ │ X │ │ │ ╰───╯ │ └────────────────┴────────────────┘ Convenience
  5. Spectrum: Reliability Your Average Massive Space Blog Custom Soft. E-comm

    Utilities Mission │ │ │ │ │ □────┴────────┬──────┴────────┬─────────────┴───┬───────┴───────┬─┴───□ │ │ │ │ Average Average Bank Nuclear E-comm SaaS Plant
  6. Spectrum: Resource Availability Your Average Scale-up Multinational Blog Startup Startup

    Corps. States │ │ │ │ │ □────┴────────┬──────┴────────┬──────────┴──────┬───────┴───────┬─┴───□ │ │ │ │ Starting Established Series Bank Trad Company Trad Company C/D
  7. Spectrum: Performance Your Average Trad Ultra Average API Video Blog

    biz interaction specialized team Games │ │ │ │ │ □────┴────────┬──────┴────────┬──────────┴──────┬───────┴───────┬─┴───□ │ │ │ │ Bank Average Average Industrial franchise webapp Software interaction
  8. Our context - Devengo 1.0 • Started as a Salary

    Advance solution to fight payday-loans. • First commit on Jul 21, 2019. • Rails API + Native apps (iOS & Android) + Custom integrations with HR/Payroll software. • Got smacked in the face by COVID-19 but experienced constant growth from 2021 onwards. • Spent 2 ½ years building the product...just to discover that it took us in the wrong direction.
  9. Our context - Devengo 2.0 • We reflected on how

    we were doing all the heavy lifting of moving money • ...and deploying it (too early) in a very narrow niche. • Pivoted to Payments Provider on 2022 Q2. • Special focus on EU and Instant/Real-time A2A payments.
  10. ╭─────────────╮ ╭─────────────╮ │ Originator │ │ Beneficiary │ ╰──────□──────╯ ╰──────△──────╯

    │ │ │ │ ╭ ─ ─ ─▽─ ─ ─ ╮ ╭ ─ ─ ─ ─ ─ ─ ─ ╭ ─ ─ ─ ─ ─ ─ ╮ ╭ ─ ─ ─□─ ─ ─ ╮ 1. SCT Inst 2. SCT Inst │ 3. Relay 5. Funds │ Instruction │ │ Transaction │ Transaction │ │ available │ ─ ─ ─ □ ─ ─ ─ ─ ─△─ ─ ─ □ ─ ╯ ─ ─△─ ─ ─ ─□─ ─ ─ ─ △ ─ ─ ─ │ │ │ │ └───┐ │ │ │ │ │ │ │ ╭──────▽──────────╮ │ ╭──▽──────────□───╮ ╭──▽───────□──────╮ │ │ │ │ │ │ │ │ Originator PSP □──┘ │ CSM │ │ Beneficiary PSP ◁─┐ │ │ │ │ │ │ │ ╰───────△─────────╯ ╰────□───□───△────╯ ╰─────────□───────╯ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╭ ─ ─ ─ ─ ─ ─ ─ ─▽─ ─ ─ ─ │ │ │ │ └──□ 4a. Communicates OK/KO │ │ │ │ │ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ ─ ─ ─ ─□─ ─ ─ ─ ─ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │ │ 6. Relay Result ◁───────────┘ └──────▷ 4b. ACK Communication □─┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
  11. Our context - Devengo 2.0 • Still an early-stage startup,

    just 7 developers (including me) running everything. • But already moving a volume of hundreds of thousands of transfers per month for a value of dozens of million euros (even from old competitors). • We'll (finally!) get a PSP license by the Central Bank of Spain this summer.
  12. Devengo Engineering Principles We make trade-offs by applying our principles

    to our current context. • Finesse • Managers Of One • Zen Pragmatism • Taking Care Of Business • Do The Right Thing • Trust, But Verify
  13. Devengo Engineering Principles • We materialized them in supporting practices.

    • We paranoidly monitor associated red flags. • We provide self-evaluation topics.
  14. Finesse / Supporting practices • Continuous refinement of the Developer

    Experience. • Failing gracefully on unexpected scenarios. • Continuous improvement of features. • Continuous learning. • Expansive testing.
  15. Finesse / Red flags • Quality defects reaching production. •

    Small known bugs are present for too long. • Unexpected collaterals
  16. Finesse / Self-evaluation • Does this piece of work represent

    my best shot at the problem? • Have I thought deeply about the consequences of this implementation? • How can I make this more robust without making it more complex?
  17. Zen Pragmatism / Supporting practices • Iterative implementation • Scope

    reduction • Consensus built on definition stages • Proof of Concepts • Minimum Valuable Product • ADRs (Architectural Decision Records)
  18. Zen Pragmatism / Red flags • Projects agonizing for months

    • Under-used, overly complex implementations • Premature optimization (of the business problem not performance) • Bike Shedding & Yak-shaving
  19. Zen Pragmatism / Self-evaluation • Is this the most cost-effective

    way to solve our problems? • Am I building the solution of the core part of the problem first? • Is the chosen approach reversible and flexible?
  20. Do The Right Thing / Supporting practices • Thinking like

    a customer • Cross-org transparency • Frequent interactions with support
  21. Do The Right Thing / Red flags • “Not my

    problem” mentality • Customers feeling unheard. • Slow reaction times.
  22. Do The Right Thing / Self-evaluation • Are we doing

    this just because it is easy? • Are we doing this just because “everybody does it”? • Is this the best thing for our customers?
  23. Managers Of One / Supporting practices • Proof of Concept

    • Designs open to feedback • Developer-led initiatives • Praising dev success stories and heroes.
  24. Managers Of One / Red flags • Decision bottlenecks •

    Impostor syndrome • Analysis paralysis
  25. Managers Of One / Self-evaluation • Do I have all

    the information to act on this? • If not, do I know how to get it? • Do I feel confident to commit to this solution?
  26. Taking Care Of Business / Supporting practices • Shared, cross-org

    language • Direct, frequent communication with OPS and customers • Everybody rotates to on-call • Prioritize boring technology • Provide tooling to other orgs inside Devengo • Buy vs Build evaluations
  27. Taking Care Of Business / Red flags • “Not invented

    here” syndrome • Recurring bugs • Feeling stuck in a specific approach
  28. Taking Care Of Business / Self-evaluation • Is there a

    no-coding solution to this problem? • Do I understand the point of view of the other parties? • Can I serve the mission in other ways?
  29. Trust, But Verify / Supporting practices • Exhaustive monitoring •

    Automatic & manual checks • Feature flags • Soft-launching features/products • Expansive testing • Incident management
  30. Trust, But Verify / Red flags • “No deploys on

    Friday” attitude. • Manual processes. • Siloed knowledge.
  31. Trust, But Verify / Self-evaluation • Do I feel confident

    about this proposal? • Do I understand the ramifications of my work? • If this implementation fails, what is the worst-case scenario?
  32. 𝕏 @_aitor / aitor.is 𝕏 @devengoapi / devengo.com Thank you!

    Share your feedback, love & insults! l.aitor.is/scpna