Навыки и умения

Hard skills

C# .NET Framework, .NET Core

С 2005 года преимущественно пишу на C#. Одинаково хорошо умею и могу desktop и web. Написал огромное количество приложений под Windows (WinForms, WPF) и не меньше веб-сайтов и веб-сервисов: от WebForms и MVC, до Web API и хабов WebSocket. Одинаково хорошо могу и в монолит, и в микросервисы.

  • .NET Framework 2.0, 3.0, 3.5, 4.0, 4.5+
  • .NET Compact Framework 2.0, 3.5
  • .NET Standart 1.0, 2.0, 3.0+
  • OOP, solid, design patterns, DDD
  • ADO.NET, Entity Framework, EF Core, Dapper
  • MSSQL, MySQL, PostgreSQL
  • MSTest, xUnit

PHP

Ушёл из PHP до того, как это стало мейнстримом и до того момента, как там появился ООП. При этом несколько магазинов, форумов, гостевых книг и парсеров успел всё-таки написать. Также я написал несколько крупных плагинов для CMS Wordpress и это мой последний опыт взаимодействия с PHP.

Веб и фронтенд

Как трушный старый бекендер, считаю, что лучшее, что случалось с вебом - это простой старый добрый HTML. Чистый и понятный. Но сегодняшние реалии таковы, что без CSS и уж тем более без JS никуда. По-возможности стараюсь использовать server side rendering, являюсь магистром jQuery (ajax, валидаторы etc.) :) Базово владею React на уровне поддержки SPA, все остальные фреймворки - со словарём.

ASM/C/C++

Люблю низкоуровневую разработку. Мне по душе чистота и красота ассемблера, лёгкость и опасность С и многомерность возможностей выстреливания себе в ногу в С++.

IoT

Как человек, который закончил кафедру приборостроения - сохранил свою страсть к схемотехнике и связке программирования и железа. Мне нравится создавать приборы при помощи Arduino. Строю свой умный дом. Иногда создаю игрушки для домашних животных.

Soft skills

Мягенькие скилы

О себе написать объективно сложно. Чтоб и правда, и чтоб скромно. Могу сказать, что стараюсь получать новые знания и держать в тонусе старые. Принимаю решения исключительно благодаря научному методу. Факты > Личные убеждения.

Опыт работы

Nimses

Chief Web Officer, .NET solution architect, .NET team lead • Oct, 2016 — Feb, 2020

Финансовый, социально-экономический стартап.

CWO, .NET architect:

  • Построение инфраструктуры всего .NET стека в компании;
  • Построение архитектуры приложений на .NET (mvc проекты, rest-api, class libraries);
  • Курирование трёх команд разработчиков, продуктоунеров и тестировщиков;
  • Ответственный за весь внешний web компании;

Team lead:

  • Создание и поддержка внутренней админ панели управления всеми продуктовыми сущностями компании;
  • Создание и внедрение сервиса единого входа SSO;
  • Разработка многопоточного, асинхронного обработчика заданий (для отправки 10+ миллионов писем пользователям, для работы с большими массивами данных);
  • Веб сервис маркетплейса компании;
  • Веб сервис портала для отдела customer support (поддержки);
  • Сервисы отправки писем e-mail с генерируемыми PDF-вложениям;
  • Поддержка основного главного сайта компании;

TB Board

.NET architect • Dec, 2015 — Mar, 2018

Американская компания, занимающаяся перевозками грузов по США, логистическими операциями с грузами и автомобилями, куплей-продажей слотов внутри траков (грузовиков) и аукционами заказов на перевозку.

Разработка CRM системы для логистической компании, а также порталы для внутренних работ internal-пользователей и внешних заказчиков.

  • База данных сотрудников компании и внешних пользователей, группы доступа;
  • Система менеджмента перевозок;
  • Система менеджмента штата грузовиков и водителей;
  • Биллинговая система;

Pa-Trade

Senior .NET разработчик • Jan, 2016 — Mar, 2017

Украинская брокер-компания с маркетплейсом зерна и логистическими задачами.

Разработка крупной CRM системы для работы с сущностями логистической компании PaTrade:

  • База данных клиентов компании;
  • База данных сотрудников компании, группы доступа;
  • База данных файлов и документов, документооборот;
  • Модули контроля закупок, хранения, отправок и погрузок;
  • Централизованная связь с клиентами средствами электронной почты;
  • Система отдела поддержки клиентов;

SmartTouch

C++, C#/VB.NET разработчик • Aug, 2006 — Jan, 2009

Разработка и поддержка двух первых версий медицинского программного клиент-серверного комплекса SmartTouch Medical. Разработка велась с нуля.

Серверная сторона:

  • Создание и администрирование сервера базы данных;
  • Создание первоначальной архитектуры межсервисного общения и протоколов всего транспорта клиента и сервера;
  • Система контроля доступом (ACL) к данным и важным частям системы;
  • Админ-панель для управления сущностями медицинского учреждения;
  • Функционал ведения справочной медицинской литературы, МКБ, шаблоны отчётов и документов;
  • Поддержка медицинских протоколов Dicom;
  • Работа с штрихкодами и принтерами наклеек штрихкодов (для идентификации карт пациентов и документов);

Клиентская сторона:

  • Модуль регистратуры;
  • Разработка специализированного рабочего места врача кардиолога;
  • Разработка специализированного рабочего места врача рентгенолога;
  • Разработка специализированного рабочего места врача стоматолога;
  • Модули работы с видео-устройствами, а также инструментов редактирование и измерения данных на экране;
  • Печать отчётов, документов, карточек пациентов;

InVideo

PHP разработчик • Sep, 2005 — May, 2006

Первая работа разработчиков на 2-м курсе института, занимался, в основном, PHP-стеком.

Разработка и поддержка мамботов Joomla.

Образование

Национальный Университет Кораблестроения им. адмирала Макарова (НУК, НКИ)

Master of Science, Специализированные Компьютерные Системы (СКС, Электрофак) • 2003 — 2009

  • Дипломная работа с отличием, второе место на университетском конкурсе дипломов;
  • Дипломная работа была написана по уже существующему мной написанному медицинскому программного комплексу, который успешно работал в городе Харькове в кардиологической клинике;

Национальный Университет Кораблестроения им. адмирала Макарова (НУК, НКИ)

Master of Science, Инженерия Программного обеспечения (заочно) • 2015 — 2017

НГВМУ, Украина, г. Николаев

Среднее музыкальное образование, Эстрадный джаз • 2010 — 2011

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

  • Класс контрабаса и эстрадной бас-гитары;

Средняя школа №50, Украина, г. Николаев

Полное среднее образование, Углублённая математика • 1992 — 2003

  • Углублённое изучение математики и экономики;
  • Первые места на школьных олимпиадах по математике и информатике;

Мой фриланс

Опен сорц

Пет проекты

Иногда я умудрялся по полгода писать какие-то проекты, программируя после учёбы и работы, не зная отдыха и перерыва. Многие из них остались историей для интернета и меня, но забыть об этом я не в силах и ну никак не могу не упомянуть :)

SystemTextRegularExpressions.com

Чекер регулярных выражений .NET • 2014

До этого сайта у меня всегда была самописасная утилитка на WinForms, которая делала ровно тоже самое, что и этот сайт. Просто стало сильно неудобно её таскать с компьютера на компьютер, именно поэтому я и сделал чекер регулярных выражений .NET в онлайне. Кроме, собственно, проверки мачтей, здесь также можно сделать операцию split и replace. Написано давно, ещё при помощи WebForms. Но до сих пор очасто пользуюсь.

HiTechDays.com

Агрегатор IT новостей • 2015 — 2017 Проект закрыт, домен потерян

Большой портал-агрегатор новостей сфера информационных технологий. Данный сайт имел пул роботов, который ежедневно проходили десятки сайтов, собирали информацию, нормализовали её, агрегировали, разбирали по тегам, темам, брендам и лицам - одна из моих первых успешных попыток реализации микросервисной архитектуры. К сожалению, проект стал слишком дорогим как для пет-проекта и абсолютно нерентабельный с толчки зрения бизнеса (т.к. это агрегатор, сайт редиректил и уводил трафик на сайты-источники).

NikoGrad.com

Портал города Николаева • 2011 — 2014 Проект закрыт, домен потерян

Афиша, события, новости, фотогалереи, фотографии, исторические справки, голосование и прочие сервисы обычного городского портала. К сожалению, проект пришлось закрыть, т.к. он отнимал слишком много времени, а заниматься бесплатно им никто не хотел :)

CodeHoles.com

Справочники по программированию • 2006 — 2009 Проект закрыт, домен потерян

Один из первых больших сайтов, который я сделал. И точно первый, в котором был какой-то настоящий реальный трафик. Самописная система блогов, парсинг и копирование статей и справочных данных. Предметная область сайта касалась, в основном, языка С++ и около него: публикации, новости, примеры исходных кодов.

Мои AdSense проекты

Многие проекты описанные ниже не являются технически сложными. Практически все эти сайты - маленькие странички, созданные в свободные вечера как закрепление пройденного материала или с целью создать мини-инструмент (в первую очередь для себя). Немаловажным также является то, что все эти ресурсы - источник моего небольшого пассивного дохода через Google AdSense. К слову, это те средства, которые я трачу на сервера, домены, игры и прочие подписки. Очень удобно, рекомендую :)

HtmlCssColor.com

16 миллионов цветов • 2014

Сайт родился, как результат моего интереса к теории цвета и всей математики в колористике. Была реализована библиотека для получения всевозможных данных о цвете - приблизительное название, RGB/HSL значения, описание цвета, все тени и оттенки, комбинации по цветовому кругу/треугольнику и т.д. На данный момент сайт посещают около 5к человек в сутки и это, наверное, самый популярный мой AdSense-проект. Был написан в сверхсжатые сроки, что-то около 4-5 дней.

PasswordRandom.com

Генератор паролей • 2014

Генератор паролей. Таких сайтов тысячи, но всегда приятнее пользоваться чем-то написаным самостоятельно. Плюс это способ не очень за дорого уталить жажду построения собственных велосипедов. На сайте кроме всего прочего присутствуют маленькие тулзы для определения IP, получения UserAgent, проверка сложности пароля и реализация открытого API для случайной генерации информации для внешних источников (third-party).

AsciiHex.com

ASCII таблица • 2018

Всё просто. Это обычная ASCII-таблица, созданная при помощи стилизованной под DOS bootstrap-темы. Мой провальный эксперимент с SEO, но сайт мне кажется всё ещё красивым, поэтому, конечно, имеет смысл вспомнить и о нём :)

KiloMegaByte.com

Конвертет единиц измерения информации • 2019

Данная утилита была создана для перевода из байт/бит в любую другую из часто используемых комбинаций систем измерения информации. К примеру, килобайт, кибибайт, килобит, кибибит, а также любые другие вариации не только с кило-, но и с другими приставками системы СИ (мега, гига, тера, пета и т.д.).

Хобби

С 15 лет играю на гитаре и бас-гитаре. В 25 лет решил добавить к исключительно техническим аспектам игры ещё и теоретические знания, поступил в николаевское высшее музыкальное училище. К сожалению, не смог его закончить, но полученных знаний хватает для того, чтобы чувствовать себя спокойно и легко в практически любом коллективе. Несколько десятков концертов, несколько альбомов и фестивалей.

С самого глубокого детства страдаю (наслаждаюсь) болезнью собирательства. Не знаю никого у кого было бы больше киндеров, чем у меня; а также - фигурок роботов, картриджей для Dendy, фантиков от турбо и всего того, что принято было собирать в 90х. Собирательство в слегка трансформированной стадии перешло и во взрослую жизнь:

Вот уже на протяжении более десяти лет я собираю марки и являюсь официальным филателистом Украины. Гордый владелец огромнейшей коллекции разнообразных почтовых материалов: марок, сцепок, блоков, открыток, марочных листов, штемпелей и подобные этому вещи. Речь идёт о десятках, если не сотнях тысяч марок. Собрал все марки Украины, которые когда-либо только выходили. Включая марки УНР, львовской подпольной почты, марок времён оккупации и т.д. Также имею коллекцию маяков, марки Ватикана, все марки "пионерского" периода СССР с 61 по 91 годы.

Ссылки