Mateusz Jedrzejewski
Verified Expert in Engineering
Backend and DevOps Developer
London, United Kingdom
Toptal member since March 5, 2018
Mateusz is a highly motivated software engineer with versatile skills and passion. He has a deep understanding of running computer systems and software development processes. Mateusz loves challenging work, learning new things, and the feeling that he can make a difference. Apart from focused, result-oriented engineering experience, Mateusz has a scientific background, primarily in image recognition.
Portfolio
Experience
- Java 8 - 5 years
- Agile - 5 years
- Test-driven Development (TDD) - 5 years
- Microservices - 5 years
- Domain-driven Design (DDD) - 5 years
- REST - 5 years
- Continuous Delivery (CD) - 4 years
- NoSQL - 4 years
Availability
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.
Work Experience
Senior Full-stack Developer | Tech Lead
Riskfintech
- Developed scalable, innovative risk management software.
- Created full Kubernetes cluster configuration on EKS (AWS) using Flux (GitOps) and Terraform.
- Oversaw the transition of the product from the proof of concept to the industry-standard solution.
- Implemented and maintained CI/CD pipeline for a microservice-based platform —automated builds, unit, integration, and performance testing.
- Managed several other team members' work on several workstreams and portions of the product.
- Contributed to the hands-on work on the back-end, front-end, and DevOps fronts.
- Utilized Spark to achieve high scalability and automation.
Senior Back-end Developer
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 advertising campaigns and their further inspection.
- Wrote automated tests on the unit level and the environments.
- Managed the Kubernetes configuration and Helm charts for the deployed services.
- Integrated with a legacy campaign scheduling system.
- Created Helm charts and deployment configuration for microservice applications.
- Implemented automated database migrations, rollbacks, and testing.
- Created and maintained CI/CD configuration in Spinnaker.
Senior Java Developer
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.
Senior Java Developer
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.
Senior Java Developer
HMRC
- Designed, implemented, and supported crucial government platform components used directly by millions of taxpayers.
- Maintained CI/CD pipelines for developed microservices.
- 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 testing/quality assurance procedures, and heavy use of pair programming.
- Maintained, monitored, and analyzed usage patterns on running production systems with Kibana and Grafana.
Senior Java Developer
Sky
- Re-implemented crucial components of a 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).
- Implemented and maintained CI/CD pipeline for Docker-based microservices with automated builds, unit, integration, and performance testing.
- Worked in a very Agile development environment (constant pair programming, strong TDD, extreme emphasis on quality assurance and testing, and full Scrum that 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 showcased them for other teams and non-technical business representatives.
- Designed and implemented a custom Angular-based application that 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.
Senior Java Develper
Gamesys
- 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.
Senior Software Develooper
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.
Software Developer
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.
Java Developer
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.
Experience
Crowd Panic Detection on CCTV Videos
Domain-driven Development Sample
https://github.com/VoidShaper/bookstorecomparatorVideo Application Back-end in Microservice Architecture
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
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
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
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.
Education
Master of Science and Engineering Degree in Computer Science
Gdansk University of Technology - Gdańsk, Poland
Skills
Libraries/APIs
AssertJ, JAX-RS, Jackson, Java Message Service (JMS), jQuery, OpenCV, JDBC, Hystrix, React, Node.js
Tools
Git, IntelliJ IDEA, Ansible, GitHub, Grafana, Kibana, Vim Text Editor, AWS ELB, Subversion (SVN), Splunk, Vagrant, Apache Maven, Logstash, Jira, Gradle, SBT, ScalaTest, Cucumber, Puppet, Helm, Istio, AWS Deployment
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, Spark, Flux, Redux
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, Service-oriented Architecture (SOA), DevOps, Functional Programming, Functional Reactive Programming
Platforms
Docker, Amazon Web Services (AWS), iOS, Linux, Amazon EC2, Apache Kafka, Kubernetes
Storage
Cassandra, NoSQL, Elasticsearch, PostgreSQL, Cache, MongoDB, Datadog
Other
Domain-driven Design (DDD), CI/CD Pipelines, APIs, Test Automation Frameworks, Full-stack, USB, HATEOAS, Image Recognition, Big Data, GitOps, Computer Science
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring