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

ALM Works – неформальная IT компания. Более 16 лет занимаемся созданием собственных программных продуктов в области управления проектами. Наши клиенты - более четырех тысяч компаний по всему миру, среди которых NASA, Google, Netflix, BMW, Adobe, Intel, Sony, Disney, Ubisoft и много других известных имен. Мы ищем опытных разработчиков в нашу растущую команду, где мы создаем SaaS систему, реализующую бизнес-идеи, проверенные на нашем успешном проекте Structure for Jira. В компании также регулярно запускаются новые идеи, расширяющие нашу продуктовую линейку. Требования к кандидатам:  Минимум 4 года опыта коммерческой разработки ПО. Хорошее знание теор. минимума computer science. (Оно вам понадобится!) Хорошее владение языком Kotlin (или Java), опыт серверной разработки на нем. Опыт программирования на как минимум двух разных языках в реальных проектах. Опыт многопоточного программирования. Хорошее владение письменным английским языком (это основной язык для письменной коммуникации в компании).  Дополнительно приветствуется:  Опыт разработки и эксплуатации масштабируемой распределенной системы. Опыт работы с языками: Java 11, Scala, 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 встречи. Также все члены команды могут принимать участие в общении с пользователями, чтобы лучше понимать их потребности: от переписки в системе поддержки, до живых встреч на конференциях и в поездках к клиентам.