SlideShare a Scribd company logo
Sneaking Scala
through the Back
Door
Dianne Marsh
OSCON 2013
Try the Front
Door
Sneaking Scala through the Back Door
Know the “Why”
DO
Present from audience’s
point of view
DO
Use buzzwords
DON’T
Emphasize high value
points
DO
Represent success
stories
DO
Typesafe Customers
Edda
Records AWS History
Open Source
Scala
Freedom & Responsibility
Killer Apps
• Play for web (Scala and Java)
• Akka for concurrency
• Object-oriented + mathematical modeling
= good fit for Scala
Domains
• Business Intelligence
• Social apps
• Border security
• eCommerce
• Anti-spam
• Advertising
Companies say ...
• Rapid development and productivity
• Asynchronous stateless scalabilty
• Massive configurability for peak load
• Reduces time to market
• DSL reduces load on devs
Anticipate objections
DO
Companies say ...• “Easy to find very good Java engineers and
excite them with new technologies”
• “Look for smart, energetic engineers eager
to learn”
• “No prior knowledge of Java, productive 2-
3 weeks into project”
• “Quickly productive with Scala”
• Reduces time to market
• DSL improves reduces load on devs
Use Scala for new
development
DO
Leverage existing Java
code
DO
Convert all legacy code
immediately*
*(maybe never)
*(maybe never)
DON’T
Use Scala as a Better
Java
DO
Use Scala for non-
production code
DO
Refer to code written
before 2.9
DON’T
Make Scala perl-like
DON’T
Discuss developer
productivity
DO
Draw from team’s
experience
DO
Use Scala to attract
candidates
DO
Try ScalaTest
DO
Stress about functional
perfection
DON’T
Try Play web
framework
DO
Try Scalaz
DON’T
Learn about parallel
collections
DO
Leverage TypeSafe’s
support
DO
Be a language zealot
DON’T
Get feedback from
others
DO
Contact Info
• twitter: @dmarsh
• Google+: dmarsh@netflix.com
• email: dmarsh@netflix.com
Additional References
• Making a persuasive argument: http://sixminutes.dlugan.com/logos-examples-speaking/
• Atomic Scala at http://atomicscala.com
• Learn Scala with the Koans at http://scalakoans.org
• Integrate testing with Scalatest: http://www.scalatest.org/
• Case studies: http://typesafe.com/company/casestudies
• Futures and promises in 2.10: https://speakerdeck.com/heathermiller/futures-and-promises-
in-scala-2-dot-10

More Related Content

PPTX
A Deeper Look Into Reactive Streams with Akka Streams 1.0 and Slick 3.0
PPTX
Lightbend Training for Scala, Akka, Play Framework and Apache Spark
PDF
Stream Collections - Scala Days
PDF
Scala Security: Eliminate 200+ Code-Level Threats With Fortify SCA For Scala
PDF
Making Scala Faster: 3 Expert Tips For Busy Development Teams
PPTX
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
PDF
Scala in Model-Driven development for Apparel Cloud Platform
PDF
Building stateful systems with akka cluster sharding
A Deeper Look Into Reactive Streams with Akka Streams 1.0 and Slick 3.0
Lightbend Training for Scala, Akka, Play Framework and Apache Spark
Stream Collections - Scala Days
Scala Security: Eliminate 200+ Code-Level Threats With Fortify SCA For Scala
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
Scala in Model-Driven development for Apparel Cloud Platform
Building stateful systems with akka cluster sharding

What's hot (20)

PDF
Gradual migration to MicroProfile
PDF
Monitor Micro-service with MicroProfile metrics
PDF
Effective cloud-ready apps with MicroProfile
PPTX
Scala and Spark are Ideal for Big Data
PDF
Secure JAX-RS
PDF
Pakk Your Alpakka: Reactive Streams Integrations For AWS, Azure, & Google Cloud
PPTX
Reactive Database Access With Slick 3
PDF
Akka and Kubernetes: Reactive From Code To Cloud
PPTX
Hands-on Performance Tuning Lab - Devoxx Poland
PDF
Advanced queries on the Infinispan Data Grid
PPTX
Scala adoption by enterprises
PPTX
Lessons From HPE: From Batch To Streaming For 20 Billion Sensors With Lightbe...
PDF
Akka at Enterprise Scale: Performance Tuning Distributed Applications
PPTX
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
PDF
How would ESBs look like, if they were done today.
PDF
A Journey to Reactive Function Programming
PDF
Apache Zeppelin & Cluster
PPTX
Automate your development environment with Jira and Saltstack
PDF
Type-safe front-end development with Scala
PDF
Akka A to Z: A Guide To The Industry’s Best Toolkit for Fast Data and Microse...
Gradual migration to MicroProfile
Monitor Micro-service with MicroProfile metrics
Effective cloud-ready apps with MicroProfile
Scala and Spark are Ideal for Big Data
Secure JAX-RS
Pakk Your Alpakka: Reactive Streams Integrations For AWS, Azure, & Google Cloud
Reactive Database Access With Slick 3
Akka and Kubernetes: Reactive From Code To Cloud
Hands-on Performance Tuning Lab - Devoxx Poland
Advanced queries on the Infinispan Data Grid
Scala adoption by enterprises
Lessons From HPE: From Batch To Streaming For 20 Billion Sensors With Lightbe...
Akka at Enterprise Scale: Performance Tuning Distributed Applications
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
How would ESBs look like, if they were done today.
A Journey to Reactive Function Programming
Apache Zeppelin & Cluster
Automate your development environment with Jira and Saltstack
Type-safe front-end development with Scala
Akka A to Z: A Guide To The Industry’s Best Toolkit for Fast Data and Microse...
Ad

Similar to Sneaking Scala through the Back Door (14)

PDF
Scala - from "Hello, World" to "Heroku Scale"
PDF
Whitepages Practical Experience Converting from Ruby to Reactive
PDF
Experience Converting from Ruby to Scala
PPTX
Introduction to Scala
PDF
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claud...
PPT
Why scala - executive overview
PDF
Java 20
PPT
Evolving IGN’s New APIs with Scala
PDF
Privacy is a UX problem (David Dahl)
PDF
Klout case-study-v1.0
PDF
Programming Scala 3rd Edition Dean Wampler Dean Wampler
PPT
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
PPTX
An Introduction to Scala
DOCX
Scala - from "Hello, World" to "Heroku Scale"
Whitepages Practical Experience Converting from Ruby to Reactive
Experience Converting from Ruby to Scala
Introduction to Scala
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claud...
Why scala - executive overview
Java 20
Evolving IGN’s New APIs with Scala
Privacy is a UX problem (David Dahl)
Klout case-study-v1.0
Programming Scala 3rd Edition Dean Wampler Dean Wampler
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
An Introduction to Scala
Ad

More from Dianne Marsh (13)

PDF
KubeCon/Cloud Native Keynote December 2017
PDF
Velocity 2017 Keynote: Looking Back to Move Forward
PDF
OSS Collaboration & Contribution: How Netflix Drives Industry Engagement
PDF
The Paved Road at Netflix
PDF
Walking the Tightrope: Balancing Bias to Action and Planning
PDF
How Netflix thinks of DevOps. Spoiler: we don’t.
PDF
ScalaDays 2015 Keynote
PDF
Introducing Change while Preserving Engineering Velocity
PDF
Engineering Velocity: Shifting the Curve at Netflix
PDF
Saturn 2014. Engineering Velocity: Continuous Delivery at Netflix
PPTX
Open Business Conference: Continuous Delivery At Netflix -- Powered by Open S...
PPTX
From Code to the Monkeys: Continuous Delivery at Netflix
PDF
Dr scalalove: How I learned to stop worrying and love the functions
KubeCon/Cloud Native Keynote December 2017
Velocity 2017 Keynote: Looking Back to Move Forward
OSS Collaboration & Contribution: How Netflix Drives Industry Engagement
The Paved Road at Netflix
Walking the Tightrope: Balancing Bias to Action and Planning
How Netflix thinks of DevOps. Spoiler: we don’t.
ScalaDays 2015 Keynote
Introducing Change while Preserving Engineering Velocity
Engineering Velocity: Shifting the Curve at Netflix
Saturn 2014. Engineering Velocity: Continuous Delivery at Netflix
Open Business Conference: Continuous Delivery At Netflix -- Powered by Open S...
From Code to the Monkeys: Continuous Delivery at Netflix
Dr scalalove: How I learned to stop worrying and love the functions

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
cuic standard and advanced reporting.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
cuic standard and advanced reporting.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
20250228 LYD VKU AI Blended-Learning.pptx
NewMind AI Monthly Chronicles - July 2025

Sneaking Scala through the Back Door

Editor's Notes

  • #2: I hope to give you some ideas about how you can bring Scala into your organization, addressing concerns that others might have. Also want to hear from you about what worked and what didn’t.
  • #3: Some companies will come to agreement on changing languages. Some of these tips will still be useful.
  • #4: But we live in interesting times. Whole generation of developers who are still programming in the language they used in college or their first job. Intimidating.
  • #5: Take time to understand WHY your company will benefit and build the persuasive argument. What’s wrong with current approach? What problem are you trying to solve? Concurrency? Performance? Scalability? Extensibility? Persuasive arguments are most effective if you put them in the context of the problem.
  • #6: Talk about business value.
  • #7: Don’t go deep into technical issues (unless you are talking to a highly technical decision maker). And, if you do, give the talking points to that person as well, for reaching others.
  • #8: All points are not of equal weight. A smaller number of strong arguments is better than getting lost in completeness.
  • #9: This speaks to decision makers in ways that they understand. Shows how other companies have experienced success and lets them relate your problems to theirs. Typesafe’s website has great case studies. Read them and find 1 or 2 that seem similar to your situation.
  • #10: It’s not just twitter using Scala.
  • #11: At Netflix, our developers choose their own languages with an understanding of how it will fit into the culture.
  • #15: Talk about hiring. Typesafe’s case studies talk about many companies that used enthusiastic PHP and Java developers in their Scala migration.
  • #17: Once you know the language, use it for new things, preserving your investment in Java code.
  • #18: Call Scala from Java. Call Java from Scala.
  • #19: Preserve your investment in Java code. Don’t refactor “just because”. Only convert libraries that make sense.
  • #20: It’s OK. Get comfortable with the language. Write Java-like Scala code. You will learn the idioms in time. You will become more functional.
  • #21: Low risk way to get to learn language. Testing. Internal apps. Gains confidence of team and management.
  • #22: Early adopters experimented with the language. The language has changed. Read recent blogs and books.
  • #23: Sometimes people use the language to impress. It can be very terse. Write-only. Don’t do that.
  • #24: Scala has less boilerplate. Streamlines focus on business problem. Expressive language illustrates meaning. Fast code/test cycle (Play/SBT).
  • #25: Does your team have C++/STL experience? Google Guava? C# with LINQ? These are all great ways to ease into functional programming.
  • #26: Energetic, eager developers often like to learn new languages. Use this to your advantage in hiring.
  • #27: This is a great testing framework that you can use on Java code or Scala code. It’s not production code, so you can learn the language at your leisure.
  • #28: Let functional programming emerge. You will be enchanted by Scala and simple functional concepts will come first; others will follow. Don’t force it.
  • #29: Stateless. Extensible. Works well with Javascript libraries.
  • #30: If you need scalaz, you will know it. Don’t go there now. Or anytime soon. You will scare people away.
  • #33: Scala isn’t the only language. Keep an open mind. Know when to fold.