Senior Java Developer (Cloud)

Зарплата

от 300 000 ₽

Требования

Бэкенд, Старший (Senior)JavaKotlinScalaAkkaApache Kafka

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

Создаем программные продукты в области управления проектами

Описание вакансии

Условия работы

ALM Works – IT-компания, продукты которой помогают менеджерами визуализировать данные из Jira и на их основе быстро принимать обоснованные решения. Наши клиенты - более четырех тысяч компаний по всему миру, среди которых NASA, Google, Netflix, BMW, Adobe, Intel, Sony, Disney, Ubisoft и много других известных имен.

Мы ищем опытных разработчиков в нашу растущую команду, где мы создаем SaaS систему, реализующую бизнес-идеи, проверенные на нашем успешном проекте Structure for Jira. В компании также регулярно запускаются новые идеи, расширяющие нашу продуктовую линейку.

Требования к кандидатам:

  • Минимум 4 года опыта коммерческой разработки ПО
  • Хорошее знание теор. минимума computer science (Оно вам понадобится!)
  • Хорошее владение языком Java (или Kotlin), опыт серверной разработки на нем
  • Опыт программирования на как минимум двух разных языках в реальных проектах
  • Опыт многопоточного программирования
  • Хорошее владение письменным английским языком (это основной язык для письменной коммуникации в компании)

Дополнительно приветствуется:

  • Опыт разработки и эксплуатации масштабируемой распределенной системы
  • Опыт работы с языками: 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 встречи. Также все члены команды могут принимать участие в общении с пользователями, чтобы лучше понимать их потребности: от переписки в системе поддержки, до живых встреч на конференциях и в поездках к клиентам.

Если вакансия вас заинтересовала, расскажите, пожалуйста, в сопроводительном письме, какими инструментами вы пользуетесь сейчас для организации задач в вашей команде, и какие у них сильные стороны.