~/talk

Building a Sustainable CodeBase with FP

slides:none on file

Argues that combining functional programming, heavy unit testing and hexagonal ports and adapters architecture let Nubank scale maintainable services: 500 engineers, 400+ services and 25M customers. Shows newcomers shipping to production in two weeks by keeping domain functions pure, isolating IO in ports, using dependency rejection so controllers return intent data structures instead of performing effects, and replacing flaky end-to-end suites with unit plus contract tests. Outcome is far faster test feedback, fewer flaky failures and easier composition and reasoning.

AI-written summary · about

  1. 0:00Building a sustainable architecture
  2. 0:27motivation
  3. 1:18smooth learning curve shipped code to production
  4. 3:15patterns among services
  5. 3:34functional programming A tests o hexagonal architecture
  6. 3:50a functional programming
  7. 5:04fp is about pure functions
  8. 5:26fp is about referential transparency
  9. 5:45what about the impure functions?
  10. 6:20we need to talk about side effects
  11. 6:40pure function - impure function
  12. 7:14not infecting your fp code with imperative code
  13. 7:43limit the amount of imperative code
  14. 10:02focus on what matters
  15. 10:32eliminate shared state so order does not matter
  16. 11:45confidence safeness
  17. 12:23live documentation
  18. 12:59accuracy
  19. 13:30speed
  20. 14:17reliable feedback
  21. 14:44e2e is a problem
  22. 15:36how to design our code?
  23. 16:37maintainability is a long term concept
  24. 17:11first attempt: hexagonal architecture
  25. 19:31tests in isolation with mocks and stubs
  26. 19:43dependency injection
  27. 21:30isolation is the dual of encapsulation
  28. 22:24hard to balance between both
  29. 22:55not a problem in FP
  30. 23:12hexagonal architecture in FP is natural
  31. 24:03good FP design is ports and adapters
  32. 24:26second layer with imperative code and side effects
  33. 25:39Mocks & Integration Tests
  34. 26:22hexagonal architecture with dependency rejection
  35. 27:35atomic operations
  36. 27:57data as first class citizens
  37. 28:17second layer without side effects
~/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.