Мы ищем опытных разработчиков в нашу растущую команду, где мы создаем SaaS систему, реализующую бизнес-идеи, проверенные на нашем успешном проекте Structure for Jira. В компании также регулярно запускаются новые идеи, расширяющие нашу продуктовую линейку.
Требования к кандидатам:
- Минимум 4 года опыта коммерческой разработки ПО.
- Хорошее знание теор. минимума computer science. (Оно вам понадобится!)
- Хорошее владение языком Kotlin (или Java), опыт серверной разработки на нем.
- Опыт программирования на как минимум двух разных языках в реальных проектах.
- Опыт многопоточного программирования.
- Хорошее владение письменным английским языком (это основной язык для письменной коммуникации в компании).
Дополнительно приветствуется:
- Опыт разработки и эксплуатации масштабируемой распределенной системы.
- Опыт работы с языками: Java 11, Scala, Kotlin, TypeScript.
- Опыт работы с технологиями: Akka, Kafka, Cassandra.
- Знакомство с функциональными языками программирования, FRP.
- Опыт оптимизации, решения проблем с производительностью.
- Знакомство с продуктами Atlassian.
Чем надо будет заниматься:
- Создавать новую функциональность в популярных продуктах на серверном и клиентском уровне.
- Писать unit-тесты, в отдельных случаях - интеграционные тесты.
- Читать код (в проекте обязательный 100% code review).
- Участвовать в создании документации, развитии архитектуры проекта, планировании релизов.
- Участвовать в коммуникациях с клиентами (на уровне корпоративной системы баг трекинга).
Мы предлагаем:
- Участие в небольшой, сплоченной и очень сильной команде.
- Потенциал роста: архитектор, менеджер продукта, участие в новых проектах, реализация ваших собственных идей.
- Высокую, индексируемую заработную плату (попадает в 10% самых высоких).
- Регулярные ежеквартальные премии, привязанные к финансовым результатам работы компании.
- Оформление в соответствии с ТК, полностью официальная заработная плата, оплачиваемый отпуск 4 недели (с возможностью использовать все 4 недели за раз).
- Премиальный полис ДМС, 100% оплачиваемое отсутствие по болезни.
- Оплата 50% расходов на спорт.
- Оплата 50% расходов на занятия английским языком.
- Отсутствие бюрократии и формальностей.
- Гибкий график, отсутствие обязательного расписания, возможность работать из дома. (Сейчас мы работаем из дома постоянно в связи с пандемией)
- Комфортный, тихий, вентилируемый офис с частной парковкой. Ближайшие станции метро - Петроградская, Черная Речка, Лесная.
- Регулярные корпоративные мероприятия; фрукты, орехи, печеньки в офисе.
- Оплата такси от дома до офиса и обратно в случае городских эпидемий и форс-мажоров.
- Возможность участия в международных конференциях (если владеете разговорным английским).
- Возможность командировок в офис компании в Бостоне, США (если владеете разговорным английским).
Как у нас все устроено:
Back end — это кластер сервисов на Akka, код пишем на Kotlin. Основные потоки данных реализованы по примеру Akka Streams, но в отличие от них распределены между нодами. Начинаются они в Kafka, а заканчиваются в web sockets. Данные пишем в Cassandra, которую берем за масштабируемость и AP. Система запускается в Kubernetes (локально или на тестовом кластере).
Front end — это большое модульное приложение на JavaScript, построенное с элементами FRP, с большим вниманием как к пользовательскому интерфейсу, так и ко внутренней архитектуре. Новый код пишем на TypeScript и React.
Мы широко используем Structure внутри компании для планирования и организации задач на всех этапах - от бизнес идей до планирования релизов и тестирования. Процесс разработки полностью прозрачен, каждый желающий может участвовать в обсуждении новой функциональности, и выбирать задачи в рамках текущей итерации. Мы активно боремся за качество продукта внутри и снаружи:
- новый важный функционал покрывается unit-тестами;
- Code Review у нас обязателен для каждого изменения;
- подробное ручное тестирование готовых сборок командой QA.
У нас невозможно обойтись без тесных коммуникаций внутри команды; помимо живого общения и активной переписки в Slack мы проводим регулярные stand-up встречи. Также все члены команды могут принимать участие в общении с пользователями, чтобы лучше понимать их потребности: от переписки в системе поддержки, до живых встреч на конференциях и в поездках к клиентам.
Если вакансия вас заинтересовала, расскажите, пожалуйста, в сопроводительном письме, какими инструментами вы пользуетесь сейчас для организации задач в вашей команде, и какие у них сильные стороны.