Scala enables powerful software is your best training option

Get Scala Training


Learn the way that works for you: ScalaCourses supports two forms of online learning: self-study and instructor-led. All students can email questions whenever they need help. Self-study students can contact a live instructor whenever they feel the need, and the instructor might share a screen or reply by email. With instructor-led training, students enjoy regularly scheduled video conference sessions with a live instructor. has been delivering online training for over 3 years. Mike Slinn, well-known in the Scala community as an author, trainer and speaker originally built and wrote the first version of the courses. The site is built using Scala, Play Framework, Slick and Akka, and this has provided inspiration for a lot of the code examples and exercises. A team of qualified instructors now create and maintain the courses.

Unique Partnership with Lightbend

Lightbend created a new Online Training Partner designation for ScalaCourses. Unlike all other Lightbend training partners, is the technology and content provider, not Lightbend, because ScalaCourses has developed its own curriculum and its own authoring and delivery platform. Under the partner agreement, Lightbend Training Partners are authorized to deliver ScalaCourses’ training as well as Lightbend’s training. Lightbend Training Partners can now offer public, open enrollment online training using ScalaCourses material, as well as corporate training. ScalaCourses will work with Lightbend Training Partners to develop additional courses and enhance existing courses. For more information, contact

More Course Authors and Trainers Needed!

Think you have what it takes to teach Scala.js, Cats, Advanced Scala, or other Scala-related software? ScalaCourses is looking for additional course authors, instructors and teaching assistants. Authors can prepare individual lectures or entire courses. Instructors and TAs use ScalaCourses’ material to teach on-site and/or remote courses. For more information, contact



“ is a tremendous resource for developers looking to leverage Scala to and from Java, and presents useful information for maximizing productivity.”
 – Jamie Allen, author of Effective Akka, co-author of Reactive Design Patterns, Member of IBM Spark Technology Center Advisory Council, quote provided when he was Sr. Director of Consulting, Lightbend.

“ is good stuff!”
 – Debasish Ghosh, Lightbend Principal Engineer, author of DSLs In Action and Functional and Reactive Domain Modeling.

“With over 12 years as an enterprise IT software engineer, I needed to develop the skills for the reactive way of development. provided me what I needed. ScalaCourses’ Introduction to Scala and Intermediate Scala courses are a great way to learn Scala. The material can be applied to Apache Spark, Play Framework and Akka-based systems. I recommend for those ready to take the journey to reactive applications.”
 – Angelo Lynn, Solution Architect, Lightbend.

“The amount of Scala syntax you have to learn before you can code a Play Framework app is significant. That's why ScalaCourses’ Introduction to Scala and Intermediate Scala courses make sense as a prerequisite for their Introduction to Play course.”
 – Eric Torreborre, author of the Specs2 unit testing library for Scala.

“I encourage everyone interested in learning about Scala to enroll in online courses.”
 – Scott Clasen, Principal Engineer, Heroku, San Francisco, CA, USA.

“I love your videos. I've enrolled in 3 courses so far.”
 – Andrew Rubalcaba, Plano, TX USA.

“I like the pace (fast) and the content (deep). I’m glad I made the investment.”
 – Kirk Sullivan, Orlando, FL, USA.

“This course is way more practical than other ones I have tried. Excellent!”
 – Riku Karjalainen, Helskini, Finland.

“After three decades of working in academic social sciences I transitioned to a career in data science / engineering using Scala. I am currently a consultant at a Fortune 100 corporation in the financial sector of New York City. Most of the code runs on the Java virtual machine. ScalaCourses provides me professional-quality content on the Scala language and ecosystem. ScalaCourses’ video production is exceptional. ScalaCourses’ constant updates are crucial because the technology never stops moving forward. I recommend for those who seek to use the Scala ecosystem in professional settings.”
 – Sriram Natarajan, New York, NY, USA.

“ScalaCourses’ process of continuously improving and updating the course material is a very important differentiator. My interest is using Scala with Spark and other machine learning applications. Another important feature of is the ability for users to easily search the video transcripts.”
 – Richard Sargeant, Birkdale, Queensland, Australia.

“One of the many things I like about these courses is that they are filled with explanations of reality. I‘ve taken the Functional Programming and Reactive Programming courses at Coursera, read multiple books on Scala, attended Scala meet-up groups, listened to video lectures and presentations on Scala and done lots of exercises on my own over the past two years. I still learn lots from because the courses are filled with gems of practicality and reality that I've not found elsewhere. The explanations are crisp and clear. The courses manage to keep a fine balance between not requiring a lot of prior knowledge, while still addressing topics in a deep, meaningful way.”
 – Bill Bourne, Ottawa, Canada.

“These courses are what I wished for when I was learning Scala and Play Framework. Cadenza, the webapp that powers, is built from the same technology that we teach: Scala, Play Framework, Slick and Akka, so the material is practical and kept up to date.”
 – Mike Slinn, Managing Editor,, Half Moon Bay, CA, USA.


Learning Scala & Play Framework

Scala is a rich, powerful and subtle language. It has the well-deserved reputation of being difficult to learn, however the benefits are compelling. provides the most effective learning experience – and provides outstanding value.

Courses are packed with practical information so students can start working on real-world projects right away.

Integrating new information takes time. Learning happens when someone is exposed to new information, then attempts to use it, gets stuck, and then gets unstuck in a reasonable length of time. optimizes the entire learning experience, according to the schedule (or lack of schedule) that suits your needs.

Choose self-study or instructor-led learning. Enjoy regularly scheduled video conference sessions with a live instructor, or contact a live instructor when you have the need. You can also email questions whenever you need help.

Compare Scala Learning Options

Compare Learning Options

  Google Books Crash course (CC) MOOC ScalaCourses
Cost Free 5-10% of CC High Varies 25% of CC
Term Forever Forever Typically 3 days Typically weeks 365 days
Instructor Access None None Only during course If provided, often at extra cost Included
Accuracy Varies Quickly becomes stale Good Good Excellent
Completeness Good Varies Poor Varies Good
Retention Confusing Good Poor Poor Excellent
Update notifications None Rare None Rare Excellent
Updates Good Rare None None Excellent
Efficiency Poor Good Disruptive Varies Excellent
Usable knowledge Varies Good Forgotten Forgotten Excellent
Flexible Good Good Poor Poor Excellent

Google: This option is free and worth every penny. This is a slow and painful way to learn because a large amount of information must be sifted through, because it was either incorrect or incomplete when published, or has become out of date. Scala has changed a lot in the last 11 years. The Internet is an echo chamber that repeats half-truths and inaccuracies forever. Students must spend a lot of time trying to figure out what is relevant and correct.

Books: don't cost much, however they are usually out of date by the time they are published. Books can never be updated. Some of the most important Scala books have not been updated for years. The Scala language and runtime library has changed significantly since then, and some techniques common today were relatively unknown then.

Intensive in-person training (CC - Crash Course): This is the most expensive option but provides poor value. No instructor could possibly speak fast enough to cover all the necessary material in a few days, and by then the training event is over. Students do not have enough time to assimilate, practice and integrate the information. Some longer courses attempt to address the need to provide students enough time to be exposed to information and try working with it; not only does this drive costs to extreme levels, but by day #5 everyone is exhausted and learning is impeded.

ScalaCourses: Enrollments are for 365 days, and instructors are available to answer questions during the entire term. Students can learn at their own pace, or participate in an instructor-led online classroom over several weeks. Students can interact with a live instructor according to their needs. Organizations can negotiate a learning schedule that works for them

Video lectures can be viewed and reviewed at any time. As a student, you can pause and rewind portions you find difficult. We recommend students read the course notes (transcripts) when typing along with the lecture because they contain sample code and diagrams. The video lectures are designed for you to type along with, because it is important to learn by doing. Students can make a PDF of the course notes at any time.

Many person-years have been spent curating material to ensure it is accurate and complete. The course notes and code examples are kept up-to-date with Twitter and email notifications of changes.

Course enrollment is for 365 days, and all updates are included at no extra charge. You can renew your enrollment for an additional year for a fraction of the original price and thereby stay current.



20% Off Your 2nd and 3rd Enrollments

Enroll in any of our courses and get more at a 20% discount.

  • Fill in the form that appears when you click on the "Enroll Now!" button below and a human will send you an invoice.
  • In order to qualify for the discount:
    • All enrollments must be paid for on the same invoice.
    • Enrollments must be for the same person (no sharing).
  • Unpaid invoices will be canceled 14 days after they are issued.

Regular price is $495 per course. Course enrollments are for 365 days.

Enroll Now and Save!

You will feel right at home learning Apache Spark and Play Framework 2 for Scala after taking the Introduction and Intermediate Scala courses.

Individuals – Self-Study

Learn at your own pace. Get help from an online instructor when you need it. Course enrollments are for 365 days. Click on a course title to see detailed information.

Introduction to Scala $495 usd
Intermediate Scala $495 usd
Introduction to Play Framework With Scala $495 usd

Want to purchase a course for someone else, or don't want to use PayPal? Please ask for an invoice.

Extending Your Enrollments

Students may continue to have access to course materials after the 365-day enrollment period expires, by extending their enrollment. This is important because the course material is kept up to date as new releases of Scala, SBT and Play become available, and because the course material contains so much information that it takes years to absorb it all. Enrollments can be renewed at big discounts: 40% off the then-current list price of each course for the first renewal, 50% off for the second renewal, and 60% off thereafter. We contact students before their subscriptions run out so they can enjoy uninterrupted access to the courses.

Enrollments can only be extended 365 days at a time. For example, enrollments cannot be extended for only one month.

Individuals – Instructor-Led

Instructor-led training enhances the self-study training course materials with Office Hours via videoconferencing with a live instructor. This is an optional add-on for self-study students; for example, in order to participate in an instructor-led Introduction to Scala course, students must also enroll in the Self-Study Introduction to Scala course so they have access to the course materials. The schedule and course details are described on the Instructor-Led Training page.

Teams – Self-Study and Instructor-Led Training

Please contact for a quote. Groups can opt for self-study training at each individual’s own pace, or groups can obtain remote instructor-led training according to a schedule that meets their needs. If your group needs onsite training using our course materials, we can connect you with a qualified training partner.

All enrollments are subject to the ScalaCourses Terms of Service, Code of Conduct and Privacy Policy.

Online Instructor-Led Training

Instructor-led training uses the same course materials as self-study training, and all of the benefits of self-study training are included. For example, email support for each student is provided, just like self-study training. In addition, the instructor sets the schedule for online Office Hours (video conferencing), during which time common questions are addressed with live demonstrations and/or discussions. See below for additional information about how time slots are allocated for office hours.

Preparing For Office Hours

Please work through the designated material and ask any questions you have before attending Office Hours.

It should take you 8-12 hours to prepare for each Office Hours session. Once you have tried your best to work through the material, please email any questions that you have about the material to the instructor so they know what to discuss during Office Hours.

Please do not send a stream-of-consciousness series of emails, just send one email, and take the time to express yourself carefully. It is surprising how often the process of asking a carefully-considered question results in the answer becoming obvious before it is sent. If you are truly stuck, then please ask for help any time and we will be happy to help.

How Time Slots Are Allocated to Office Hours

Office hours can be provided in sets; each set covers the same material. Sets are grouped by time slot. For example, in order to provide office hours for a course to students in India, Australia, North America and Europe, each set of office hours would need between two and four time slots, depending on the aggregate preferences of all the students for attending early in the day, during the work day, or in the evening.

After you enroll in a course you will get an email with your login credentials. This email might take a few hours to arrive because a human will process it. Please reply to the email with the days of the week (all 7 days of the week are acceptable) and times of day you prefer for the office hours. Please specify the times in UTC; here is a time converter for you.

Time slots are announced once input has been received from sufficient students. We will schedule up to 4 sessions per Office Hour in different time zones, depending on demand. For example, if the greater of 10+ students or 25+% of all students in a class with at least 40 students indicate that they prefer a 9:00am UTC time slot on Tuesdays (corresponding to 2:30pm in Bangalore, India, 7:00pm in Sydney, Australia, 10:00am in London, UK and 2:00am in San Francisco, USA), we would schedule that time slot into the set and make an instructor available via video conferencing at that time.

The enrollment fee will be refunded if no acceptable time slot is available.

All enrollments are subject to the ScalaCourses Terms of Service, Code of Conduct and Privacy Policy.

Work With Us!

Independent Sales Representatives

We are looking for independent sales representatives based in North America, Europe and India to sell our training to corporations and educational organizations. Work from your own premises. This can be a full-time or a part-time job. For US residents, this a 1099-based contract.

About You

  • Strong interpersonal skills.
  • Honest and trustworthy.
  • Good communicator: can use email, telephone and video chat such as Google Hangout effectively.
  • Have quiet workspace with own computer set up for video chat; competent with word processing, spreadsheets, and email.
  • Present yourself professionally.
  • Self-motivated, must work effectively without supervision.
  • No programming experience required.


  • No in-person meetings or travel required.
  • Work within a geographic area and/or named account(s).
  • Renew existing training enrollments.
  • Identify new sales prospects and close new business.
  • Submit weekly status reports, including sales funnel.
  • Forward customer feedback within company as appropriate.

If interested, please send your resume and cover letter to We use Google Hangout to interview candidates. If we ask you to interview, be prepared to role-play a sales call, identify our training needs and follow-up with a mock quotation.