Using Scala to handle exponential growth at a startup (part 2)
lucidchart.com
lucidchart.com
I have friends who are still doing Java enterprise scale work, but for most applications something more light weight and concise like Scala, Clojure, or JRuby seems like a better way to use the JVM ecosystem. In addition to more agile languages, I believe that the best practices for most development use microframeworks and composable libraries.
I appreciate the fact that Scala with Akka is very good at concurrency issues.
I am curious to know how well organizations have scaled up their Scala teams. How easy was it transition new developers into organization-bread-and-butter type of products.
Our team has been able to come up to speed on Scala and get productive pretty quickly. Within a month, the team felt comfortable in Scala. Most team members read through Odersky's "Programming in Scala" book to get an overview of the language which was helpful. We've also had some team members go through the Coursera class.
Our experience is that there is a cost to Scala when it comes to new hires. Very few new hires have any meaningful Scala experience so they have to come up to speed on the language whereas with Java or PHP most new hires are already proficient in the language. In the end, however, we believe that the benefits of Scala, Play and Akka over the long term will outweigh the short term cost of training new hires. Even with our new hires, we find they are pretty comfortable and productive after a month of learning and using Scala.
I'm going through a similar decision so would love to hear your thoughts on this.