[SCALA] Bootcamp

About Intro video

About

Attend our free Bootcamp to become a better software developer.

You can apply until December 23rd, 2022.

Learn Functional Programming and Scala in just 3,5 months. The best students will join us as Scala Engineers.

 

Our training program will introduce you to the 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.

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

  • Duration — January 2023 - May 2023
  • Frequency — 5pm CET. Tuesdays and Thursdays. Starts January 24th
  • Language — English

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, and Germany. 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 scalable and reliable software.

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

Sign Up & Fill out the form

Step Arrow
2

Get Selected & Complete the assignment

Step Arrow
3

Participate in the Bootcamp & Learn Scala

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

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

Modern Scala libraries and applying them 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

Mentors

  • Juris Krikis
  • Yauheni Kurneuski
  • Aliaksandr Baranouski
  • Andrei Ivaniuk
  • Artsiom Samasadau

” I started learning Scala in late 2012 when I started looking for a ‘better Java”. At first, the learning curve for Scala seemed really, 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 5 successful Scala bootcamps, and hired many of the graduates who have joined our teams!

Juris Krikis

Scala and JS Department Lead

Yauheni Kurneuski

Backend Developer

“ I started to learn scala together with haskell more than 10 years ago. At first, I didn’t really like haskell – it had very unusual and strange syntax. But the more I learned it more I enjoyed it and understood that most of haskell concepts could be used in scala. Since then, I have used Scala in my daily job. I have been using scala at my daily job ever since. In my lectures, we will see how we can build HTTP services in a functional way.”

Aliaksandr Baranouski

Backend Developer

“I started my programming career as a Scala engineer back in 2016. At the time, we were using it just as a better version of Java, mostly relying on Java frameworks to build our projects. The benefits that Scala brought to the table were obvious: you’ve had a proper type system, less boilerplate, higher-order functions, pattern matching, etc. I then went to work with Apache Spark on data processing – and Scala was also a key technology there. But I knew there was something else – functional programming with Scala. At the time I joined Evolution, it was in full bloom: multiple approaches, several key libraries surrounding it, and multiple books explaining it. And I think that’s what Scala was really meant to be: a powerful, flexible, functional programming-oriented language. Not just some better version of Java, as many people think.

So now I would like to share the experience I’ve had with others, showing that Scala has grown a lot and offers a wide variety of possibilities for developers.”

 

Andrei Ivaniuk

Lead Backend Developer

“I moved from Clojure to Scala in 2014 and was impressed by the Scala type system. My areas of interest are functional programming, type systems and DSLs. I will be talking about functions – the main concept of functional programming. And type classes – one of the ways how we can achieve polymorphism in Scala.”

Artsiom Samasadau

Backend Developer

I was mostly working as a Java developer when I first faced Scala, and it pleasantly surprised me with a lot of new concepts that forced me to reconsider my previous experience.

As soon as I knew about Scala Bootcamp – I enrolled.  By learning here, I got to know the best practices for Scala development. I saw that Evolution gives to developers a lot of freedom and the ability to learn and use modern approaches for building software. That’s why I decided to join the company after the Bootcamp.

In my opinion, Scala is a language that grows with you. In the sense that when you are becoming a better developer, you are opening new ways to use it and understanding how deep it really is.

For me, this Bootcamp became a chance to dive into this world and learn a lot of new and interesting things, so I’m suggesting the same for you.

 

It's time to learn [SCALA]