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.

Learning to love f#

This talk is a lighthearted look at how EROAD learned to love F#

  • Login to see the comments

Learning to love f#

  1. 1. Dr FunctionalLove or: How EROAD learned to stop worrying and love F# Jim Bennett Senior Cloud Developer Advocate - Microsoft @jimbobbennett
  2. 2. Once upon a time there was a company in New Zealand called EROAD… @jimbobbennett
  3. 3. EROAD built hardware for trucks, and a SaaS platform that used data from that hardware @jimbobbennett
  4. 4. EROAD had a 2-person mobile team @jimbobbennett
  5. 5. They were the odd ones out - the rest of the company built services and web sites in Java, HTML and JavaScript @jimbobbennett
  6. 6. But they built Android apps in C# using Xamarin @jimbobbennett
  7. 7. And they loved F#! @jimbobbennett
  8. 8. One day, they needed to build a new app on iOS and Android @jimbobbennett
  9. 9. They wanted to use Xamarin.Forms with a C# UI layer and an F# model layer @jimbobbennett
  10. 10. So they went to see THE ARCHITECT @jimbobbennett
  11. 11. And guess what he said… @jimbobbennett
  12. 12. Our two trusty developers knew his reasons were not correct… @jimbobbennett
  13. 13. So they hatched a plan… @jimbobbennett
  14. 14. Phase #1 @jimbobbennett
  15. 15. The old app used PowerShell for build scripts @jimbobbennett
  16. 16. They needed build scripts for their new app, so they used FAKE @jimbobbennett
  17. 17. They then justified it to the architect @jimbobbennett
  18. 18. That meant F# was in production… @jimbobbennett
  19. 19. Phase #2 @jimbobbennett
  20. 20. EROAD Hackathon! 24 hours to build something, no rules on tech… @jimbobbennett
  21. 21. They used Xamarin.Forms with a C# UI layer and an F# model layer @jimbobbennett
  22. 22. It was an almost production ready app in 24 hours @jimbobbennett
  23. 23. If they released it - F# would be in a production app! @jimbobbennett
  24. 24. Bonus Phase… @jimbobbennett
  25. 25. The architect left! @jimbobbennett
  26. 26. Phase #3 @jimbobbennett
  27. 27. They ported their F# model code to their production app @jimbobbennett
  28. 28. They justified it to their boss… @jimbobbennett
  29. 29. They justified it to their boss… @jimbobbennett
  30. 30. They justified it to their boss… @jimbobbennett
  31. 31. Who said… @jimbobbennett
  32. 32. Yes! @jimbobbennett
  33. 33. They had F# inside an app on the iOS App Store and Google Play Store @jimbobbennett
  34. 34. This inspired conversations @jimbobbennett
  35. 35. They learnt things… @jimbobbennett
  36. 36. There are different ways to use F# @jimbobbennett
  37. 37. Once it is in production it’s easier to justify using it again @jimbobbennett
  38. 38. Use it for small pieces first - easy to replace if it goes wrong @jimbobbennett
  39. 39. Work for a company that values their developers @jimbobbennett
  40. 40. Wait for the naysayers to leave! @jimbobbennett
  41. 41. If all else fails – do it anyway then ask for forgiveness! @jimbobbennett
  42. 42. No architects were harmed in the making of these slides. The old head of architecture at EROAD is NOT evil, is a really nice chap and was totally justified in his hesitation to adopt an unknown technology. We love you Jordan! Jim Bennett Senior Cloud Developer Advocate - Microsoft @jimbobbennett Sam Williams Development team lead - EROAD @willsam100