— bash — damir@dev.evolution

Дамир Галиуллин

.NET / C# архитектура highload & интеграции тимлид

Не пишу код — решаю задачи. Для меня код — это и работа, и хобби. От школьного 3D-движка до 12-кратного ускорения продакшена.

Дамир Галиуллин
// subject: D.GALIULLINREC ●
01 cat about.md

Инженер, для которого
код — родной язык

Пишу на .NET с тех пор, как это перестало быть просто учёбой — хотя хобби оно так и осталось. За плечами крупные государственные информационные системы: капитальный ремонт Москвы, ФОМС, Ростехнадзор.

Проектирую архитектуру модулей и микросервисов, гоняю нагрузочные тесты, ревьюю код и вывожу джунов в люди. Люблю задачи, где нужно разобрать систему до байтов и собрать обратно — быстрее и чище.

// всегда готов учиться новым технологиям и методикам

8+ лет
в продакшене, .NET
12×
ускорение микросервиса
5
разработчиков в команде (тимлид)
6
open-source проектов
Arctic Code Vault Contributor
B1
английский · Казань, RU
02 git log --oneline --since="школа"

Origin story

Четыре коммита, с которых всё началось. Кликните, чтобы развернуть.

a1b2c3d school/english-homework 3D-сцена на собственном движке — вместо доклада по английскому

Когда одноклассники сдавали устный топик «My hobby», я принёс интерактивную 3D-сцену, по которой можно ходить. Рендер, управление и геометрию написал сам, с нуля. Учительница английского, кажется, до сих пор не уверена, что именно ей показали.

+ engine.render()   + walk(scene)   - presentation.txt
f4e5d6c college/reverse-engineering Дизассемблировал ПО по просьбе преподавателей

В колледже преподаватели приносили программы, которые нужно было «уговорить» работать без защиты. Я разбирал их до ассемблера, находил нужные ветки и снимал ограничения — официально, по запросу кафедры. Так я научился читать чужой код буквально на уровне процессора.

+ disasm → patch → rebuild
9a8b7c6 college/exploit Написал программу преподавателю → получил автомат

Один из преподавателей попросил написать ему рабочий инструмент. Я написал. В ответ — зачёт-автомат и официальное право свободного посещения занятий. Лучшая сделка студенчества: одна полезная программа — и целый семестр свободного времени на свои проекты.

+ tool.exe   + grade: «автомат»   + attendance: optional
c0ffee0 hobby/board-games Шашечные и шахматные движки — просто для удовольствия

Перебор ходов, альфа-бета отсечение, оценочные функции — писал игровые движки в свободное время, потому что это красивая инженерия. OptimumCheckers умеет шашки с настраиваемыми правилами.

+ minimax()   + alphaBeta()   + evaluate(board)
03 cat experience.log

Опыт в продакшене

8+ лет коммерческой разработки. Путь от младшего разработчика до тимлида на крупных государственных системах.

БАРС Груп
Казань · 2019 — наст. время · C#/.NET
  • 2019Младший разработчик (fullstack)
  • 2021Разработчик (fullstack)
  • 2022Разработчик 1-й категории
  • сейчасТимлид · фуллстек 1-й кат.
// государственные системы
РСКР МосквыГИС ОМС / ФОМС ЦП АИС РостехнадзораБиллинг КП 6.0
12×

Оптимизация микросервиса. Снизил среднее время выполнения операций отбора подрядчиков для ПИР в двенадцать раз.

.NET 6

Миграция на Linux. Перевёл приложение и микросервисы на .NET 6 и ОС Linux.

CI/CD

Единый пайплайн. Построил общий для бизнес-центра CI-пайплайн на GitLab; настроил нагрузочное тестирование (Яндекс.Танк · InfluxDB · Grafana).

Признание. Грамота ЗГД за вклад в развитие информационных систем компании. Наставник младших разработчиков, код-ревью, релиз-менеджмент.

06 ./связаться

Соберём что-нибудь
сложное вместе?

Открыт к полной, частичной и проектной занятости. Предпочитаю почту.