Position: PHP Developer
Category: PHP
Experience: 4 years | English: upper

Scaling pricing API request over RabbitMQ RPC;
Multi-level pricing model implementation;
Graph-based JsonAPI validation errors processing (DFS algorithm);
Applying code style, static analysis tools to the legacy project;
Sorting out race condition bugs from vendor code;
Addressing write-skew anomalies;
Fixing ifrastructure-related bugs (url signature mismatch when using load balancer);
Projects upgrade to the newest versions of PHP and Symfony;
Platform performance optimization using data preloading, DTO hydration, safe partial-object hydration (custom proxy factory);
Legacy code refactoring.
Tech lead experience in the b2b online store project. Conducting the code review; adapting the best practices; code quality tools, CI/CD; assisting the team in solving various technical issues; creating a features implementation plan for the team; project stack upgrade.

Development experience includes overall platform optimizations, implementation of a combined promo pricing model into the platform; third-party pricing API integration; scalable model for final prices validation on the checkout using Rabbitmq RPC as a communication bus, and other.

Technologies & tools used:
- PHP 7.4 (moved to PHP 8.0);
- Symfony Framework 4.4;
- PostgreSQL;
- RabbitMQ (message queue and bus for RPC model);
- ElasticSearch;
- Redis;
- GitlabCI.
- GCP;
- Psalm, php-cs-fixer, php-cs, php-md;
- Sentry.

Participated in the development of a medium-load website (~100 000 users). Implemented Google Firebase integration for PWA notifications; Integration with 3rd party Credit Score API. Optimized custom notifications triggered from the admin panel - 1200 % speed increase. Generation of Excel reports.
Technologies & tools used:
- PHP 7.4;
- Laravel Framework 7;
- PostgreSQL;
- Web sockets + Laravel Echo;
- Sentry bug tracker;
- AWS (ecs, ec2, sqs, rds);
- CircleCi;
- docker and docker-compose.

Architecture and design of the spacerent application using DDD concepts. Decomposition of the system into separate modules. Configuration of code quality tools (psalm, php code style fixer). Implementation of a spatial search for nearby (or by geo-coordinates) real estate using elasticsearch.
Technologies used:
- PHP 7.4;
- Laravel Framework 7;
- PostgreSQL;
- ElasticSearch;
- docker and docker-compose.

Participation in an employee performance management project. Writing complex SQL queries for scores calculation and their mapping to respective categories. Generation of PDF reports. Stripe and Oopay payment system integrations .

Technologies used:
- PHP 7.4 (upgraded to PHP 8.0);
- MySQL 5.7 (upgraded to 8.0);
- Symfony Framework 5.4;
- Api Platform;
- Traefik;
- docker and docker-compose.

Maintaining an legacy CRM project for debt collection. Migrated project to the next major version of Symfony. Implemented performance optimization for data imports - 2 times faster. Responsibility also included bug fixes and implementation of minor features.
Technologies used:
- PHP 7.1 (upgraded to PHP 7.4);
- Symfony 3.4 (upgraded to Symfony 4.4);
- MySQL 5.7;
- Ember;
- docker and docker-compose.
Best option for me is product company. Although, I consider outsource as an option as well.

What I expect from a job:
- work as a backend developer only;
- work-life balance without even the possibility of burnout;
- balance between challenging interesting features and common tasks (70/30);
- 6h part time - I expect that the company values its employees and is ready to allocate 2 hours from a full time workday for personal growth.

What I expect from a project:
- minimal stack: PHP (at least 7.4), Symfony (at least 4.4), PostgreSQL, Redis, RabbitMQ;
- friendly team where everyone is engaged into the process and open to new ideas;
- codebase which follows project-accepted code style standards (with a style-check on CI);
- adherence to the agreed project architecture (either DDD architecture or Clean Architecture);
- everyone covers at least core domain logic with unit tests;
- code review / cross code review.

What I'm NOT interested in:
- Team Leadership - currently most of the time I want to write the code and also maybe conduct some code reviews, but not to take on a lot of communication;
- participating in pre-sales;
- waterfall method of communication (when business expert talks to analysts who digest requirements and then pass it on to developers) -  this approach lacks the feedback from devs;
- doing rough estimations for fixed-price functionality;
- doing hard time-tracking (HubStaff, etc.).
- fullstack work - I believe sr. dev can be either backend or frontend, nothing in between;
- devops work - I want to write the app code, not to write/configure the infrastructure;
- maintenance of heavy legacy projects written with no architecture in mind - despite do I have the experience of legacy code refactoring, don't I want this to happen again.