Tomasz Michalski

Senior Software Engineer at Etraveli Group

Netherlands

About

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.

Experience

  • Senior Software Engineer at Etraveli Group
    Jun 2025 - Present · 1 yr 2 mos

    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.

  • Travix International (5 yrs 8 mos)
    • Senior Software Engineer
      Mar 2022 - May 2025 · 3 yrs 3 mos

      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”.

    • Java Software Engineer
      Oct 2019 - Mar 2022 · 2 yrs 6 mos

  • Core Java Developer at Genesis Global Technology
    Feb 2018 - Sep 2019 · 1 yr 8 mos

    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.

  • Java Developer at Efinity Sp z o.o.
    Nov 2015 - Jun 2017 · 1 yr 8 mos

    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.

  • Groovy Developer at BZ WBK
    Jul 2015 - Aug 2015 · 2 mos

    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.