Напиши текст вакансии для должности "Java Developer (Cloud)". Название компании: "ALM Works". Расположение: Санкт-Петербург. График работы: Удаленная работа. Опыт работы: От 1 года до 3 лет. Ключевые навыки: 'Java', 'JavaScript', 'Kotlin'

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