ChatApp - аккредитованная IT-компания.
Наш продукт – облачная платформа для автоматизации клиентских коммуникаций, объединяющая все каналы в единую систему с использованием искусственного интеллекта.
В проект требуется и Backend и Frontend разработчики.
Обязанности:
- Участие в командной разработке CCaaS сервиса.
- Разработка микросервисной архитектуры CRM системы.
Технологический стэк проекта:
-
PHP
-
php-fpm
-
Laravel
-
Laravel Horizon
-
MySQL или PostgreSQL
-
Redis
-
Elasticsearch
-
Docker
-
S3
-
WebSockets
-
GIT
-
CI/CD
-
nginx
Требования:
-
Опыт построения архитектуры высоконагруженных систем.
-
Опыт разработки и поддержки высоконагруженных систем.
-
Навыки проектирования и разработки систем с микросервисной архитектурой.
-
Умение находить и оптимизировать узкие места в системе.
-
Опыт разработки REST API.
-
Опыт разработки облачных решений.
-
Опыт работы с одной из популярных CRM-систем: Битрикс24, amoCRM или др.
-
Опыт интеграции с внешними сервисами.
-
Понимание принципа работы очередей, многопоточности.
-
Понимание ООП, паттерны.
- Знание процесса гибкой разработки: scrum, sprint planing, daily meeting, demo, retrospective.
-
Прогноз результата.
-
Будет плюсом знание Linux.
-
Опыт в написании автотестов.
-
Организация командной разработки проекта с которым работаете.
-
Соответствие общепринятым стандартам написания кода (PSR).
-
Высокие коммуникативные навыки.
- Асинхронное программирование.
-
Сетевые протоколы и понятие работы какие бывают и как работаю запросы.
-
Опыт написания безопасного кода (защита от SQL injections, XSS, CSRF и т.п.).
-
Понимание и (важно) применение TDD и DDD концепций.
Условия:
- Основная работа, полный рабочий день (требуется полное погружение в проект без отвлечения на мелкие фриланс-шабашки).
- Удаленная работа и дома.
- Удобный график: стандартная пятидневка (сб-вс выходные), а также гибкие начало и окончание рабочего дня.
- Зарплата в зависимости от уровня компетенции и объема выполняемой работы обсуждается на собеседовании, пишите свои предпочтения в резюме.
- Перспективы карьерного роста и повышения: мы не будем добиваться от вас достижения пороговых KPI, мы оцениваем работу и вашу вовлеченность в неё.
В отклике на вакансию опишите:
Опыт, какой есть опыт разработки контейнерных систем?
Личные качества, которые считаете важным упомянуть. Каждое качество и навык можно проиллюстрировать примерами с прошлых работ.
Ваши сильные и слабые стороны.
Чем увлекаетесь в свободное время, что любите, что не любите?
Что делаете или делали раньше. Занятость на данный момент.
Чего бы хотели от совместной работы? Почему именно к нам?
Ожидания по деньгам вначале и до каких сумм хотите развиваться.
Обязательно пришлите ссылку на Git, нас интересует как вы пишите код.
Тестовое задание:
Стек технологий для выполнения задания
- Laravel 12
- MySQL
- Docker
Задание
1. Создать 2 таблицы
- chats
- messages
2. Заполнить таблицы тестовыми данными
- Создать 100 чатов.
- Для каждого чата создать от 10 до 100 сообщений с рандомными датами и текстами различной длины.
3. Реализовать REST API метод, который позволит получить список чатов порциями по 20 шт. за один запрос.
4. Список должен быть отсортирован по time последнего сообщения в чате по убыванию (чтобы "свежие" чаты были вверху списка).
5. Для каждого чата в списке должен выводиться обрезанный текст последнего сообщения (до 100 символов).
6. Предположим, что система развивается и сообщений для каждого чата может быть от 10 тыс. и более. Необходимо оптимизировать метод получения списка чатов для работы с большими данными с учетом всех вышеперечисленных условий. Допускается добавлять или изменять поля в таблицах при необходимости.
Обязательные требования
- Ответ REST API метода должен быть в формате json.
- Проект должен разворачиваться и работать через docker-compose. Для этого можно использовать Laravel Sail или собственную сборку.
- В файле README.md необходимо описать точные шаги, которые позволят поднять проект на сервере при помощи docker-compose.
- Код выложить на github.
Ключевые навыки
- MySQL
- ООП
- Laravel
- Git
- PHP
- Composer
- Docker
- Английский — A1 — Начальный
Задайте вопрос работодателю
Где предстоит работать
Вакансия опубликована 24 марта 2025 в Ставрополе