Channels / CY iT HR
CY iT HR
@cyprusithr · supergroup
· filtered by
Артур
Артур
2025-09-27 16:58 UTC
PHP Senior разработчик
#CV #opentowork #PHP #laravel #symfony
Ищу работу в продуктовой компании, желательно с помощью в релокация на Кипр
Опыт: 3 года в компании Платформа Трим, периодически выполнял заказы на пару месяцев
Продукт: админка для контент менеджеров Смотрим.
Стек: PHP 7/8, Laravel 8/11, PostgreSQL, Яндекс S3, Docker (compose и devcontainer), Kubernetes, gRPC, Octane(Swoole), Redis, Crontab, PHPUnit
Команда: Project менеджер, product менеджер, 2 тестировщика и их тимлидер, 3 фронтендера, тимлид бекенда, 2 middle PHP разработчика, Я как старший PHP разработчик
---Реализованный мной функционал---
- Инициализация проекта с частью моделей и миграций
- Микросервис авторизации в системе во всех средах
- Микросервис photobank, работающий со всеми изображениями: получением, обработкой и хранением
- gRPC сервер
---Реализованный мной функционал---
---Задачи на оптимизацию---
1. Файлы
Несмотря на то что админка - внутренний продукт, микросервисы, для неё написанные, используются не только ею. В связи с этим нагрузка на тот же микросервис фотобанка периодически достигает 1000 RPS, а это нагруженные запросы, поскольку зачастую содержат в себе файлы.
Я занимался оптимизацией данного микросервиса, в том числе работой с CDN и S3 хранилищем Яндекса.
2. База данных PostgreSQL
По ходу разрастания проекта некоторые таблицы стали насчитывать десятки столбцов. В ходе задачи по анализу запросов выявил что многие сущности не задействуют и 10% столбцов в 90% случаев обращения к ним, в связи с чем такие
таблицы были разбиты на несколько
---Задачи на оптимизацию---
---Рутинные задачи---
- Писал практически все сидеры в начале проекта, потом из писали новички
- Писал тесты к своим задачам. Задачу без них отдавать было нельзя, если не hotfix
- Написал и впоследствии менял под нужды проекта docker-compose и devcontainer проекта
---Рутинные задачи---
---Обязанности старшего разработчика---
Как старший бекенд разработчик я принимал архитектурные решения, например деление на микросервисы и использование PostgreSQL в качестве основной базы данных
Команда на проект админки Смотрим собиралась постепенно, частично из действующих разработчиков компании, остальных собеседовал в нашу команду я, иногда с тимлидом, но по большей части самостоятельно. Также менторил новичков с точки зрения задач, то есть был человеком к которому можно обратиться по любому вопросу, связанному с бекендом проекта.
Составлял вместе с другими старшими разработчиками PHP структуру собеседований, список вопросов кандидату, систему грейдов на основе которой можно было просить повышение
---Обязанности старшего разработчика---
#CV #opentowork #PHP #laravel #symfony
Ищу работу в продуктовой компании, желательно с помощью в релокация на Кипр
Опыт: 3 года в компании Платформа Трим, периодически выполнял заказы на пару месяцев
Продукт: админка для контент менеджеров Смотрим.
Стек: PHP 7/8, Laravel 8/11, PostgreSQL, Яндекс S3, Docker (compose и devcontainer), Kubernetes, gRPC, Octane(Swoole), Redis, Crontab, PHPUnit
Команда: Project менеджер, product менеджер, 2 тестировщика и их тимлидер, 3 фронтендера, тимлид бекенда, 2 middle PHP разработчика, Я как старший PHP разработчик
---Реализованный мной функционал---
- Инициализация проекта с частью моделей и миграций
- Микросервис авторизации в системе во всех средах
- Микросервис photobank, работающий со всеми изображениями: получением, обработкой и хранением
- gRPC сервер
---Реализованный мной функционал---
---Задачи на оптимизацию---
1. Файлы
Несмотря на то что админка - внутренний продукт, микросервисы, для неё написанные, используются не только ею. В связи с этим нагрузка на тот же микросервис фотобанка периодически достигает 1000 RPS, а это нагруженные запросы, поскольку зачастую содержат в себе файлы.
Я занимался оптимизацией данного микросервиса, в том числе работой с CDN и S3 хранилищем Яндекса.
2. База данных PostgreSQL
По ходу разрастания проекта некоторые таблицы стали насчитывать десятки столбцов. В ходе задачи по анализу запросов выявил что многие сущности не задействуют и 10% столбцов в 90% случаев обращения к ним, в связи с чем такие
таблицы были разбиты на несколько
---Задачи на оптимизацию---
---Рутинные задачи---
- Писал практически все сидеры в начале проекта, потом из писали новички
- Писал тесты к своим задачам. Задачу без них отдавать было нельзя, если не hotfix
- Написал и впоследствии менял под нужды проекта docker-compose и devcontainer проекта
---Рутинные задачи---
---Обязанности старшего разработчика---
Как старший бекенд разработчик я принимал архитектурные решения, например деление на микросервисы и использование PostgreSQL в качестве основной базы данных
Команда на проект админки Смотрим собиралась постепенно, частично из действующих разработчиков компании, остальных собеседовал в нашу команду я, иногда с тимлидом, но по большей части самостоятельно. Также менторил новичков с точки зрения задач, то есть был человеком к которому можно обратиться по любому вопросу, связанному с бекендом проекта.
Составлял вместе с другими старшими разработчиками PHP структуру собеседований, список вопросов кандидату, систему грейдов на основе которой можно было просить повышение
---Обязанности старшего разработчика---