logo[мetahunt]
> Djinni

Backend Engineer

phppostgresqlsqllaravelsymfonyyiiany one oflaravelrest-apiunit testing
mysqlredisrabbitmqkafkadockerci/cdlinuxnginxmicroservicesddd
experience4+ years
> full description

Ми шукаємо досвідченого PHP Backend Developer, який вміє не лише реалізовувати функціональність, а й проєктувати надійні backend-рішення, працювати зі складною бізнес-логікою та забезпечувати високу продуктивність систем.

 

Нам важливі сильні знання PHP і PostgreSQL, практичний досвід оптимізації SQL-запитів, проєктування індексів та вміння знаходити й усувати причини проблем продуктивності.

 

Основні обов'язки

Розробка нового функціоналу та підтримка наявних backend-сервісів на PHP.

Проєктування та розвиток REST API, інтеграція із зовнішніми сервісами.

Проєктування структури баз даних, написання та оптимізація складних SQL-запитів.

Аналіз продуктивності PostgreSQL: виявлення повільних запитів, аналіз планів виконання та усунення вузьких місць.

Проєктування й оптимізація індексів для складних запитів з урахуванням селективності, порядку колонок і характеру доступу до даних.

Розробка та підтримка асинхронних процесів, черг і фонових завдань.

Участь у проєктуванні backend-архітектури та вдосконаленні наявних технічних рішень.

Забезпечення якості коду, покриття критичної функціональності тестами та участь у Code Review.

Аналіз і виправлення помилок, пошук першопричин проблем у production.

Участь у технічному плануванні, оцінюванні задач і прийнятті інженерних рішень.

 

Обов'язкові вимоги

PHP та архітектура

Від 4 років комерційного досвіду розробки на PHP.

Впевнене володіння PHP 8.x.

Практичний досвід роботи з Laravel, Symfony, Yii2 або іншим сучасним PHP-фреймворком.

Глибоке розуміння ООП, SOLID, DRY, KISS та основних архітектурних патернів.

Досвід розробки складної бізнес-логіки, а не лише CRUD-функціональності.

Розуміння принципів побудови масштабованих, надійних і підтримуваних backend-систем.

PostgreSQL та оптимізація продуктивності — критично важливо

Впевнений практичний досвід роботи з PostgreSQL і SQL.

Досвід оптимізації складних SQL-запитів і роботи з великими обсягами даних.

Уміння проєктувати ефективні індекси, зокрема:

композитні індекси та правильний вибір порядку колонок;

покриваючі індекси;

функціональні індекси.

Розуміння селективності, принципів використання індексів планувальником PostgreSQL та впливу умов фільтрації на продуктивність запитів.

Практичний досвід читання й аналізу EXPLAIN ANALYZE, виявлення неефективних планів виконання та обґрунтування оптимізацій.

Розуміння впливу приведення типів і виразів у фільтрах, зокрема ::date, на можливість використання індексів.

Знання транзакцій, блокувань, рівнів ізоляції та механізмів забезпечення цілісності даних.

API, інтеграції та асинхронна обробка

Досвід розробки REST API та інтеграції зі сторонніми сервісами.

Практичний досвід роботи з чергами повідомлень і фоновими завданнями.

Розуміння ідемпотентності, повторних запитів, обробки помилок і конкурентного доступу до даних.

Якість розробки

Досвід написання автоматизованих тестів, зокрема Unit та Integration Tests.

Впевнене володіння Git і досвід роботи з Code Review.

Уміння самостійно аналізувати проблеми, аргументувати технічні рішення та відповідати за результат реалізації.

 

Буде перевагою

Досвід роботи з MySQL або MariaDB.

Досвід роботи з Redis та системами кешування.

Практичний досвід із RabbitMQ, Kafka або іншими брокерами повідомлень.

Досвід роботи з Docker і CI/CD.

Знання Linux, Nginx та інструментів профілювання PHP.

Досвід роботи з високонавантаженими системами та великими обсягами даних.

Розуміння мікросервісної архітектури, DDD або Clean Architecture.

Досвід роботи з legacy-кодом та його поступового вдосконалення.

Кого ми шукаємо

Нам потрібен інженер, який:

Розуміє причини технічних проблем і вміє знаходити їх першопричину.

Не просто додає індекси, а розуміє, коли вони потрібні, який тип індексу обрати та як перевірити його ефективність.

Може самостійно дослідити проблему продуктивності, запропонувати рішення й підтвердити його результат вимірюваннями.

Уміє працювати з наявною архітектурою, аргументовано пропонує покращення та не створює зайвої складності.

Відповідально ставиться до якості коду, цілісності даних і стабільності production-систем.