Обо мне

Hello, my name is Borodin Dmitriy and I am open-minded and hardworking software engineer. I have been developing software for 6+ years. I live in the time zone of Moscow (GMT +03: 00), and I like to work remotely.

The area of my work involves:

Solving business problems by means of programming. I create full-fledged multi-user cross-platform solutions that work in real time using WEB and DevOps technologies.

My skills: 

Programming:

  • OOP
  • DDD
  • SOLID
  • Design patterns
  • Software design
  • TypeScript
  • React
  • Cordova
  • Mobx
  • Moment (experience with time and offsets)
  • Numeraljs (experience with money and other numeral types)
  • Node

HTML, CSS:

I more like native features of HTML or CSS before preprocessors like SASS, LESS. Also, I use CSS-Modules and БЭМ methodology, in my opinion, it is a powerful combination.

Web servers:

For developing I use webpack-dev-server, WDS gave me https, wss and proxy to back-end. For production I use Nginx, I configured nginx for handling static files, handle https and wss connection also proxy to back-end.

Back-end:

UI Kits:

Building tools:

Rearguard (my view on how to automate development experience).

Testing:

Deploy:

  • Docker ( this is favourite )
  • Bash
  • pm2

GitHub: https://github.com/mitya-borodin

Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
Route Aviation FZE
Шарджа
Full-stack developer
Август 2017 — Август 2019 (2 года и 1 месяц)

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

  1. Участие в развитии модели предметной области используя DDD.
  2. Разработка архитектуры ПО основываюсь на модели предметной области.
  3. Не посредственная реализация ПО на клиенте и на сервере.
  4. Реализация тестов для объектов предметной области.
  5. Поддержка и развитие сборочных инструментов.
  6. Развертывание и обслуживание ПО на производстве.

Достижение: 

  1. Осознана полезность DDD.
  2. Применение DDD на практике с позитивным результатом.
  3. Открыл для себя успешную архитектуру ПО для средне сложного приложения.
  4. Реализовал инструмент поддерживающий инфраструктуру ПО.
  5. Реализовал два приложения которые успешно внедрены в производство работ на предприятии.
XPM.CENTER
Москва
Front-End Developer
Июль 2016 — Сентябрь 2017 (1 год и 3 месяца)

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

  1. Планирование архитектуры проекта.
  2. Выбор технологий для реализации.
  3. Организация работы между людьми которые делают верстку и теми кто разрабатывает логику. Цель - сделать ненужным копирование шаблонов из проекта верстальщиков в целевой проект.
  4. Интеграция open source решений в платформу компании.
  5. Оценка проекта для участия в тендере.
  6. Обучение младших сотрудников.
  7. Непосредственно реализация.

Достижения:

  1. Реализован способ доставки шаблонов в целевой проект без необходимости копировать код, при помощи git submodules и webpack. Проект верстальщиков и целевой проект имеют одинаковую конфигурацию сборки проекта, далее проект с версткой подключается как git submodule в директорию src целевого проекта. Таким образом появляется возможность импортировать React компоненты напрямую из проекта с версткой. Основное требование, это вести разработку верстки используя React компоненты. Данный способ реализуем на всех компоненто ориентированных фреймворков.
  2. Интеграция изоморфного рендеринга приложения основанного на библиотеке React в платформу компании, без изменения самой платформы.
  3. Для контроля конфигураций сборки начал реализовывать пакет который следует идеи "одна зависимость для разработки", вот этот пакет rearguard.
Шопинг в Instagram
Front-End Developer
Май 2016 — Июль 2016 (3 месяца)

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

  1. Непосредственно реализация.
  2. Выдерживание pixel prefect.
  3. Планирование отдельных участков приложения.
  4. Обновление front-end сервера на stage и production.

Достижение:

  1. Значительно улучшил систему чатов, проведя рефакторинг и сократив количество вызовов API. Так же реализовал фоновую загрузку данных для чатов и фоновое обновления данных в памяти, что значительно повлияло на отклик интерфейса.
Компания разрабатывает CAE приложение для расчета стержневых систем методом конечных элементов на платформе web.
Казань
Developer
Сентябрь 2014 — Май 2016 (1 год и 9 месяцев)

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

  1. Планирование архитектуры проекта.
  2. Выбор технологий для реализации.
  3. Непосредственно реализация.
  4. Огранизация взаимодействия с дизайнером проекта.

Достижения:

  1. Реализация приложения до состояния которое полностью соответсвует MVP.
Частная практика, работа без зачисления в штат
PHP/JS разработчик, Front-end разработчик, системный администратор Linux.
Сентябрь 2013 — Сентябрь 2014 (1 год и 1 месяц)

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

  1. Поиск заказчиков, ведение переговоров и заключение соглашений.
  2. Управление командой.
  3. Верстка (HTML, CSS).
  4. Разработка JS кода для Front-End.
  5. Разработка Back-End на PHP при помощи framework CI и базы данных MySQL.
  6. Разработка технического задания, так же разработка бизнес требований.
  7. Разработка или доработка UI/UX совместно с заказчиком.
  8. Коорденирование работы дизайнера.
  9. Обучение младших разработчиков.
  10. Разработка архитектуры приложения.
  11. Выполнял обязанности системеного администратора.

Достижения:

  1. Первый подход к снаряду в мире IT.
  2. Научился вести переговоры.
  3. Прочувствовал возможности команды и проблемы взаимодействия с командой.
  4. Прочувствовал работу с time management.
  5. Реализовал несколько приложений на разных заказчиков.
  6. Познакомился с концепцией SPA и класического сайта.
  7. Научился работать с Базами данных.
  8. Научился разворачивать приложения на PHP в ручную.
  9. Научился работать с системами контроля версий (установка/использование).
Высшее образование
Казанский национальный исследовательский технический университет (бывший КГТУ) им. А. Н. Туполева
Казань
Факультет: Технической кибернетики и информатики
Сентябрь 2008—Август 2012 (3 года и 11 месяцев)
Бакалавр техники и технологии ЭВС.