ООО "ЕвразТехника"
Новосибирск, it.evraz.com/
Информационные технологии, системная интеграция, интернет... Показать еще
Web-разработчик (фронтенд, ведущий специалист)
Являюсь ведущим фронтенд разработчиком на проекте внедрения MES системы. Проект представляет собой систему управления предприятием, целью которого является цифровизация и автоматизация рабочих процессов. На данный момент он развернут в рамках одной из обогатительных фабрик и готовится к масштабированию на другие предприятия компании.
Ключевой особенностью приложение является оперирование большим количеством данных, при работе с которыми активно применяется сортировка, фильтрация, пагинация, поиск, форматирование и валидация с последующим отображением в виде таблиц, форм, дашбордов, графиков, диаграмм, мнемосхем и прочих элементов. При этом логика по работе с данными во многом выполняется на стороне фронтенда, что требует повышенных знаний в оптимизации рендера компонентов (view) и вычисления данных (model).
На проект я попал на стадии редизайна, первой задачей было проанализировать компонентную базу и поделить задачи между разработчиками, в результате анализа я предложил параллельно произвести рефакторинг с целью избавиться от однотипных компонентов, предложение было утверждено и мы приступили к работе. Пример рефакторинга - из 7 компонентов таблиц осталось только 2, и по ходу разработки интерфейс приводится к единственной таблице. Это касается и других компонентов, будь то элементы форм, модальные окна, кнопки и прочее.
По завершению редизайна интенсивность работ снизилась и меня оставили продолжать разработку нового функционала. Периодически в команду добавляли новых фронтендеров и я проводил онбординг, вскоре стало понятно что нужно проводить контроль кода коллег и я вызвался ревьюером. Со временем я стал ведущим разработчиком на проекте и на данный момент я занимаюсь архитектурой приложения, проработкой и постановкой задач, помощью коллегам по технической части, контролем кодовой базы приложения, а также веду основную разработку.
Проект написан на JS, типизация осуществляется с помощью библиотеки prop-types (в планах перейти на TS).
Технологический стек
React,
Redux,
Redux-Saga,
reselect (преобразование данных),
redux-requests (берет на себя состояние и простую обработку запросов),
Axios (api),
ECharts (графики),
date-fns (даты),
Loodash (некоторые утилиты)
В остальном используются внутренние решения.