IT Training
by professionals for professionals

This is a two-day workshop created specially for programmers who would like to start their adventure with Scala. If you have experience in another programming language and wish to acquire applied Scala knowledge under the guidance of top specialists, this training is for you.

For programmers  


Q Hotel Plus Kraków, Wygrana 6  

3300 PLN + VAT  


Paweł Dolega

Software engineer / entrepreneur. New technologies & interesting ventures. Worked in international corporations, small local software houses (two of which I co-founded) . These days my weapon of choice is mostly Lightbend stack (Scala / Akka / Play / Spark) though I am trying to remain flexible and not be too orthodox.

Far more important than actual technology – I am really passionate about technological challenges and problems that technology is trying to solve. I like to work on things that matter.

Worked as a software engineer, development lead and technical manager. Delivered projects both in government and private sector, both in Poland and abroad. All the projects delivered successfully, avoiding government contract fines or customer dissatisfaction (most, if not all, customers were returning ones). Had to fight teeth and nails from time to time to make it happen because of constrained staffing or extreme deadlines.

I worked with large-scale, highly available systems serving millions of clients, been involved in coordinating efforts of teams scattered around the world with crazy timezone differences and spent lots of time in modern virtualization / cloud computing initiatives / projects. Worked mostly with Unices (as plain Linux, Solaris, HP/UX, AIX and i5).

Worked with dozens of DB engines (relational, graph or document based), frameworks and technologies. My key skill is the ability to learn and *adapt* – and doing it rapidly.

Infrequent conference speaker and open source contributor.

About Training

This course is designed to give experienced developers the know-how to confidently start programming in Scala. The course ensures you will have a solid understanding of the fundamentals of the language, the tooling and the development process as well as a good appreciation of the more advanced features. If you already have Scala programming experience, then this course could be a useful refresher, yet no previous knowledge of Scala is assumed.


  • experience with Scala, such as completion of Fast Track to Scala course;
  • experience with SQL, machine learning, and other Big Data tools will be helpful, but not required.

After having participated in this course you should:

  • be a competent user of Scala;
  • know and be able to apply the functional programming style in Scala;
  • know how to use fundamental Scala tools;
  • be confident to start using Scala in production environments.


  • introduction:
    • what is Scala?
    • where did it come from?
    • why should I use Scala?
  • First steps in Scala:
    • Scala syntax;
    • Scala REPL.
  • Object-oriented basics:
    • create and usage of classes;
    • fields and methods;
    • singleton objects;
    • case classes.
  • Testing:
    • Scala testing ecosystem;
    • introduction to Behavior Driven Development;
    • ScalaTest.
  • Collections and functional programming:
    • overview and usage collection library;
    • immutability, persistent data structures and structural sharing;
    • functions and high-order functions.
  • For loops and for expressions:
    • difference between for loops and for expressions;
    • composing high-order functions.
  • Inheritance and traits:
    • Scala type system;
    • mix-in traits;
    • lineralization.
  • Pattern matching:
    • usage and benefits;
    • catch exceptions;
    • deconstruct tuples.
  • Dealing with optional values:
    • introduction to Option;
    • usage and benefits,
  • Handling failure:
    • introduction to Try;
    • usage and benefits,

Training partner