Разработчик Ruby on Rails

Зарплата

до 300 000 ₽

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

Можно удаленно

Компания

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

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

Компания ВГТ (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

https://store.webgears.app/test82/resources/3958/editor