Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Advertisement
Advertisement

Zalando Tech: From Java to Scala in Less Than Three Months

  1. From Java to Scala in Less Than Three Months
  2. Alexander Kops Started at Zalando in 2010 Delivery Lead, Brand Solutions
  3. 15 countries 3 fulfillment centers 16+ million active customers 2.2+ billion € revenue 2014 130+ million visits per month 10.000+ employees, ~900 in tech Zalando at a Glance Visit us: tech.zalando.com
  4. Legacy Tech Stack 2008 - 2010
  5. Legacy Tech Stack Complete rebuild in 2010
  6. Zalando Tech Employees
  7. Radical Agility Purpose Autonomy Mastery
  8. Rules of P lay Microservices REST APIs API First SaaS principle Cloud: Build on top of AWS
  9. Brand Solutions Formed in 2014 Creating a CMS for our fashion brands Uploading their own content to the Zalando shop Five teams, 50+ people
  10. My Team’s Challenge Build new analytics product Gather + compute data from different sources Potential future growth Work with legacy applications Be ready for cloud deployment
  11. Why we chose Scala Experience with the JVM Works well with Java libraries Mature ecosystem Backed by Typesafe Functional programming good for parallelization
  12. Why we chose Play Intuitive to use Excellent performance Extensibility Backed by Typesafe
  13. Scala: the Good Parts
  14. Concise
  15. Combines FP and OOP
  16. Library design choices
  17. Easy parallelization
  18. Great DSLs for testing
  19. Scala: the bad parts
  20. Compilation times Advanced language features add to compile time scalac -Xshow-phases But sbt’s incremental compilation helps!
  21. Language problems The same thing can be written in many different ways No canonical style guide Allows “operator overloading” FP code can get unreadable
  22. Introducing Scala
  23. Steep learning curve New language Functional programming concepts New frameworks New build tool
  24. Helping the transition Assume 3-4 weeks overhead Two weeks exclusively for learning Encourage study groups Bring in freelancers Incremental learning OO -> FP
  25. Provide material
  26. Fitting projects Prototypes Greenfield projects Modular projects: Layered approach
  27. Two types of Scala converts Using Scala as Java Functional programming hipsters
  28. About coding style Develop own or embrace existing style guide Pair programming and code reviews Strict compiler settings
  29. Tooling IntelliJ > Eclipse IDE sbt provides benefits over Maven and Gradle
  30. Hiring Scala developers Genuine Scala developers are rare Senior Java developers eager to learn Scala Provide internal trainings Spread the word that you are doing Scala
  31. Our application
  32. Typesafe Stack in Zalando 40% of engineers want to learn Scala >12 teams are developing in Play and Scala >40 engineers Four Typesafe-certified Scala and Play trainers in-house
  33. Other applications Merchant Center Fraud analysis Stylist website A/B testing tool Payment services
  34. Play-Swagger “API First” library for Play Developed in-house by two engineers Collaboration with Typesafe’s James Roper https://github.com/zalando/play-swagger
  35. Follow us Tech Blog: tech.zalando.com GitHub: github.com/zalando Twitter: @ZalandoTech Instagram: zalandotech
Advertisement