Sneaking Scala through the Back Door

Post on 11-May-2015

602 views 2 download

Tags:

description

Presented at CodeMash 2014. Not everyone works for a company like Netflix -- a company where developers can bring in new technologies and languages through the front door via Freedom and Responsibility. This presentation is an update from my OSCON presentation, reflecting some additional thoughts

transcript

Sneaking Scala through

the Back Door

Dianne MarshCodeMash 2014

Try the Front Door

Know the “Why”

DO

Be specific: team, application, biggest concerns

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 SourceScala

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

About Hiring …•“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”

Use Scala for new development

DO

Leverage existing Java code

DO

Convert all legacy code immediately*

*(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 your code too terse

DON’T

val nums = 3 until 1000

val somenums = nums filter (x => (x % 3 == 0 || x % 5 ==0))

(0/:somenums)(_+_)

DON’T

“When your Scala looks like unhappy emoticons, you’ve

gone too far.” -- Jason Swartz, Netflix

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 Typesafe Activator

DO

Start with Scalaz

DON’T

Learn about parallel collections

DO

Leverage TypeSafe’s support

DO

Be a language zealot

DON’T

Know when to fold

DO

Ease into functional with

Guava

MAYBE

Get feedback from others

DO

Contact Info

@dmarsh

dmarsh@netflix.com

(We are hiring)

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