Напиши текст вакансии для должности "Go-разработчик". Название компании: "ELMA". Расположение: Санкт-Петербург. График работы: Полный день. Опыт работы: От 1 года до 3 лет. Ключевые навыки: 

ELMA – это возможности для каждого. ELMA — российская ИТ-компания, разработчик low-code платформ для автоматизации и роботизации бизнес-процессов с использованием искусственного интеллекта, чат-ботов и компьютерного зрения. Мы не просто помогаем бизнесу адаптироваться и справляться с переменами во внешнем мире (хотя и это тоже), мы управляем переменами в бизнесе. С 2008 года более 2000 компаний в России и СНГ внедрили и успешно используют наши программные продукты. На протяжении нескольких лет ELMA уверенно занимает лидирующую позицию на рынке BPM-систем в России и СНГ по версии делового портала TAdviser. Наша философия отражена в слогане “Меняйся легче!” — мы создаем культуру изменений и инноваций для индустрии, рынка….мира. Компания ELMA — это инноватор, который задает вектор развития и внедряет новые идеи в массы. Наш продукт направлен на автоматизацию процессов внутри компании. Интеграция различных внутренних и внешних систем, а также взаимодействие с пользователями. Система построена на микросервисной архитектуре с учётом масштабирования и замены отдельных сервисов под нужды клиента. Продукт представляет из себя SaaS-решение и доступен по подписке в B2B сегменте. Основной нашей задачей является универсализация и переиспользование решений. Мы не реализуем все запросы пользователя как есть, но работаем на коммуникации и выстраивании общих и целостных решений. Наша компания имеет огромный опыт в построении бизнес-процессов различных компаний в России и странах СНГ. Наша задача поделиться этим опытом и сделать целостный и качественный продукт. В данный момент мы ведём работу по подготовке Enterprise версии системы, устанавливаемой на серверах заказчика. С этим связаны задачи по выделению новых абстракций, позволяющих встроить систему в инфраструктуру заказчика, но сохранить независимым функционал ядра. Технологии : Бэкенд системы написан на языке Go, с использованием gRPC-протокола, упаковкой в Docker-контейнеры и выкладкой в k8s-кластер. Для различных сервисов используются различные бд: PostgreSQL, MongoDB, Redis. Также масштабируемые части системы вынесены за очереди в RabbitMQ. Фронтенд написан на Angular 2+ с использованием REST API для обмена данными и оповещением об изменениях на сервере через веб-сокеты. Взаимодействие внутри команды построено на нашей же системе, мы придерживаемся подхода dogfooding. Для формальных задач, контроля кода и CI используем Gitlab. Что предстоит делать: Работа в рамках проекта Enterprise версии системы подразумевает замену некоторых частей имеющейся системы на сервисы заказчика. Для этого предполагается вводить новые точки расширения, разделения функционала на ядро (то, что остаётся неизменным) и периферию (заменяемые сервисы). Множество архитектурных решений. Написание новых сервисов с нуля. Возможность влиять на решения в рамках проекта, а также имеющейся системы. Требования :   Умение писать хороший код на Go (конкурентная модель, разделение концепций, тесты); Знание SQL и умение писать запросы средней сложности; Отсутствие предубеждений против написания логики на фронтенде (многие компоненты готовы и конструирование интерфейса чаще сводится к сборке конструктора, но логику сложных валидаций и обмена данными необходимо будет писать).  Отлично, если вы также :  Умеете работать с git (мы используем подход с ребейзом); Имели опыт с gRPC, RabbitMQ и другими технологиями из нашего стека.