Recently, Ariel announced that we will be presenting our experiences of using Scala at Scala eXchange 2013. We will save all the best bits for that talk, but suffice it to say we have really enjoyed working with the language. Scala is increasingly being adopted at NET-A-PORTER for new projects, and we have been working to ease the transition in a number of ways:
Introductory Scala Workshops
We have been running workshops to help introduce people with no previous Scala experience to the syntax and language features. So far, over 40 people from a number of different roles have attended – including Java developers, Perl developers, architects, build engineers and testers.
The slide deck for this workshop is available here.
Lunchtime Coursera Sessions
The introductory Scala workshops focus on the syntax and language features of Scala. However, a big challenge faced by newcomers to the language is understanding the functional paradigm. This is particularly true for people whose only experience is with imperative languages such as Java.
The author of Scala, Martin Odersky, recently ran a seven-week online course that tackles this, titled Functional Programming Principles in Scala. We ran weekly lunchtime sessions to support a group of our developers who attended the course, where they could work on the assignments and help each other learn.
We are currently running similar sessions for the Principles of Reactive Programming course.
Contributing to the community
Developers at NET-A-PORTER are encouraged to open-source their code, and to contribute to open-source projects. This is something our Perl developers are very pro-active about (on CPAN you will find many Perl modules originating from perl devs here at NET-A-PORTER), and I hope that we will become just as active in the Scala community as we adopt the language further.
To seed this initiative, we have a couple of Scala projects open-sourced on our github page in the form of scala-uri and scala-i18n. Expect more to come! We have also been actively contributing code to existing Scala libraries including the popular spray toolkit and json4s library.
If you’re coming to Scala eXchange 2013, come and say hello.