The language of pragmatism
Scala is the functional and object oriented programming language that makes Lightbend Reactive and helps developers write code that’s more concise than other options, so apps are less costly to maintain and easier to evolve.
Martin Odersky, creator of the Sun javac compiler and Java 5 generics, invented Scala as a pragmatic evolution of Java. Scala is the most popular Java alternative on the JVM. Scala offers a seamless migration path, because Java libraries are easy to use from Scala, and vice versa.
Scala has taken over the world of Fast Data, which is what some are calling the next wave of computation engines that rely more on the speed of data processing rather than the size of the batch, and the ability to process event streams in real time. Several prominent examples of that movement are Apache Spark, Apache Kafka, Apache Flink, and Akka Streams, which are rapidly gaining mainstream momentum. Many of the most admired brands around the globe are transforming their businesses with Scala through fast data applications that are changing the world.
Scala is poised to be a major mainstream player for decades to come.InfoWorld
Creating Your Scala Team
To create a Scala team, there are two options - recruit or train. With the popularity of Scala exploding, recruiting developers with more than a year’s worth of production Scala experience can be challenging and it is generally not cost effective or possible to staff an entire Scala team using recruitment alone. A combination of targeted recruitment and a well structured onboarding including training, mentorship and support provides the strongest path to success.
Insights from Twitter and Workday.
Scala School - Twitter
Scala School started as a series of lectures at Twitter to prepare experienced engineers to be productive Scala programmers. This is the written material that accompanied those lectures, which Twitter has found useful in their own right.Learn
Scala Development Best Practices - Twitter
Twitter created a living document on GitHub to reflect its current 'best practices' around core ideals. This guide attempts to distill their experience into short essays, providing a set of best practices that might be useful for your newbies.Learn
Introducing Scala To Experienced Java Devs - Workday
Workday is are building their team by helping experienced Java developers become Scala developers. You can learn more about their approach on GitHub.
Suggested reading for self-learning.
Atomic Scala, By Bruce Eckel And Dianne Marsh
Bruce and Dianne observed that it would be possible to teach Scala to a beginning programmer and, if they did things right, it would actually be an easier language to learn than Java.EBOOK
Scala For The Impatient, By Cay Horstmann
Every concept and technique in Scala for the Impatient is presented in 'blog-size' chunks with hands-on activities that guide readers through four well-defined stages of competency: basic, intermediate, advanced and expert.EBOOK
Scala In Depth, By Josh Suereth
This is a unique book designed to help you integrate Scala effectively into your development process. There's little heavy-handed theory here—just dozens of crisp, practical techniques for coding in Scala. Written for readers who know Java, Scala, or another OO language.