Mateusz Jedrzejewski, Java Developer in London, United Kingdom
Mateusz Jedrzejewski

Java Developer in London, United Kingdom

Member since February 6, 2017
Mateusz is a highly motivated software engineer with versatile skills and a lot of passion. He has a deep understanding of both running computer systems and software development processes. Mateusz loves challenging work, learning new things, and that feeling that he can make a difference. Apart from focused, result-oriented engineering experience, Mateusz also has a scientific background, primarily in image recognition.
Mateusz is now available for hire


  • OUTFRONT Media (via Toptal)
    Kubernetes, Java, Dropwizard, Scala, Datadog, Microservices, AWS
  • Nordea | LTI
    Spring, Gang of Four (GOF) Design Patterns, Java 8, AssertJ, Agile, JUnit...
  • DWP UK
    Gang of Four (GOF) Design Patterns, Java 8, AssertJ, Agile, JUnit, Jira...



London, United Kingdom



Preferred Environment

Jira, Git, Vim Text Editor, IntelliJ IDEA

The most amazing...

...project I've worked on was building a greenfield video playing platform. It was amazing to watch something I have created be used by millions of users.


  • Senior Back-end Developer

    2019 - 2021
    OUTFRONT Media (via Toptal)
    • Worked on a sophisticated system for scheduling advertising campaigns on LED displays in trains and subways of New York and Boston.
    • Oversaw the transition of the project to live and the ongoing production monitoring and support.
    • Created an external-facing API in Java and Scala to enable scheduling of advertising campaigns and their further inspection.
    • Wrote automated tests on the unit level and on the environments.
    • Managed the Kubernetes configuration and Helm charts for the deployed services.
    • Integrated a legacy campaign scheduling system.
    Technologies: Kubernetes, Java, Dropwizard, Scala, Datadog, Microservices, AWS
  • Senior Java Developer

    2018 - 2019
    Nordea | LTI
    • Worked on a large tool that manages deployments and configurations of almost all the software in the organization.
    • Transitioned a large monolithic application into a microservice architecture.
    • Implemented brand new microservices with a Java Spring Boot back end that nonlinearly corresponds to functionalities in the previous generation application.
    • Implemented a UI based on Angular 6 with dynamic features following MVVM patterns.
    • Created and maintained a continuous delivery pipeline that runs automated deployments and testing procedures on environments.
    • Participated in the architectural design of new components being developed.
    • Followed a Scrum-based development process and worked towards sharing the experience to make the process smooth and genuinely agile.
    • Implemented a caching approach for various types of platform data using the Caffeine library and Spring Boot.
    Technologies: Spring, Gang of Four (GOF) Design Patterns, Java 8, AssertJ, Agile, JUnit, Continuous Delivery (CD), Test-driven Development (TDD), Scrum, DevOps, Microservices, REST, Angular, Spring Boot
  • Senior Java Developer

    2017 - 2018
    DWP UK
    • Participated in digitalization of complex social benefits system business processes for social care agents and claimants in the UK used by millions of people across the country.
    • Planned and designed the solutions that support and automate various processes (from payments to housing verification and so on), involving input from user research and UI design.
    • Implemented a REST web service's back end and front end for the platform.
    • Utilized TDD, strong coding practices, pair programming, and other Agile principles to implement new features and refactor legacy code.
    • Maintained and gathered statistics for the working production system (Splunk, Grafana).
    • Solved issues and bugs concerning the running production system.
    • Participated in Kanban whiteboard-based development with a close relationship between development and QA.
    • Implemented highly available third-party-system communication with Kafka queues.
    Technologies: Gang of Four (GOF) Design Patterns, Java 8, AssertJ, Agile, JUnit, Jira, Grafana, Splunk, Pair Programming, Kanban, Test-driven Development (TDD), Apache Kafka, Dropwizard, MongoDB, REST
  • Senior Java Developer

    2016 - 2017
    • Designed, implemented, and supported crucial government platform components used directly by millions of tax payers.
    • Created reactive REST services used for customer messaging, profile management, and authorization.
    • Contributed to the release management for microservices deployed on a custom-built, Docker-based platform.
    • Used a fully Agile development process which included Kanban, robust tesing/quality assurance procedures, and heavy use of pair programming.
    • Maintained, monitored, and analyzed usage patterns on running production systems with Kibana and Grafana.
    Technologies: Gang of Four (GOF) Design Patterns, Java 8, AssertJ, Agile, JUnit, Domain-driven Development, Grafana, Kibana, Continuous Delivery (CD), Continuous Integration (CI), Kanban, Reactive Programming, Test-driven Development (TDD), Docker, MongoDB, REST, Play, Scala
  • Senior Java Developer

    2014 - 2016
    • Re-implemented crucial components of monolithic video player back-end application in a new REST microservice architecture from the very beginning of the project to production release and later support.
    • Contributed to all levels of software development (planning, development, functional testing, NFT testing, deployment, infrastructure configuration, maintenance).
    • Worked in a very Agile development environment (constant pair programming, strong TDD, extreme emphasis on quality assurance and testing, and full Scrum which later turned to Kanban).
    • Designed, implemented, and constantly improved continuous delivery pipeline including fully seamless deployment scripts that could deploy do production without any disruption.
    • Provided real-time monitoring, maintenance, and on-call support of a heavily used (up to 2,000 TPS, 10 million user base) video application's back end.
    • Prepared demo applications (Angular front end) and showcases for other teams and non-technical business representatives.
    • Designed and implemented custom Angular-based application which was fine-tuned for monitoring running the back end on all environments.
    • Implemented caching in Dropwizard for the VOD content and streaming data with the Ehcache library.
    Technologies: Amazon Web Services (AWS), Gang of Four (GOF) Design Patterns, Java 8, AssertJ, Agile, JUnit, Domain-driven Development, Test-driven Development (TDD), Kibana, Grafana, AWS ELB, AWS, Ansible, Docker, Angular, Apache Kafka, Cassandra, REST, Dropwizard, Java
  • Senior Java Develper

    2013 - 2014
    • Developed core components of the back end for an online game platform with millions of active users.
    • Worked on both a legacy monolithic application and a new REST microservice oriented architecture for new components.
    • Contributed to crucial ideas and made them work both on the architectural and API design levels.
    • Utilized quality assurance, testing (TDD), and Agile Scrum-based methodology.
    • Maintained and supported live production components with Splunk.
    Technologies: Spring, Gang of Four (GOF) Design Patterns, AssertJ, Agile, JUnit, Subversion (SVN), Git, Scrum, Splunk, Test-driven Development (TDD), Domain-driven Development, Angular, JMS, Dropwizard, REST, Java
  • Senior Software Develooper

    2012 - 2013
    Intel through Sii
    • Developed an automated USB device testing platform as an SOA-based system.
    • Implemented low-level interactions with Linux USB devices.
    • Designed and implemented a web UI interface for the management of different parallel testing executions.
    • Introduced test-driven development (TDD) techniques to the project.
    Technologies: Git, USB, JNI, SOA, C++, C#, Java
  • Software Developer

    2010 - 2012
    Gdańsk University of Technology
    • Participated in an innovative project for automated disease recognition on endoscopic images.
    • Analyzed and implemented the latest scientific developments in medical image recognition.
    • Contributed to the preparation of scientific publications summing up the work and outcomes.
    • Implemented the UI application for medical specialists to perform automated video analysis.
    Technologies: Windows Presentation Foundation (WPF), Image Recognition, Java, C#, C++
  • Java Developer

    2007 - 2010
    Wolters Kluwer Poland
    • Implemented an innovative web interface application for legal system workers (lawyers, judges, and so on) to search for legal documents and company information.
    • Integrated back-end services to gather data to be displayed.
    Technologies: HTML, JavaScript, GWT, Java


  • Crowd Panic Detection on CCTV Videos

    This was my masters dissertation for which I had spent a lot of time learning algorithms and methods of computer vision. Also read a few latest scientific articles on the matter. The final solution was implemented in C++ with OpenCV and utilized techniques such as optical flow and my own modification of a gaussian mixture model. It then proved to work on a few video samples I had acquired which gave me a lot of satisfaction.

  • Video Application Back-end in Microservice Architecture

    I was working on a backend for the video play out application written in REST microservice architecture using Java and Dropwizard.

    It was extremely satisfying to see the applications that I implemented and overlooked from the first lines of code to finally go to production release and be continuously used by millions of customers.

    The project was run in a very agile way (Scrum later Kanban), with strong TDD and constant pair programming.

    I was deeply involved in the project and apart from taking part in planning of work, designing and implementing solutions, I introduced essential parts of the build process. Amongst other things, I worked on ansible configurations, package management, test execution on different environments or seamless deployment process implemented in Python.

    Running production application was constantly monitored through both grafana and Kibana with the use of custom fine-tuned graphs and message logs to have maximum visibility of the running system, I was also one of initiators and main creators of a custom monitoring application written in angular.

    The project involved on-demand support.

  • Web Application for British Tax Payers

    I was working as a contractor for UK tax office (HMRC) on the website to be used by all tax payers (individuals, companies and organizations) in the UK. It was written in microservice architecture with the use of Scala and Play framework and involved work on both front-end and back-end.

    The project had really good automation process for creating new microservices so I did introduce a proper breakdown of business logic as per rules of REST and Domain Driven Design wherever I could. It also had a very efficient release process that used deployment pipeline and automated testing so I was often able to have my code in production in a few days.

    It also had a strong Agile/Kanban process.

    I worked in two crucial areas of the project - one being messages and alerts sent to the tax payers and another - the authorization system which was used by almost all other components.

    I was constantly monitoring the running system and received alerts if anything wrong happened and the work involved finding and fixing issues on a live production system.

    Overall it was a very satisfying project on which I have learnt a lot - from different details about how the deployment worked, to functional programming with asynchronous I/O.

  • Back-end of an Online Gaming Platform

    It was a platform for slots and bingo games amongst others and had a user-base consisting of a few million people.

    The main part of the backend was written as a large monolith Java application that exposed APIs to higher levels - the UI and games. The codebase did however follow some patterns of Domain Driven Design and the components were isolated from one another. It was a very interesting time as the company was expanding their business and new components were written as REST microservices with Java and Dropwizard. I worked on some very core and crucial parts positioned very low in the stack that involved manipulation of users funds. My work largely involved implementing new functionalities for existing components and also designing and implementing new components, cooperating directly with the architects and the product owners. I employed strong TDD and clean code principles. It also involved constant support and monitoring of a running production system including tracking down bugs and issues.

  • Web Application for Country-wide Management of the Benefit System

    This work has been carried out for a different governmental department, was used by mainly Claimants and Job Agents to digitalize the processes needed for managing the benefit system in the whole of UK.

    What was very interesting on this project was the domain, which was very complex. Implementing new features often required hands-on analysis of current manual practices that took place outside of the system, that also had a lot of vague and unclear parts to it, and then trying to design and implement then in the context of an already existing solution.

    Also the codebase was common with a single repository so I have been working in various different areas.

    The project was based on Java 8 and custom framework built on top of Dropwizard. Apart from implementing new features, I was involved in refactoring of existing legacy code, laying proposals of how it can be improved long-term. From time to time, I also fixed bugs and provided support of the running system.


  • Languages

    Java 8, Java, HTML, CSS, HTML5, JavaScript, Scala, C, C++, SQL, C#, Python
  • Frameworks

    Dropwizard, Mockito, JUnit, Spring, Play, Windows Presentation Foundation (WPF), GWT, Spring Boot, AngularJS, Play 2, Django, JNI, Angular
  • Libraries/APIs

    AssertJ, JAX-RS, Jackson, JMS, jQuery, OpenCV, JDBC, Hystrix
  • Tools

    Git, IntelliJ IDEA, Ansible, GitHub, Grafana, Kibana, Vim Text Editor, AWS ELB, Subversion (SVN), Splunk, Vagrant, Maven, Logstash, Jira, Gradle, SBT, ScalaTest, Cucumber, Puppet
  • Paradigms

    Agile, Continuous Delivery (CD), Test-driven Development (TDD), REST, Continuous Integration (CI), Pair Programming, Clean Code, Domain-driven Development, Microservices, Scrum, Gang of Four (GOF) Design Patterns, Kanban, Reactive Programming, SOA, DevOps, Functional Programming, Functional Reactive Programming
  • Other

    Domain-driven Design (DDD), AWS, USB, HATEOAS, Image Recognition, Big Data
  • Platforms

    Docker, Amazon Web Services (AWS), iOS, Linux, AWS EC2, Apache Kafka, Kubernetes
  • Storage

    Cassandra, NoSQL, Cache, MongoDB, Datadog


  • Master of Science and Engineering degree in Computer Science
    2005 - 2010
    Gdansk University of Technology - Gdańsk, Poland

To view more profiles

Join Toptal
Share it with others