Разработчик Ruby on Rails
Зарплата
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Компания ВГТ (https://wgt3d.com)
ВГТ обладает уникальной разработкой в области WEB 3D-технологии.
Мы занимаемся созданием инструментов и приложений для работы с 3D графикой в web.
В связи с масштабированием бизнеса ищем таланты в свою команду разработки системы коммуникации вокруг массивных 3D моделей.
Задачи:
- Проектирование архитектуры приложения
- Проектирование и разработка backend части приложения
Требования:
- Уверенное знание Ruby
- Знание фреймворка Ruby on Rai
- Технический английский
Дополнительным плюсом будет:
- Опыт разработки API-only приложения
- Опыт работы с S3
- Умение работать по TDD/BDD
- Знакомство с Event sourcing / Swagger / GraphQL
Условия:
- Полная занятость
- Оформление по ТК РФ
- Полностью оплачиваемый испытательный срок 2 месяца
Стек технологий:
Platform: Docker, Debian
Frontend: Javascript/Typescript, WebGL, Webpack, React.
Backend: Nodejs(Koa), Ruby(Rails), PostgreSQL, Redis, RabbitMQ, Python, C++
Приложение с которым предстоит работать:
Сервис для коммуникации вокруг больших инженерных 3D моделей (строительство, машиностроение). Интерфейс приложения выглядит как google disk или dropbox: папки, документы, версии документов. В данный момент находится в закрытой beta, развивается общий функционал (не привязанный к отрасли), в дальнейшем возможна специализация: Строительство / тяжелое машиностроение / машиностроение.
Backend часть состоит из двух сервисов: сервиса хранения и сервиса конвертации. В рамках этой вакансии в основном предстоит работать с сервисом хранения, который написан на Rails. В качестве бд используется PostgreSQL, Redis для SideKiq, Nginx для раздачи статики и в качестве балансера, frontend выполнен в виде SPA (ReactJs, Mobx, взаимодействие с backend через Rest API). Составные части приложения уложены в Docker.
Задачи связанные с legacy:
- - Решение проблемы с обработкой файлов (есть ряд проблемных мест, которые можно сделать лучше)
- - Устранение сложной асинхронности (сейчас в одном месте реализовано что-то вроде event-loop на sideKiq...не особо удачно, сейчас мы склоняемся что лучше было бы решение на очередях или графе состояний)
- - Рефакторинг, некоторые места написаны не удачно (rest api покрыт rspec на 80-90%, 2 человека которые писали код в шаговой доступности).
Задачи по новому функционалу (ближайшие):
- - Backend комментариев
- - Расширенные права доступа
- - Поиск
- - Улучшения по интеграции с сервисом конвертации
Ссылки примеров из аккаунта (доступны без авторизации)
Industrial Viewer
https://store.webgears.app/test82/resources/3974/viewer
https://store.webgears.app/test82/resources/3971/viewer
https://store.webgears.app/test82/resources/3976/viewer
https://store.webgears.app/test82/resources/3970/viewer
Pure 3d Engine Viewer
https://store.webgears.app/test82/resources/3958/viewer