Netherlands
I'm a senior software engineer with an MSc in Computer Science and over 10 years of professional experience. My main area of expertise is JVM backend development. I'm not afraid to use any technology as long as it’s suitable for the task. I have hands-on experience with microservices architecture, Spring Boot, SQL and NoSQL databases, GCP, CI/CD, message queues, and more. Beyond my core work, I enjoy automating repetitive developer tasks using Python.
System: Flight Order Processing Flow - a monolith system written in Java (v. 21) that is called after a flight search. The system facilitates order creation and optimises charges paid to flight systems. - Update APIs to integrate with new airlines. - Update outdated Flight System contracts. - Create and integrate system configurations using an internal rule engine. - Work on new features, such as support for frequent flyer numbers.
Project: Supply Hub Workflows - a microservice system that provides an abstract API for booking and ticketing with different flight providers. - Created Microservices with Java (21) and Reactive Spring Boot (3), deployed on Google Kubernetes Engine. - Contributed to the framework written on top of Spring Boot. - System maintenance: built Grafana dashboards, managed Kibana logs, alert definitions, metrics (Prometheus). - Collaborated on system design. Project: Pricing Migration - a pricing system created with a rule engine responsible for the pricing of tickets sold by Travix. - Created Python scripts that automate migrating rules to a different contract definition. - Maintained pricing rules microservice framework written in .NET. Project: Java Training for .NET engineers in Travix. - Coached and shared the knowledge about Travix Java stack with engineers transitioning to Java. Side Hustle: Created a tool for engineers that helped with speeding up the most common tasks. - Created an internal tool that allows for quickly searching through all BitBucket repositories and executing tasks like: “clone project”, “open in IDE”, “open CI/CD pipeline”, “open in BitBucket”, “show Grafana dashboards” , “show Kibana logs”.
Project: a Java/Kotlin framework for building distributed systems for the financial sector. - Worked on core framework development enabling no-code product generation based on user-defined configurations. The framework enabled creating a data model definition and relations defined in xml and transactional operations defined in Groovy and later - Kotlin DSL. It provided an engine and generated code handling these operations. My work involved: working on (byte) code generation (JavaAssist, ByteBuddy); working with NoSQL databases (Aerospike, FoundationDB); message queues (Active MQ) which provided Change Data Capture feature; continuous integration with Jenkins. - Shared my Java expertise with product developers during Groovy to Java migration. - Supported users of the framework, wrote documentation and managed feature requests. - Integrated the framework with Exegy - a financial market data engine.
Project: a web-based insurance quote-and-bind platform for brokers and underwriters. - Developed a module that allowed testing the application quickly and easily in an end-to-end manner in multiple browsers using a Jetty server, a Docker container, a PostgreSQL database, JUnit, Cucumber stories, Selenium, and BrowserStack. - Implemented new features in the system - front and backend (GWT, Java 8). - Presented aggregated/filtered data on the front-end about clients, their policies, brokers, agencies, and commissions (Java 8). - Updated, managed, and maintained the system database, including adding new users & roles (PostgreSQL) and created complex data migration scripts. - Implemented communication with outside services (using REST) allowing automatic login to the system with a token after redirection from an outside service.
Project: a CRM system for bank employees for managing their clients, products and finances. - Created and modified existing forms with GSP (Groovy Server Pages). - Changed database models and entities (Hibernate). - Generated SQL reports, performed direct SQL updates.