О компании и команде
Хекслет — это школа программирования. На нашей платформе обучаются десятки тысяч пользователей по всему миру. Основные направления: программирование, тестирование и аналитика. Мы растём и развиваемся, поэтому нам нужны руки и головы.
Мы ищем фулстек разработчика в ядро Хекслета, помогать развивать проект, делать его быстрее и лучше. Хекслет это целая экосистема проектов, написанных на разных языках с использованием различных технологий. Здесь можно найти все от kubernetes и облаков до реакта и функциональных языков, типа elixir и clojure.
Внутри Хекслета есть много сложных и интересных систем:
- Редактор для выполнения практики. Отдельный проект, в котором очень много сети (вебсокетов) и сложная структура состояний (одно восстановление соединений чего стоит).
- Система запуска практики, включает в себя множество элементов и кластер из 5 машин. Задача очень похожа на то что делают системы CI, только с более жесткими ограничениями по производительности.
- Различные механизмы на самом сайте: разделы для b2b клиентов, биллинг, процесс обучения, загрузка и обновление контента, проекты.
Кроме внутренних частей, у Хекслета есть большая открытая часть репозиториев на гитхабе и множество контрибьюторов из сообщества.
Мы не можем жить без тестов, релизим по 5 раз в день, руководствуемся в разработке здравым смыслом и потребностями бизнеса. А еще, у нас хорошие инженерные практики :) (https://guides.hexlet.io/ru/check-list-of-engineering-practices/)
Что нужно делать
- Разрабатывать новые фичи и поддерживать существующие
- Профилировать и оптимизировать узкие места
- Участвовать в эксплуатации и автоматизации инфраструктуры
Ожидания от кандидата
- Опыт бекенд-разработки от года (лучше rails, но подойдет и laravel, django, springboot)
- Опыт фронтенд-разработки. Знание React и фронтенд-экосистемы и способность ее настраивать (слышал про webpack и его современные аналоги)
- Опыт configuration management
Надо знать
- как решать типовые задачи на бекенде (CRUD)
- конечные автоматы (state-машины)
- очереди задач (jobs, sidekiq)
- тестирование кода (у нас minitest, большинство тестов интеграционные)
- базы данных (у нас PostgreSQL)
- основы html\css (бутстрапа будет достаточно)
- JavaScript и любой веб фреймворк (у нас React, можно без коммерческого опыта фронтенда)
- слова CI\CD не звучат как магия
Будет плюсом
- опыт с настройкой CI (у нас в большинстве проектов github actions на своем runner)
- опыт с docker, k8s, helm
- опыт с подходом инфраструктура как код (IaC) - terraform, ansible
- использование подхода Zero downtime deployment
Условия работы
- Удаленная работа, наша команда полностью распределенная. Москва и Питер представлены больше всех, поэтому иногда мы собираемся вместе отдохнуть и поработать
- Гибкий график. Стройте распорядок своего дня, как удобно вам
- Доступ к материалам Хекслета: вы можете учиться программированию сами, мы это только приветствуем
- Аккредитованная IT - компания
- Оплата только в рублях
Дополнительные инструкции
Примеры задач:
- сделать csv выгрузку упражнений без картинок в теории урока
- добавить фильтр по пройденным курсам на страницу статистики в b2b разделе
- реализовать сохранение картинок из репозитория с контентом в наш внутренний S3