From my presentation at OSCON 2014
http://www.oscon.com/oscon2014/public/schedule/detail/37779
Abstract:
There’s only one way to do it here at PayPal – with a framework. Everything you’ll ever need is done if you stay inside the lines. Imagine my reaction when I joined PayPal with Scala and high hopes. We have many reasons to avoid the monolithic framework, so we were going against the grain from day 1.
My team came on to “shake things up” and we’ve been doing just that. We brought Scala to PayPal, built small components to defeat “framework-itis” and generally pissed some people off. Now we want to open source the stuff we’re building.
I’m going to talk about our challenges so far, and how we overcame them. I’ll have tales (both funny and sad) to tell about my experience so far, and I’ll share plenty of lessons learned along the way.
9. If you feel like you aren’t in control of your destiny, you will
give up and accept whatever situation you are in.
Learned Helplessness
http://youarenotsosmart.com/2009/11/11/learned-
helplessness/
24. Spring Framework
Introduction
!
The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise
applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level:
Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic,
without unnecessary ties to specific deployment environments.
!
Features
!
Dependency Injection
Aspect-Oriented Programming including Spring's declarative transaction management
Spring MVC web application and RESTful web service framework
Foundational support for JDBC, JPA, JMS
Much more...
!
http://projects.spring.io/spring-framework/
25.
26. Spray Framework
spray is an open-source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka. Being
asynchronous, actor-based, fast, lightweight, modular and testable it's a great way to connect your Scala applications to the
world.
!
27. PSA Slide
Spring is a great framework that’s battle tested by a bunch of huge,
successful companies that make tons of money. It obviously has huge
value!
!
Also, there are smart people behind it and they deserve tons of
recognition for building a great framework.
!
I’m picking on Spring here for illustrative purposes.
48. Being Opinionated
• Enforce Style Guidelines
• Use the Type System
• Enforce Compiler Warnings
• Make Failing Builds Critical
• Use the Best Testing Frameworks
• Have Real Time Statistics
• Demand Non-Blocking I/O
• Use Akka Properly (that’s another talk)
• Profile Regularly