Welcome to Virtusity

IT training
by professionals
for professionals

The development and acquisition of new skills are essential for every company. We help increase the level of expertise and competence by offering you a specialised training

01

Virtusity - VirtusLab’s training division

We created Virtusity to offer the highest possible quality IT training in association with leading technology partners like Lightbend, the company behind Scala and the Lightband Platform, and JetBrains, the company behind Kotlin and the strongest, most effective developer tools on earth and creators of Kotlin Lag.




02

One of a few in the world

We are the first Lightbend (formerly Typesafe, Inc.) consulting partner in this part of Europe and are now a Platinum Level Lightbend System Integrator. This is the highest partnership level possible, reserved for just a few elite Scala shops in the world. We are also the first JetBrains consulting partner in this part of Europe.






03

Our courses offer hands-on experience during which trainers share their vast know-how and deep knowledge of tools and techniques.

upcoming courses



Virtusity Workshop
Lightbend Akka for Scala – Professional – postponed until further notice.

This course introduces experienced Scala developers to the reactive Akka toolkit. The combination of hands-on work and exercises in this course provides the perfect environment to learn to use Akka with Scala.

 level
Intermediate - knowledge of and practical experience with Scala is assumed
 duration
March 14th and March 21st, 2 days - 8 hours each day, plus breaks
 requirements
Attendees bring their own laptops with Java 8
 approach
Extensive hands-on coding - attendees develop a workshop case study and produce a fully functional application that is event-driven and resilient
 lecturer
Paweł Lipski
Scala Engineer @ VirtusLab, with a long-standing inclination towards git hacking :) Currently maintaining git machete (https://github.com/VirtusLab/git-machete), aka "probably the sharpest git repository organizer & rebase workflow automation tool you've ever seen" as a hobby project.
Talk & Workshop - suspended
Kotlin – introduction & deeper look – postponed until further notice

Kotlin coroutines have gained a lot of traction since their stabilization. They are a lightweight, elegant and convenient solution for most of the asynchronous processing tasks. Using coroutines, developers can write code solving concurrency problems without drowning in the flood of callbacks. Since coroutines were stabilized only a year ago, there is a really good chance that your current project is based on some other library or framework for asynchronous processing. Does it mean that you cannot benefit from elegant, easy to reason code that coroutines bring to the table? In this talk, I am going to show you how you can bring powers of coroutines into your mature and borning framework. Or maybe your case is different and your project is already using lots of ‘async’s and ‘launch’es. Then you will see superpowers you can use to make your asynchronous code more readable and less repetitive.

 level
No previous knowledge of Kotlin needed.
 duration
28.03 - talk (30 min) & workshop (4h) 29.03 - workshop (4h)
 requirements
Laptop with any version of the IntelliJ IDEA environment and Java installed.
 approach
Day 1: Virtusity talk "Superpowers for tailoring asynchrony or how to customize your coroutines" & workshop for beginners - "Introduction to Kotlin". Day 2: Workshop "Kotlin: the deeper look". Follow up workshop to the introduction to Kotlin.
 lecturer
Paweł Marks
Paweł Marks is Kotlin Tooling Engineer at VL. He is also the main maintainer of Eclipse Kotlin Plugin and co-organizer of Kraków Kotlin User Group. He loves to get to know new programming languages, compare them and rant about them. Privately he is interested in linguistics, history and enjoys surreal memes.
Virtusity Talk
Productive engineer’s toolbox

Be faster by getting rid of your mouse.
Find Chrome tabs in the ocean of hundred opened windows in seconds.
Take a walk and let your long-running tests call you when they fail.
Use fuzzy search to find tabs, windows, files, code and terminal commands.

This talk will show a lot of less known productivity tips & tricks for macOS, IntelliJ and shell.

 level
Medium: minimal experience with IntelliJ and command line. Recommended familiarity with macOS, but alternatives for other operating systems will also be shown.
 duration
29th November at 3:30 p.m. (45minutes)
 requirements
None
 approach
Virtusity talk
 lecturer
Michał Fudała
Software engineer @VirtusLab with a full stack background. Uses JVM tech daily. Kotlin fan, DevOps wannabe, macOS and IntelliJ tooling nerd.
Virtusity Workshop
GraphQL Introduction with TypeScript

Introduction to GraphQL (based on the example of Apollo Server) and comparison with REST. The workshop is designed as an introduction to the topic of GraphQL. It’s an elemental workshop for people who have never tried GraphQL before. It isn’t mandatory, but it would be very helpful to have at least a basic idea of TypeScript.

 level
Introductory - no previous knowledge of GraphQL,
basic knowledge of TypeScript (https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html)
 duration
30th September 1 day - 4 hours of classroom time
 requirements
All participants are required to bring their laptops. Setup requires IDE of your choice with the latest node LTS and yarn.
 approach
We are going to use web-based IDE (CodeSandbox) with a pre-configured environment. However, participants could use the IDE of their choice (Node 10+ and yarn/npm is required).
 lecturer
Adam Kuśmierz
Software Engineer at VirtusLab
Kazimierz Zagroba
Software Engineer at VirtusLab
Virtusity Workshop
Typescript for JavaScript Engineers (VL training)
From the dynamic and chaotic world to the static and structured one. How to leverage TypeScript to make our work as frontend developers more enjoyable and deliver bulletproof applications to the clients.
 level
Introductory - no previous knowledge of TS is assumed, intermediate level in JS
 duration
5th-6th September, 2 days - 4 hours of classroom time each day, plus breaks (15:00 - 19:00)
 requirements
must bring their own laptops with VSCode and Node installed
 approach
Beyond education - students code through a training case study and discover how TypeScript makes their work easier and more enjoyable
 lecturer
Wojciech Karaś
Frontend Engineer with Fullstack and Backend past where he left part of his heart. TypeScript enthusiast and advocate that introduced it in many companies and projects. Believes in Static Typing, Functional Programming and Domain Driven Design as a future of programming. Enjoys building scalable frontend architecture base on React and Redux stack that utilises types to the fullest. Spends his free time exploring wild frontend ecosystem and new programming ideas.
 level
Medium - minimal knowledge of Python and SQL is required. No knowledge of Spark is needed.
 duration
August 22th-23th, 2 days - 4 hours of classroom time each day, plus breaks (15:00 - 19:00)
 requirements
Students must bring their own laptops with Java 8 and conda
 approach
Learn by doing: have access to all materials and solve exercises on your own with a help from experienced trainer. Discuss new concepts and solutions with other participants.
 lecturer
Mikołaj Kromka
a software engineer and Apache Spark trainer at VirtusLab with background in Computer Science and Statistics, focused on theoretical and technical aspects of leveraging Big Data in Machine Learning. As a PhD candidate he conducts his research in the field of large, dynamic Complex Networks. In his spare time likes to climb, take photos and explore Cracow art museums.
Virtusity Workshop
Java to Scala (VL training)
Short (1 day) introductory course to help you get up to speed with Scala language. Course ideal for experienced Java (or other JVM language) developers. We will cover language constructs, basic libraries and get a glimpse at FP in Scala. You should be able to understand typical Scala source code (and be able to write it) after successfully finishing this material.
 level
Medium - Scala experience not required, however good understanding of general programming in Java (or JVM) would be beneficial.
 duration
1 day of classroom time
 requirements
Students bring their own laptops with Java 8
 approach
Hands-on mastery - both theoretical background plus coding exercises
 lecturer
Paweł Lipski
Michał Pociecha
Paweł Dolega
Virtusity Workshop
Lagom: Battle-tested way to build microservices

Microservices world may seem overwhelming at the first time. CQRS, Event Sourcing, message queues – it may be hard to familiarize yourself with all that stuff at once. Lagom is a straightforward way to implement and deploy your first application. With it, you can build your environment, including Akka, Play, Cassandra and Kafka with just a single command.

 level
Intermediate Scala
 duration
29th January at 4 p.m. (4 hours)
 requirements
Familiarized with Scala Futures and Akka Streams
 approach
Randori session - participants will develop a single project sequentially, in 10-minute periods.
 lecturer
Tomasz Pasternak
Software engineer at VirtusLab. Builds reactive systems, mainly based on Scala, Lagom, Kafka and Cassandra. Formerly C++/real-time systems dev.
Virtusity Workshop
Lightbend Scala Language – Expert

The power of Scala’s type system, unleashed – advanced object functional programming, implicits, and more. Leverage rich language features to create well-designed libraries or DSL’s, utilizing proven best practices.

 level
Advanced - knowledge of and practical experience with Scala is assumed as taught in Lightbend Scala Language - Professional
 duration
5 - 6 February 2 days - 4 hours of classroom time each day, plus breaks (3pm-7pm)
 requirements
Students bring their own laptops with Java 8
 approach
Hands-on mastery - attendees code through workshop case study and explore how to solve the toughest Scala challenges in their own work
 lecturer
Jerzy Müller
Scala programmer since 2011, Scala Trainer since 2014. Dabbles in all kind of technology, mostly JVM-related.
Virtusity Talk & Workshop
Functional Programming in Java

Functional programming helps to create clear, concise and less error-prone code. That’s why in the world of rapidly growing codebases good understanding of fundamental concepts help to create solutions that will be easier to read and maintain. During the course, participants will learn functional programming essentials as well as practical techniques. After the course, you will be able to understand functional programming principles and which Java features promote their usage in a daily job.

 level
Intermediate (Java knowledge is required)
 duration
27-28 February, from 3 p.m. - 7p.m.
 requirements
The attendees have to bring their own laptops with Java 11 and IntelliJ (alternatively other preferred IDE) installed.
 approach
Theoretical background followed by coding and refactoring exercises.
 lecturer
Michał Podskoczy
Software engineer at Virtus Lab working daily with JVM technologies - mainly Java and Kotlin. Domain-driven design passionate, focused on creating well crafted and tested solutions.
Do you have any questions or suggestions? Don’t hesitate to let us know!
  info@virtusity.com
Powered byvirtuslab.com