Scala at Net-a-Porter

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.

One of the 'Introduction to Scala' workshops

One of the ‘Introduction to Scala’ workshops

One of the 'Introduction to Scala' workshops

One of the ‘Introduction to Scala’ workshops

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.

Working on a Set implementation using higher-order functions

Working on the weekly Coursera assignment. This week: a Set implementation using higher-order functions

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.

Print Friendly

Leave a Reply