PHP программист (-ка) Offline
Что мы хотим увидеть в кандидате:
• Умение писать на PHP и знание лучших практик (почему генераторы это хорошо, эксепшны тяжёлые, а file_get_contents делать рискованно). Обычно это приходит после нескольких лет работы над разнообразными задачами.
• Знание особенностей работы серверных приложений: ошибки сети, взаимные блокировки, race conditions, rate limits, проблемы консистентности данных и способы их решения
• Умение обращаться с любой мейнстримовой реляционной СУБД, в идеале - MySQL. На собеседовании можем спросить как перечислять поля при создании индекса, зачем нужен EXPLAIN, чем отличается CHAR от VARCHAR и INT(1) от INT(11). ORM недостаточно, нужно уметь в SQL
• Опыт работы с Docker. На собеседовании надо будет написать Dockerfile, конфиг для docker-compose, cмонтировать директорию и пробросить порты
• Культуру программирования - соблюдение кодстайла, читабельность кода, обработку ошибок, логирование, тесты, документация (это всё мы увидим на испытательном сроке)
• Английский (устный, письменный). Уровень, достаточный для обсуждения рабочих вопросов (способность доносить мысли ценится больше отсутствия ошибок)
. Вы должны быть готовы к телефонному интервью на английском.
С чем мы работаем:
• Есть монолит на Symfony (админка на Sonata и часть api). Переходим на микросервисы на Swoole
• Пишем на PHP 7+ (в монолите 7.1, в микросервисах 7.4)
• Контейнеры везде (на локалке, стейдже, проде)
• Основная БД - MySQL. Используем также ClickHouse, Redis, ElasticSearch
• RabbitMQ для очередей
• Пишем юнит-тесты на PHPUnit. Функциональные и интеграционные - с Behat
• Профилируем с Blackfire
• Билдим и деплоим с Gitlab CI/Jenkins
• Используем Rancher, переезжаем на Kubernetes
• Хостимся на Digital Ocean
Как мы работаем:
• Мы верим, что каждый сам в состоянии управлять своим временем. Поэтому графика работы у нас нет, время работы мы не считаем, фотки экрана не делаем, никаких жёстких ограничений не ставим
• Мы не верим в лычки. Мы не делим людей на джунов, мидлов, синьйоров, лидов, не считаем опыт в годах
• Мы стартап, и у нас можно запросто поговорить с кем угодно в компании, знать из первых рук любые цифры, повлиять на любую историю, принести идеи в любой процесс. Правда, у нас пока нет откатанной процедуры онбоардинга, пропусков в спортзал или HR-отдела
• Мы серьёзно относимся к техническому долгу. Решения по техническим задачам принимает команда и делает их наряду с продуктовыми
• Львовская команда периодически ездит в Берлин повидаться с продуктовой командой
(правда, неизвестно, когда поездки снова войдут в нашу жизнь...)
• Мы делаем основательное ревью кода (в несколько этапов, аргументируем все замечания, не заставляем переделывать просто “потому что я так сказал”)
• Мы вкладываем много усилий в производительность на всех уровнях
• Мы пишем тесты (честно)
• У нас фронт на ReactJS, поэтому бэк-енд девы пишут код для бэк-енда, не верстают и не пишут на JS
FAQ:
1. Локация
Есть офис в Берлине. Есть офис во Львове. Но в них сейчас никого нет.
2. Возможность удаленной работы
Как показал карантин с самоизоляцией - удаленная работа очень даже возможна. Так что мы ищем людей в команду а не “в офис”
3. Вилка зарплат
Мы пользуемся аналитикой ДОУ и Джинни для понимания того, какие зарплаты на рынке. Готовы платить рыночную зарплату синьор специалиста.
4. Part-time
Не рассматриваем, нам нужно 100% вашего рабочего времени и креативной инженерной мысли.