Дмитрий Матвеев
Senior Software Engineer
Я опытный веб-разработчик, тимлид, архитектор, проджект менеджер. Я ценю культуру саморазвития, открытости и честности.
Мои главные навыки:
- Веб-разработка на Ruby с PostgreSQL и JS&HTML&CSS (10 лет) — я работал с фреймворками Ruby on Rails, Hanami, Roda, как фулстак, так и фронтенд/бэкенд. Выполнял разнообразную работу: от оптимизации баз данных до дизайна и внедрения новых архитектурных шаблонов во всей кодовой базе.
- Управление командой и управление проектами (5 лет) — я тимлидил команды, проводил интервью, менеджил проекты, обучал сотрудников, увольнял сотрудников.
Опыт в Naumen 2024 – настоящее время
В Naumen я пришёл в команду с уже достаточной большой кодовой базой, накопленным легаси, зоопарком микросервисов — в более чем десятилетнюю кодовую базу. Сначла я занимался продуктовой работой, потом работой по перегону данных, а после взял на себя роль тимлида и помимо управления командой также управлял проектами.
Несколько конкретных достижений:
- Создал единую аналитическую базу данных, где главной задачей было выстроить трубопровод по перегону данных из разных мест в одно единственное.
- Выстроил с нуля процессы комфортной работы в команде. Причём этот комфорт учитывался как для команды, так и для руководства.
- Курировал проект, куда включалась работа по сбору команды и коммуникации с командой проекта, отчётность по прогрессу, работа в ограниченных условиях по ресурсам, планирование, декомпозиция и архитектурное наставничество.
Опыт в Toughbyte 2019 – 2024 (5 лет)
В Toughbyte я был первым штатным разработчиком, когда в компании было около 30-ти человек. Разрабатывал рекрутинговую платформу на Ruby on Rails. Я прошел через все стадии разработки проекта: наша компания выросла с 30-ти человек до 150-ти, и команда разработки выросла с одного меня до 15-ти разработчиков. Моя роль претерпела изменения начиная с обычного разработчика, до тимлида, до менеджера команды и до архитектора.
Моя работа включала в себя программирование, менторство, управление командами, обучение команд, дизайн и внедрение новых архитектурных шаблонов, работа по улучшению UI/UX, оптимизация производительности, развёртывание приложения и DevOps работа, продуктовая работа.
Несколько конкретных достижений:
- Разработал с нуля систему учёта финансов компании. Импорт, экспорт транзакций, связывание переводов между аккаунтами, статистика по закрытым расчётным периодам.
- Составил и ввёл сетку грейдов для разработчиков со следующими требованиями: сетка открыта для всех сотрудников, по ней можно ставить цели для следующего перехода на грейд выше, требования максимально объективны и исчисляемы.
- Провёл исследование, сравнительный анализ и ввёл архитектурный шаблон “сервисного объекта” или “операции” во взрослую кодовую базу. Сопровождал это решение следующий год, где оно себя хорошо показало.
Опыт в Институте Языкознания РАН 2016 – 2019 (3 года)
В университете у меня была возможность работать на Институт Языкознания Российской академии наук. Я с нуля разработал автоматизированную систему для научных исследований, которая обрабатывала введённые вручную данные, эвристически исправляла ошибки и предоставляла веб-интерфейс статистического анализа данных. Я использовал Ruby, Hanami и PostgreSQL для веб-интерфейса и скрипты на Ruby для обработки данных.
Работа в опенсорсе
Я часто отсылаю патчи в разные опенсорсные проекты. Обычно я занимаюсь очень разными вещами и стараюсь оставить место после себя лучше, чем оно было до меня.
У меня есть несколько проектов, которые другим людям показались полезными:
- Jzignet — склейка, чтобы соединить вместе языки программирования Janet и Zig.
- NimraylibNow! (прекращён) — автоматически сгенерированные бинды для игрового движка Raylib под язык программирования Nim. Я написал их еще до того, как Raylib начал поставлять JSON файлы для генерации биндов, сейчас работа над проектом прекращена в пользу проекта, использующего эти JSON файлы.
- active-window.kak — небольшой плагин для текстового редактора Kakoune.
Что я умею ещё
- Очень люблю изучать новые языки и парадигмы, среди них: Ruby, Elixir, Clojure, Scheme, Janet, Zig, Nim, Odin (как минимум полгода в каждом) — и есть еще больше языков, с которыми я знаком, но пока не имел возможности потратить на них достаточное количество времени.
- Потратил на Linux администрирование всего 12 лет — я использовал эту операционную систему на личном компьютере и на сервере, решил много возникающих проблем, прочитал слишком много мануалов. На текущий момент я использую Linux на личном компьютере и на сервере.
В заключение
Если бы вы хотели работать вместе, пожалуйста, свяжитесь со мной.
- Почта: job@greenfork.me
- Телеграм: @greenforkdm
- GitHub: greenfork
- LinkedIn: dmitry-matveyev-greenfork