👀 Дизайнеры, какая команда подходит вам по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Backend-программист

Зарплата

от 70 000 до 100 000 ₽

Требования

Бэкенд, Средний (Middle)PHPMySQLGitDockerComposerPhpUnitLinuxLaravelJavaScriptООПSymfonySOLID

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

Агентство интернет-рекламы

Описание вакансии

Условия работы

Мы команда разработчиков. Через нас прошло более двух сотен проектов
Ищем backend-программиста для усиления команды. Сейчас работаем над торговой площадкой
На данный момент отрисован весь дизайн и запущена верстка
Объем на backend 900 часов

Предстоит плотная работа в паре с опытным техническим директором, четкое ТЗ, декомпозиция и трекинг задач.

Репозиторий в GitLab, задачи ставим там же. Команда распределенная, ядро в Красноярске (МСК+4). Связь минимум 2 раза в неделю (пн – планирование, пт – ретроспектива)

Обязанности
- Разработка веб-сервиса Php + MySQL (Laravel/Lumen)
- Разработка REST API на базе Laravel для SPA (Swagger[OpenApi] → React + Mobx)
- Разработка прозрачной системы логгирования (ELK-стек)
- Деплоимент релизов приложения

Требования
- Опыт работы бэкенд-разработчиком на стеке PHP от 3 лет
- Опыт работы с СУБД MySQL от 3 лет
- Опыт от 1 года работы с Laravel/Lumen
- Опыт работы с системами контроля версии (Git → Gitlab.com)

Знания
- JavaScript
Общее, но достаточное полное понимание языка, понимание ООП- модели прототипов, понимание функциональных принципов
- Реляционные СУБД, в частности MySQL
- Общее понимание работы реляционных СУБД
- Умение проектировать реляционные схемы данных
- Умение осуществлять денормализацию данных в типовых случаях для увеличения производительности
- Умение работать с индексами (иметь представление об ограничениях в MySQL)
- Желательно: умение работать с полнотекстовым поиском

Php
- Глубокое понимание языка
- Очевидное умение работать с форматами: json, yaml, xml
- Свободное владение штатным функционалом встроенных функции и типовых библиотек (mbstring, pdo, curl, сокеты, exif, gd, gettext, readline, zip, tidy, xml, intl)
- Умение работать с memcache и redis
- Базовое представление о PSR
- Умение работать с composer
Желательно: навыки создания composer-пакетов
- ООП и Фреймворки
- Понимание принципов SOLID
- Общее понимание устройства MVC-фреимворков типа Laralvel и/или Symfony
- Понимание принципа IoC (Inversion of Control) и его реализации:
DI (Dependency Injection) Factory Method
Service Locator

Администрирование
- Ясное представление о работе DNS, умение правильно настроить домены с использованием инструментария хостингов
- Общее представление об устройстве веб-серверов
- Уметь настроить локальное рабочее окружение (лучше на Linux)
- Иметь представление о Docker
- Уметь работать с командной строкой (лучше Bash)

Будет плюсом
- Опыт Symofny, Yii
- Опыт разработки бэкенда на Node
- Опыт работ с Gulp
- Опыт работы с WebPack
- Опыт работы с Laravel Mix
- Опыт разработки с использованием Laravel Echo
- Опыт разработки на GoLang

- Тестирование
- Уметь писать unit-тесты (PhpUnit)
- Имеет представление об отличиях модульного, интеграционного и системного тестирования
- Иметь представление о там как писать слабосвязанный и легко-тестируемый код (см. IoC)
- Иметь представление о TDD и BDD

- Администрирование и DevOps
- Опыт работы с серверами на Linux
- Опыт настройки и эксплуатации веб-серверов (nginx+php-fpm, nginix+apache+mod_php)
- Умение работы с Docker
- Опыт настройки CI / CD
- Умение настроить DNS-сервер Bind

Бонусы

Активные члены команды, глубоко погруженные в проекты и по настоящему болеющие за продукты компании, получат щедрый опцион

Дополнительные инструкции

Если мы не вышли на связь с вами в течении суток после отклика, выйдите на связь с нами любым возможным способом!