I'm Interested

Bootcamp [Scala]

  • Attend our free Bootcamp to become a better software developer. You can apply until February 18th, 2022.
  • Learn Functional Programming and Scala in just 3,5 months.
  • The best students will join us as Scala Engineers.

About

evolution big logo

Our training program will introduce you to practical application of functional programming in Scala. Successfully mastering the program will give you an opportunity to work as a software developer in Evolution.

Admission is based on the results of the interview and a test assignment, which can be done in any programming language. Classes will be held ONLINE.

calendar icon Duration — 3,5 months. March 2022 - July 2022

clock iconFrequency  — Twice a week from 18:00 to 20:00 CET on Tuesdays and Thursdays

chat bubble iconLanguage  — English

Please note that there is NO REQUIREMENT to have previous Scala or Functional Programming experience.

Why Scala with Evolution

Evolution is an international, world leading, B2B developer and provider of games and services for the online casino industry with 1000+ Engineers present in Latvia, Estonia, Netherlands, Belarus, Ukraine, Sweden, Portugal, Bulgaria. We are successfully using Scala as the programming language for back-end services.

Scala is a mature language that runs on the JVM and supports the Functional Programming paradigm, which in turn leads to writing high-quality and maintainable code. It has good interoperability with existing Java code, as well as excellent frameworks for developing distributed low-latency systems.

We believe Scala is the most practical and productive programming platform for most of our backend services. Scala is type-safe and in conjunction with the supporting libraries allows us to develop software that is scalable and reliable.

Scala is a successful commercial language that is widely used in Evolution, Linkedin, Twitter, Netflix, Epic Games and other companies.

At Evolution, we have successfully used functional Scala in production since 2013 to build a scalable and reliable gaming platform.

We have more than 100 knowledgeable Scala engineers keen to mentor newcomers in Scala and modern Functional Programming practices.

How It Works

1

documents icon

Sign Up

Fill out the application form

arrow icon

2

documents icon

Get Selected

Complete the practical assignment

arrow icon

3

documents icon

Learn Scala

Participate in the Bootcamp, develop your course project

Topics

Scala syntax and features

Functional Programming approaches and patterns

Asynchronous Programming in FP

Modern Scala libraries and applying them in a practical course project

SCALA SYNTAX AND FEATURES

  • Types in Scala
  • Functions
    • Pure functions
    • Partial functions
  • Control Structures
    • ‘for’-comprehensions
  • Immutable Data Structures
  • Parametric Polymorphism
  • Algebraic Data Types and their usage in functional design
  • Type Classes
  • Implicits

FUNCTIONAL PROGRAMMING APPROACHES AND PATTERNS

  • Error handling in FP
  • Higher Kinded Types
  • Tagless Final
  • Monad Transformers
  • Unit Testing

ASYNCHRONOUS PROGRAMMING IN FP

  • JVM concurrency
  • Functional Effects and the IO Monad
  • Shared state in FP

APPLYING MODERN SCALA LIBRARIES IN A PRACTICAL COURSE PROJECT

  • Cats and Cats Effect
  • Http4s with REST and WebSockets
  • Working with databases - Slick and doobie
  • Akka and Akka Persistence
  • Circe for JSON
  • Docker and Kubernetes
  • SBT

Our Expectations

  • Commercial programming experience or a last year IT specialty student
  • English language level - 'Intermediate' or higher
  • Willingness to learn Scala and Functional Programming and write clean, production-quality code
  • Interest in joining Evolution after the bootcamp completion

Your Benefits

  • Knowledge of practical Functional Programming in Scala, including libraries such as Akka, Akka Persistence, developing HTTP services and more
  • Develop a course project using a practical programming approach
  • Individual mentorship and feedback
  • Opportunity to join one of the leading Scala employers in the world, with 100+ strong Scala Engineers

Alumni Review

Anastasiya Kashko photo Aliaksei Kavaleuski photo Yaroslav Sydorenko photo Dmitrijs Ivancenko photo Aleksander Sorokin photo Krišjānis Veinbahs photo Volha Shuleika photo

“Programming was a hobby for me. And I always wanted to turn my hobby into something more. Evolution Scala Bootcamp gave me a chance to become a professional developer with no previous experience.”

— Anastasiya Kashko

“The coolest thing about this Bootcamp was the ability to ask any programming-related question and to receive qualitative responses from the mentors. Also, building new contacts and being on the same wavelength with others. The biggest extra on top of that - the possibility to land a new job.”

— Dmitrijs Ivancenko

“The thing that surprised me the most is that Scala Developers at Evolution tend to write code in a Functional style and have widespread interest in learning Functional Programming. I have never met FP enthusiasts before.”

— Aliaksei Kavaleuski

“I had some very basic Scala knowledge as I was working for some time with it before. So, I thought that this Bootcamp will give me a good boost in learning and maybe I would be able to work with Scala on a more professional level.”

— Yaroslav Sydorenko

“My life at EVO is never boring: I solve real-world problems and take on exciting challenges. I’m constantly exploring Scala deeper and actively applying the gained knowledge.”

— Aleksander Sorokin

“I was amazed by how I can just write code, ponder about architecture and write tests without actually having to manually test my applications because the Scala compiler always told me if I was wrong and what I should pay attention to.”

— Krisjanis Veinbahs

“I decided to participate in this bootcamp as it was a unique opportunity to gather knowledge and experience from the company that has been using Scala for years.”

— Volha Shuleika

Mentors

Juris Krikis

Scala and JS Department Lead

I started learning Scala in late 2012 when I started looking for a "better Java". At first, the learning curve for Scala seemed really steep, but then I did the Coursera introductory courses to "Functional Programming in Scala" by Martin Odersky and fell in love with the language and the functional programming approach.

I really like the compile time type checking features that well written Scala code has. The compiler helps you do various refactoring very efficiently, guiding the developer from working code to working code, without breaking anything. The probability that "if your code compiles, it works" is really high in Scala. By now, we have run 4 successful Scala bootcamps, and hired many of the graduates, who have successfully joined our teams!

Mikhail Sokolov

I studied physics at the university and devoted this subject quite a sufficient amount of time. At some point, I became attracted to software engineering and decided to give it a try. My professional journey started with Java, but after a few years of coding in Java, I realized - there is something more out there. So I kept exploring other coding languages until I tried Scala. I switched to Scala, seeking a more intellectually challenging job, high-quality code and better remuneration. In 2016 I joined Evolution Gaming as Scala Developer and I have never regretted making this decision ever since. Scala is often said to be a complex language. Partly it is, but that's what I like about Scala - it is challenging, intellectually stimulating. Scala allows me to write complex code with fewer bugs in it. I am happy to share my knowledge with others and prove that Scala can make developers happy!

Ivan Petrov

The very first time I heard about Scala was in 2014. It took me almost two years to start learning it for real, but I immediately fell in love with functional programming and was trying to incorporate as many ideas as possible in my Java code. I finished Coursera "Functional Programming in Scala" by Martin Odersky introductory courses and kept reading "Beginning Scala" by David Pollak and "Scala in Depth" by Joshua D. Suereth / Martin Odersky. Yet I had a feeling that I'm still missing something. Then I found "Functional programming in Scala" book by Paul Chiusano / Rúnar Bjarnason, so-called "Red Book" - it was a game-changer. That's how Scala became my favorite programming language and is still being it.

I love the way code looks in Scala, enjoy pattern matching and a strong types system. I know that there is one thing that can scare off the newcomers - there are numerous ways to solve the same problem in Scala. And it takes time to understand what is good and what is bad. I decided to become a Scala bootcamp mentor to help the newcomers in solving this dilemma. (or to teach them the very best practices)

Artsiom Miklushou

The first time I saw Scala, I think, was in 2014. Back then, I was programming Java for several years already. Scala totally amazed me: concise code, pattern matching, higher kinded types. All of these opened a totally new way of thinking about the software we write.

Back in 2016, I decided to join Evolution, and I was astonished about the amount of freedom we have here as software developers. I was interested in opening Scala to more people, showing the real power of this language. Hence, I decided to support Evolution initiative organising Scala Bootcamp as I already had some experience teaching Scala to my former colleagues.

Scala opens a new horizon for developers. Even if you are not going to write Scala in your day-to-day job, a lot of concepts that Scala has will make you a better software engineer for sure.

Don't miss your chance to learn something new with Evolution Scala Bootcamp!