SlideShare uma empresa Scribd logo
1 de 35
Sneaking Scala
through the Back
Door
Dianne Marsh
OSCON 2013
Try the Front
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

Mais conteúdo relacionado

Mais procurados

Type-safe front-end development with Scala
Type-safe front-end development with ScalaType-safe front-end development with Scala
Type-safe front-end development with Scala
takezoe
 

Mais procurados (20)

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

Semelhante a Sneaking Scala through the Back Door

Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»
e-Legion
 
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Thoughtworks
 
Resume_Mohammed_Ali_Updated
Resume_Mohammed_Ali_UpdatedResume_Mohammed_Ali_Updated
Resume_Mohammed_Ali_Updated
Mohammed Ali
 

Semelhante a Sneaking Scala through the Back Door (20)

Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...
Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...
Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...
 
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. NielsenJ1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
 
Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
 
Big Data pipeline with Scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big Data pipeline with Scala by Rohit Rai, Tuplejump - presented at Pune Scal...Big Data pipeline with Scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big Data pipeline with Scala by Rohit Rai, Tuplejump - presented at Pune Scal...
 
Transitioning from Java to Scala for Spark - March 13, 2019
Transitioning from Java to Scala for Spark - March 13, 2019Transitioning from Java to Scala for Spark - March 13, 2019
Transitioning from Java to Scala for Spark - March 13, 2019
 
Data Engineering Course Syllabus - WeCloudData
Data Engineering Course Syllabus - WeCloudDataData Engineering Course Syllabus - WeCloudData
Data Engineering Course Syllabus - WeCloudData
 
Internship softwaretraining@ijse
Internship softwaretraining@ijseInternship softwaretraining@ijse
Internship softwaretraining@ijse
 
Scala and Spark are Ideal for Big Data - Data Science Pop-up Seattle
Scala and Spark are Ideal for Big Data - Data Science Pop-up SeattleScala and Spark are Ideal for Big Data - Data Science Pop-up Seattle
Scala and Spark are Ideal for Big Data - Data Science Pop-up Seattle
 
Modern ETL: Azure Data Factory, Data Lake, and SQL Database
Modern ETL: Azure Data Factory, Data Lake, and SQL DatabaseModern ETL: Azure Data Factory, Data Lake, and SQL Database
Modern ETL: Azure Data Factory, Data Lake, and SQL Database
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
 
Sisense and Simba MongoDB Analytics Webinar
Sisense and Simba MongoDB Analytics WebinarSisense and Simba MongoDB Analytics Webinar
Sisense and Simba MongoDB Analytics Webinar
 
Sa introduction to big data pipelining with cassandra & spark west mins...
Sa introduction to big data pipelining with cassandra & spark   west mins...Sa introduction to big data pipelining with cassandra & spark   west mins...
Sa introduction to big data pipelining with cassandra & spark west mins...
 
Whitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to ReactiveWhitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to Reactive
 
Scala Days Highlights | BoldRadius
Scala Days Highlights | BoldRadiusScala Days Highlights | BoldRadius
Scala Days Highlights | BoldRadius
 
Resume_Mohammed_Ali_Updated
Resume_Mohammed_Ali_UpdatedResume_Mohammed_Ali_Updated
Resume_Mohammed_Ali_Updated
 
JAVA SCALA WEB DEVELOPER
JAVA SCALA WEB DEVELOPERJAVA SCALA WEB DEVELOPER
JAVA SCALA WEB DEVELOPER
 
JAVA SCALA WEB DEVELOPER
JAVA SCALA WEB DEVELOPERJAVA SCALA WEB DEVELOPER
JAVA SCALA WEB DEVELOPER
 

Mais de Dianne Marsh

Saturn 2014. Engineering Velocity: Continuous Delivery at Netflix
Saturn 2014. Engineering Velocity: Continuous Delivery at NetflixSaturn 2014. Engineering Velocity: Continuous Delivery at Netflix
Saturn 2014. Engineering Velocity: Continuous Delivery at Netflix
Dianne Marsh
 

Mais de Dianne Marsh (13)

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

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

Sneaking Scala through the Back Door

Notas do Editor

  1. 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.
  2. Some companies will come to agreement on changing languages. Some of these tips will still be useful.
  3. 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.
  4. 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.
  5. Talk about business value.
  6. 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.
  7. All points are not of equal weight. A smaller number of strong arguments is better than getting lost in completeness.
  8. 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.
  9. It’s not just twitter using Scala.
  10. At Netflix, our developers choose their own languages with an understanding of how it will fit into the culture.
  11. Talk about hiring. Typesafe’s case studies talk about many companies that used enthusiastic PHP and Java developers in their Scala migration.
  12. Once you know the language, use it for new things, preserving your investment in Java code.
  13. Call Scala from Java. Call Java from Scala.
  14. Preserve your investment in Java code. Don’t refactor “just because”. Only convert libraries that make sense.
  15. 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.
  16. Low risk way to get to learn language. Testing. Internal apps. Gains confidence of team and management.
  17. Early adopters experimented with the language. The language has changed. Read recent blogs and books.
  18. Sometimes people use the language to impress. It can be very terse. Write-only. Don’t do that.
  19. Scala has less boilerplate. Streamlines focus on business problem. Expressive language illustrates meaning. Fast code/test cycle (Play/SBT).
  20. Does your team have C++/STL experience? Google Guava? C# with LINQ? These are all great ways to ease into functional programming.
  21. Energetic, eager developers often like to learn new languages. Use this to your advantage in hiring.
  22. 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.
  23. Let functional programming emerge. You will be enchanted by Scala and simple functional concepts will come first; others will follow. Don’t force it.
  24. Stateless. Extensible. Works well with Javascript libraries.
  25. If you need scalaz, you will know it. Don’t go there now. Or anytime soon. You will scare people away.
  26. Scala isn’t the only language. Keep an open mind. Know when to fold.