👀 Дизайнеры, с какой командой вы мэтчитесь по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Go/Fullstack

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

Санкт-ПетербургПолный рабочий деньМожно удаленно

Компания

Система управления бизнес-процессами и эффективностью

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

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

Наш продукт направлен на автоматизацию процессов внутри компании. Интеграция различных внутренних и внешних систем, а также взаимодействие с пользователями. Система построена на микросервисной архитектуре с учётом масштабирования и замены отдельных сервисов под нужды клиента. Продукт представляет из себя SaaS-решение и доступен по подписке в B2B сегменте.

Основной нашей задачей является универсализация и переиспользование решений. Мы не реализуем все запросы пользователя как есть, но работаем на коммуникации и выстраивании общих и целостных решений. Наша компания имеет огромный опыт в построении бизнес-процессов различных компаний в России и странах СНГ. Наша задача поделиться этим опытом и сделать целостный и качественный продукт.

В данный момент мы ведём работу по подготовке Enterprise версии системы, устанавливаемой на серверах заказчика. С этим связаны задачи по выделению новых абстракций, позволяющих встроить систему в инфраструктуру заказчика, но сохранить независимым функционал ядра.

Технологии:

Бэкенд системы написан на языке Go, с использованием gRPC-протокола, упаковкой в Docker-контейнеры и выкладкой в k8s-кластер. Для различных сервисов используются различные бд: PostgreSQL, MongoDB, Redis. Также масштабируемые части системы вынесены за очереди в RabbitMQ.

Фронтенд написан на Angular 2+ с использованием REST API для обмена данными и оповещением об изменениях на сервере через веб-сокеты.

Взаимодействие внутри команды построено на нашей же системе, мы придерживаемся подхода dogfooding. Для формальных задач, контроля кода и CI используем Gitlab.

Что предстоит делать:

Работа в рамках проекта Enterprise версии системы подразумевает замену некоторых частей имеющейся системы на сервисы заказчика. Для этого предполагается вводить новые точки расширения, разделения функционала на ядро (то, что остаётся неизменным) и периферию (заменяемые сервисы). Множество архитектурных решений. Написание новых сервисов с нуля. Возможность влиять на решения в рамках проекта, а также имеющейся системы.

Требования:

* Опыт архитектурной проработки и декомпозиции задач, умение взвешивать разные варианты реализации;
* Опыт Backend-разработки;
* Понимание особенностей микросервисной архитектуры и высоконагруженных систем и участие в разработке таких систем;
* Умение писать хороший код, и видеть недостатки в чужом;
* Ответственность, коммуникативность;
* Опыт работы с SQL-подобными БД (желательно PostgreSQL).
* Git.

Желательно:

* Знание Go;
* Опыт или отсутствие боязни Frontend-разработки;
* PostgreSQL, Mongo;
* http, gRPC;
* Docker, Kubernetes.

Обязанности:

* Разработка нового функционала: взаимодействие по постановкам с продуктовым аналитиком, проработка технического решения, декомпозиция, распределение и контроль задач (в т.ч. ревью кода);
* Сопровождение существующего функционала;
* Собственноручное участие в разработке (написании кода);
* Решение технических вопросов, ревью кода,  развитие продуктивности команды.