Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Using Scala to handle exponential growth at a startup (part 2) (lucidchart.com)
24 points by pughbri on Feb 13, 2013 | hide | past | favorite | 11 comments


That was a good interview. I also got very interested in Scala while taking Martin Odersky's excellent functional programming class last year. I ended up concentrating on Clojure for my (solo) work because of decades of Lisp experience, but the Scala language and developing ecosystem is also very compelling.

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 had eight years of (hobbyist) Lisp experience when I was laid off in May; by then I was using Clojure in my home projects. Two of my interviews mentioned Scala, one place used it as their main language. I decided that, even if the languages were equally powerful and interesting, I was betting on the wrong horse, and have started to concentrate with Scala.


I think you made the correct decision. BTW, even though I am using Clojure on my own business ideas/projects, in the last 15 years as a consultant I have always used Common Lisp, Java, Ruby, or Clojure because one of those languages was what a particular customer requested. I never try to talk a customer into a particular technology stack.


My pet peeve with these type of articles is that they miss the fact that there are two type of growth challenges that a organizations face. One , the happy growth, is where a lot of people begin using the system . The other growth is team growth -- when you need to on-board a lot of people quickly and get them up-to speed so that your organization can sustain its growth.

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.


As a follow up, PHP as he mentioned he considered an entry level language. Scala is not. He had skilled developers who could pick up Scala? I think in most cases the 'retooling' would be a big problem.


Brian from Lucidchart here. I do think we have a fantastic dev team at Lucidchart which makes the switch to Scala easier. We've tried to keep a very high bar in our hiring.

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.


What are the reasons that made you decide on Play+Scala instead of Play+Java?

I'm going through a similar decision so would love to hear your thoughts on this.


PHP to Scala, sounds like crawling to running to me.


Good article about making tough decisions early on that enable growth down the road. Thank you for the perspective and transparency.


The link to the previous post in the article 404s. Here it is: https://www.lucidchart.com/blog/2012/12/18/using-scala-expon...


Semitangent: I'm always interested in stories about startups using or considering between Scala/Haskell.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: