Paul Lysak

Paul Lysak

Kharkiv, Kharkiv Oblast, Ukraine
Hire Paul
Scroll To View More
Paul Lysak

Paul Lysak

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
Portfolio
Experience
  • Java, 8 years
  • SQL, 7 years
  • Object-oriented Programming (OOP), 7 years
  • Functional Programming, 3 years
  • Scala, 3 years
  • Play, 2 years
  • Spark Core, 1 year
Kharkiv, Kharkiv Oblast, Ukraine
Availability
Part-time
Preferred Environment
Linux, IntelliJ IDEA, Git
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.
Employment
  • Scala Developer
    Sentrana, Inc. (via Toptal)
    2016 - 2017
    • 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.
    Technologies: Scala, Play, MongoDB, Spark, Redshift
  • Scala Developer
    Kreditech
    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: Scala, Java, Spring, Hibernate, Maven, PostgreSQL, RabbitMQ, MongoDB
  • Java/JavaScript Developer
    JasperSoft
    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 https://github.com/ibolmo/jasmine-jstd-adapter/pull/18.
    • Developed UI for a federated data source configuration so that multiple databases would look like one large database.
    Technologies: Java, Maven, Hibernate, Spring, JavaScript, jQuery
  • Java Developer
    Team International
    2010 - 2011
    • 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: Java, Spring, Hibernate, Maven, JBoss (ESB, jBPM), EJB3
  • Java Developer
    Grid Dynamics
    2010 - 2010
    • Extended an application for in-memory data grid testing.
    • Developed a data normalization layer for a web crawler.
    Technologies: Java, Spring, Hibernate, Lucene, GWT, JavaScript, jQuery, Ruby
  • Java/JavaScript Developer
    Freelance
    2009 - 2010
    • Developed parts of a web application for drawing sketches and ordering engravings.
    Technologies: Java, Spring, Hibernate, DWR, Batik, Maven, JavaScript, jQuery
  • Java Developer
    Uniquare
    2007 - 2008
    • Developed a bank teller workplace automation application.
    Technologies: Java, Ant, JavaScript
Experience
  • ETL Tool for Personal Finance Tracking (Development)
    https://github.com/paul-lysak/finloader

    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 (Development)
    https://github.com/paul-lysak/CsvStreamingParser

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

  • Serverless Photo Gallery (Development)
    https://github.com/paul-lysak/gallery-proto

    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.

Skills
  • Languages
    Scala, Java, JavaScript, SQL
  • Frameworks
    Play, Spring, Akka, Hibernate, JUnit, Mockito, Finagle, TestNG
  • Tools
    Spark SQL, Git, SBT, ScalaTest, Maven, RabbitMQ
  • Paradigms
    Functional Programming, Object-oriented Design (OOD), Object-oriented Programming (OOP)
  • Platforms
    Spark Core, Linux, Heroku
  • Libraries/APIs
    ScalikeJDBC, Slick, jQuery, spray
  • Storage
    PostgreSQL, MongoDB
  • Misc
    AWS S3, AWS EMR, Elasticsearch
Education
  • Master's degree in Applied Mathematics
    Kharkiv Polytechnical Institute - Kharkiv, Ukraine
    2003 - 2009
I really like this profile
Share it with others