Marcin Morawski
2013 Programming and computer networks, Szkoła Wyższa im. Pawła
Włodkowica w Płocku
2014
Zend Certified PHP Engineer
2014
LPIC-1
2014
SUSE Certified Linux Administrator (SUSE CLA)
Polish - native,
English - B2
- Developing, maintaining and design backend systems in PHP and Go for 10+ years
- Solving problems (Java, SELinux, Linux, network, concurrency, SSL)
- Design scalable and reliable systems (stateless, load balancing, sharding)
- DevOps (pipelines, containers, monitoring, AWS, IaC, configure servers)
- Working with systems up to 500K own lines of code, databases
~3TB, every day ~2 millions new records
- Creating stream architecture (memory usage below 60MB)
- Design systems using different styles like EDA, SOA or microservices
- Finding bottleneck and improve performance (Optimizing SQL/NoSQL queries by ~86%, reducing processing time by
~93% for 50K jobs)
- Clean code, Design patterns, SOLID, TDD, DDD, Refactoring
- Updating legacy system without downtime in a few steps
PHP, Go, JavaScript, TypeScript,
Symfony, PHPUnit/Behat,
React, Angular.js, SCSS,
MySQL, MongoDB, Redis, Elasticsearch,
RabbitMQ,
AWS, Docker, Kubernetes, Gitlab CI/CD, Terraform, Ansible
March 2022 - Present
PHP & Go Developer, Linker Cloud
Linker Cloud offers ecommerce fulfilment and OMS Software.
Our cloud-based software for managing the entire post-sales process handles 800K+ orders per month. Our goal is to make 1-day delivery a reality for all
consumers.
- Creating a video recording feature at packing stations. Each recording have
information about the details and
allow searching for the part of the recording in which the selected product is visible when being packed.
- Documenting warehouse processes in form of images to reduce cost of dispute.
- Creating a new architecture (based on the chain of responsibility pattern) to search in
3 millions of products
- Monitoring and calculating the execution date of order using strategy design pattern
- Simplify configuration of business rules for end user via using vistor
design patterns
- Simultaneously support old and new configuration of external library without any outages and
problems by using pipeline pattern
June 2020 - February 2022
Symfony FullStack Developer, Polcode
- Design a REST API backend application (portal with classified advertisements), with CQRS. Flexibility
for category attributes based on JSON Schema specification. Using context object to adjust
system to specific characteristics of selected country.
- Technology leader who design and recommend solutions to customers with respect to budget and deadlines
- Creating SPA in React.js + TypeScript to upload receipts and receive a refund for shoppings. Responsive
application with a focus on mobile users.
- Creating Symfony backend application to manage shipments (~5K per month).
Importing data from an old application and
sync data in realtime. Creating business logic based on DDD (value
object, factories, aggregates etc.). Using
async processing to generate and send data to external systems.
February 2016 - May 2020
FullStack Developer, Sensilabs
- Analysis of mobile users' behavior through wi-fi networks. Analytics panel for shops and shopping mall
presenting visits, unique users and new/returning customers. Map with estimate location of user home.
Calculations for the movement of customers between brands.
- Developing system for investment funds. Using many design patterns like
specification, composition or strategy to design new architecture. Collaborative with analytics team to
implement task with respect to business or law rules.
- Care about Developer Experience (bots, pipelines, automations,
environments)
- Creating a backend system to fulfilment delivery parcel of the same day
for the country wide logistic service
- Online/offline working application for storing various scientific data, embedded synchronization module
for syncing nodes. Highly flexible data structure, content types.
- Reduce number of problems during handling payments for one of Poland’s
taxi service
July 2012 - January 2016
Developer, eo Networks
Projects:
- Offer comparison platform (TV, phones, loans, internet)
- Developing a system to improve the legislative work
- Creating a CLI application in C# which use the Enova ERP API and integrating it with PHP
- A B2B system that automates the processes necessary to provide IT services
Key tasks:
- Design a flexible (generalized) calculator architecture for different types of products
- Co-creating a SPA application using the ExtJS framework
- Integration with Active Directory/OpenLDAP
June 2011 - March 2012
Developer PHP, Autentika
- Creating websites and applications in PHP5 and jQuery
- Using MongoDB and MySQL
- Using Sphinx Search to build search engines on the websites
- Integration with web services (eg. vimeo, mail chimp, payment system)
- SSorder is a web application created by intern.
Currently develop after hours as an opensource project. It is used to order and settle meals for
employees. "Sandbox" for introducing new technological solutions.
- The RequestCollector is library to
collect
the request/response sent via Symfony HttpClient or Guzzle with support for sanitized from private/personal data.
- php-profiler is used to profile PHP
code, which has support for legacy PHP versions and does not require any external dependencies.
- Homelab contains infrastructure as
code.
- sf-utils is library with a collection of helper
class for Symfony Framework.
- faker-images - different images provider for
Faker