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% вашего рабочего времени и креативной инженерной мысли.