Описание вакансии
Мы разрабатываем сервис, который является сердцем ВКонтакте, — его деплоем. На этом пути комбинируем интерфейсы REST API и GraphQL, контролируем цепочку виртуальных релизов и синхронизируем их с реальным состоянием GitLab и удалённых серверов.
Ищем коллегу, который поможет нам развивать бэкенд-приложение, исследовать новые идеи, проекты и внедрять их.
Примеры того, чем мы занимаемся:
- R&D задач технического и логического уровня, среди которых:
а) как осуществить сборку релизов из набора MR, строго подтверждённых разработчиками не позднее времени N, и не допустить в деплой невалидные MR;
б) собрать информацию о наличии feature-toggles в коде релизов и связать их с проектом, а заодно покрыть метриками;
в) разработать архитектуру параллельной генерации нескольких независимых релизов; - технические оптимизации существующих фич, распределение их в отдельные асинхронные воркеры;
- поиск уязвимых мест в процессе деплоя и мозговые штурмы их разрешения на программном уровне.
Вам предстоит:
- разрабатывать бэкенд деплоя ВКонтакте — веб-сервис, воркеры, интеграции;
- технически прорабатывать архитектуру новых проектов, защищать её и обсуждать с командой;
- сопровождать проект и покрывать его тестами;
- участвовать в код-ревью, делиться опытом лучших решений.
У нас интересно, потому что:
- это новый проект без легаси, в основе которого — передовая идея управления кодом и инфраструктурой;
- мы стараемся поддерживать достойное качество кода за счёт разной архитектуры, CI/CD, линтеров, хорошего покрытия тестами;
- активно используем TDD, внутренние наработки по множественной параметризации тестов, разбиение на логические блоки покрытия;
- между постановкой задачи и релизом проходит очень мало времени — внедрённые фичи сразу начинают приносить пользу и дают быструю обратную связь;
- мы уделяем большое внимание планированию, что позволяет избегать переработок и выгорания;
- вы сможете влиять на проекты, решения и процессы — мы очень поддерживаем инициативу.
Мы ожидаем, что вы:
- пишете код на Python (Asyncio, FastAPI);
- понимаете SQL (PostgreSQL);
- умеете и любите писать юнит-тесты;
- можете проводить код-ревью;
- занимались техническими проектами;
- достаточно самостоятельны, чтобы взять задачу с нуля и довести её до релиза.
Будет плюсом, если вы знаете JavaScript или TypeScript.
Приглашаем специалиста, который сможет посещать офис в Москве или Санкт-Петербурге, работать в комбинированном режиме или удалённо. Ждём ваших откликов. Удачи!