Go-разработчик
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Технологии:
Backend системы написан на языке Go, с использованием gRPC-протокола, упаковкой в Docker-контейнеры и выкладкой в k8s-кластер. Для различных сервисов используются различные БД: PostgreSQL, MongoDB, Redis. Также масштабируемые части системы вынесены за очереди в RabbitMQ.
Frontend написан на Angular 2+ с использованием REST API для обмена данными и оповещением об изменениях на сервере через веб-сокеты.
Взаимодействие внутри команды построено на нашей же системе. Мы придерживаемся подхода dogfooding. Для формальных задач, контроля кода и CI используем Gitlab.
Что предстоит делать:
Работа в рамках проекта Enterprise версии системы подразумевает замену некоторых частей имеющейся системы на сервисы заказчика. Для этого предполагается вводить новые точки расширения, разделение функционала на ядро (то, что остаётся неизменным) и периферию (заменяемые сервисы). Множество архитектурных решений. Написание новых сервисов с нуля. Возможность влиять на решения в рамках проекта, а также имеющейся системы.
Требования:
- Умение писать хороший код на Go (конкурентная модель, разделение концепций, тесты)
- Знание SQL и умение писать запросы средней сложности
- Отсутствие предубеждений против написания логики на frontend (многие компоненты готовы и конструирование интерфейса чаще сводится к сборке конструктора, но логику сложных валидаций и обмена данными необходимо будет писать)
Отлично, если вы также :
- Умеете работать с git (мы используем подход с ребейзом)
- Имели опыт с gRPC, RabbitMQ и другими технологиями из нашего стека