Paul Lysak, Software Developer in Kharkiv, Kharkiv Oblast, Ukraine
Paul Lysak

Software Developer in Kharkiv, Kharkiv Oblast, Ukraine

Member since July 28, 2014
Paul is a seasoned software developer with over a decade of experience and a focus on Scala, Play, Akka, and Apache Spark. He develops safe, maintainable software that is robust against unintended bugs and transparent for monitoring and diagnostics. He uses computational resources efficiently, developing reactive applications that don't clog up threads.
Paul is now available for hire



  • Java 8 years
  • SQL 7 years
  • Object-oriented Programming (OOP) 7 years
  • Scala 4 years
  • Functional Programming 3 years
  • Play 2 years
  • Akka 2 years
  • Spark Core 1 year


Kharkiv, Kharkiv Oblast, Ukraine



Preferred Environment

Git, IntelliJ IDEA, Linux

The most amazing...

...thing I've created is a SQL query parser with Scala parser combinators. It was ready to do useful stuff in just two days.


  • Scala Developer

    2017 - 2018
    • Developed the back-end for a specialized chat application.
    • Designed and developed a service for integrating the chat application with a CRM.
    • Integrated the chat back-end with MS Azure push notifications.
    • Created a toolset for integration testing of web socket interactions.
    • Developed Scala macros for generating Akka-HTTP routes from Swagger annotations.
    Technologies: Apache Kafka, Play, Akka, Scala
  • Scala Developer

    2016 - 2017
    Sentrana, Inc. (via Toptal)
    • Implemented the core of the back-end for data transformation workflow.
    • Created a fully reactive user management service and SDK for simple integration into other projects.
    • Led the development of an opportunity analysis system, from early proof of concept to minimum viable product.
    • Did performance and capacity optimizations for a Spark application.
    Technologies: Redshift, Spark, MongoDB, Play, Scala
  • Scala Developer

    2013 - 2015
    • Developed an online loan processing application core.
    • Handled investigation and troubleshooting of production issues.
    • Improved system transparency by setting up collection of log metrics and developing an audit trail sub-system.
    • Developed infrastructure for indexing data in Elasticsearch in order to improve scalability and convenience of use.
    • Tuned RabbitMQ queues to ensure that no incoming payments are lost and that system performance is fine.
    Technologies: MongoDB, RabbitMQ, PostgreSQL, Maven, Hibernate, Spring, Java, Scala
  • Java/JavaScript Developer

    2011 - 2013
    • Handled bug fixes and improvements in Jasper Reports Server.
    • Researched the possibility of integrating JavaScript asynchronous modules (AMD) into an existing system. Contributed to some open source tools, for example
    • Developed UI for a federated data source configuration so that multiple databases would look like one large database.
    Technologies: jQuery, JavaScript, Spring, Hibernate, Maven, Java
  • Java Developer

    2010 - 2011
    Team International
    • Ported parts of a middleware layer of a telecom system from WebLogic to JBoss.
    • Handled bug fixes and improvements for a media content management system.
    Technologies: EJB3, jBPM, Enterprise Service Bus (ESB), JBoss, Maven, Hibernate, Spring, Java
  • Java Developer

    2010 - 2010
    Grid Dynamics
    • Extended an application for in-memory data grid testing.
    • Developed a data normalization layer for a web crawler.
    Technologies: Ruby, jQuery, JavaScript, GWT, Apache Lucene, Hibernate, Spring, Java
  • Java/JavaScript Developer

    2009 - 2010
    • Developed parts of a web application for drawing sketches and ordering engravings.
    Technologies: jQuery, JavaScript, Maven, DWR, Hibernate, Spring, Java
  • Java Developer

    2007 - 2009
    • Developed a bank teller workplace automation application.
    Technologies: JavaScript, Ant, Java


  • ETL Tool for Personal Finance Tracking

    A tool that parses raw data stored in CSV files, transforms it, and saves it into a relational database for further analysis. I use it for my finance tracking.

  • CSV Streaming Parser

    A JavaScript library for parsing large CSV files piece-by-piece.

  • Serverless Photo Gallery

    I back up my photos on Amazon S3 and I wanted to be able to browse the backups directly, without prior downloading. The solution has to be cost efficient—it makes no sense to pay for constantly running server when you need it just a few hours per year. At the same time, it has to be always available. So, I leveraged AWS services to build a serverless gallery application:

    Cognito - for user management and authentication
    Lambda - for custom code that generates thumbnails and signs the cookies
    API Gateway - for exposing lambdas through HTTP calls
    CloudFront - for caching resized images and authorizing access by checking signed cookies.

    The UI was implemented in JavaScript with Vue.js, and lambdas for the back-end in Scala.

    The solution works great—when I don't browse the photos, it costs nothing besides S3 storage cost, and when I actively use it, it's just a few cents per month.


  • Languages

    Java, Scala, SQL, Ruby, JavaScript
  • Paradigms

    ETL, Functional Programming, Object-oriented Programming (OOP), Object-oriented Design (OOD)
  • Frameworks

    Play, Akka, jBPM, GWT, Spark, AWS EMR, TestNG, Spring, Finagle, Mockito, JUnit, Hibernate
  • Tools

    SBT, Git, IntelliJ IDEA, Spark SQL, ScalaTest, Maven, RabbitMQ
  • Platforms

    Spark Core, JBoss, AWS Lambda, Apache Kafka, Heroku, Linux
  • Libraries/APIs

    Apache Lucene, DWR, Akka Streams, ScalikeJDBC, Slick, jQuery
  • Storage

    Redshift, AWS S3, Elasticsearch, MongoDB, PostgreSQL
  • Other

    Enterprise Service Bus (ESB), EJB3, Ant, Akka HTTP


  • Master's Degree in Applied Mathematics
    2003 - 2009
    Kharkiv Polytechnical Institute - Kharkiv, Ukraine

To view more profiles

Join Toptal
Share it with others