This guest post is contributed by Asheesh Laroia (@asheeshlaroia). Based in the Boston area, Asheesh works on the OpenHatch open source outreach project and outreach events like the Boston Python Workshop for women and their friends. He met Scalathon organizer Yuvi Masory when they worked together with Felice Ford to organize a weekend Open Source Hackathon to inspire college students to get involved in open source. RailsBridge is excited to spread the workshop model to other programming languages and would like to support her outreach efforts in any way we can.
In July, people who want to hack on open source projects written in Scala will descend on Philadelphia to attend Scalathon. Yuvi Masory (one of the organizers) invited me to work with him on gender diversity. So, inspired by RailsBridge and my experience with the Boston Python Workshop, we are running a crash course in Scala for women and their friends who want to attend Scalathon. Our goal is to encourage women and men who are considering attending Scalathon to pick up the necessary skills to join these active, collaborative open source communities.
This crash course is actually a bit different from the RailsBridge open workshops, but we retain the gender diversity goal. Keep reading to find out more about Scala and how the conference shaped the Crash Course.
A word about Scala
Scala is a fairly new programming language, based on the Java Virtual Machine, that sports some new tricks designed to help people write concurrent code. Just like Rails guides the programmer to useful web paradigms like ActiveRecord and URL mappings, Scala and its libraries promote features like functional programming and the actor pattern to build programs that can run in parallel on different data. James Governor at RedMonk writes:
We’re moving into a world of event-based programming, concurrency and messaging….
Now it’s one thing for a guy at a conference to run his mouth off about how Twitter could be better if it was built in Scala. It’s quite another for Twitter to actually rebuild in Scala. Over time other high scale shops have also taken to Scala – notably Foursquare… and UK-based financial services.
Twitter still uses Ruby on Rails to deliver most user-facing web pages, but a few years ago they started replacing some of the back-end Ruby services with applications running on the JVM and written in Scala.
A cornerstone of a Scala programmer’s toolkit is the idea of functional programming, a style of programming that emphasizes “pure” functions that do not modify existing data. This is common in Lisp and ML, two languages often used in computer science curricula, and lies at a contrast to imperative programming common in Ruby and Python where statements have side effects (like updating a hash). Programs built in this style emphasize recursion rather than looping.
Scalathon, and our Crash Course
Scalathon takes place on Saturday and Sunday, July 16-17; our outreach event is the evening before. The conference is an opportunity for existing open source project contributors to meet and also for new prospective community members to join in. With that in mind, our crash course is specifically for people who already are familiar with the functional programming paradigm. Additionally, to attend, you must also be attending Scalathon that weekend.
I realize that makes it a somewhat exclusive event! Many of our crash course’s attendees are undergraduate computer science students. We have 12 attendees signed up now, and we are looking for more. We created these attendance requirements so that we can best serve the open source communities who will be represented on the weekend. The crash course is, in effect, a search for people enthusiastic about getting involved who have the skills to make meaningful code and documentation contributions during Scalathon.
Another purpose of the crash course is to send a strong message to women considering attending the weekend hackathon: you will not be the only woman there. Not by a long shot. So far, Yuvi estimates Scalathon to be nearly 20% women.
Right now, there are still eight slots available. If you have some experience doing functional programming and want to try your hand contributing to active open source projects based in Scala, and you are a woman or a friend of one, we want you to sign up for the crash course!