Выдров Сергей

1981 г.р.

Software- и web-разработчик с большим опытом. Специализируюсь в области пользовательских интерфейсов, графики и продуктов для массового пользователя. Неплохо знаю стек технологий Microsoft (WinAPI, COM, .Net, SharePoint), широко использую технологии front-end (HTML5/JS/CSS) для создания UI (от landing pages до мобильных и десктопных приложений). Активно использую Adobe Photoshop для работы с чужими дизайн-макетами и создания своих. Работал со многими смежными технологиями (серверный back-end, базы данных, 3D, поддержка периферийного оборудования и пр.) Коммуникабелен, имею опыт организации работы на уровне отдела. Много читаю по-английски, активно его совершенствую. Живу в Москве. Хочу работать над каким-нибудь интересным проектом.

Отправьте сообщение в Skype

Навыки и опыт

Разработка приложений

Я пишу на C/C++ 2003/11/14, используя STL/Boost;
Я пишу на C#, используя LINQ. Неплохо знаю .Net FCL;
Имею большой опыт разработки под Windows:
  • Хорошо знаю WinAPI (GDI/GDI+, Shell API, оконные функции/сообщения, потоки и процессы, хуки, сабклассинг и т.д.);
  • Использовал COM/ActiveX (для организации модульной архитектуры, вызова системных сервисов, интегрирования IE ActiveX (Trident) для рендеринга страниц и написания IE BHO;
  • Разрабатывал WinForms- и WPF-приложения;
  • Знаю продвинутые техники (кастомизация стандартных элементов управления, подмена окон в чужих приложениях, низкоуровневая работа с мышью и клавиатурой, интеграция окон чужого приложения в свое и наоборот).
Я могу написать современно выглядящее Windows-приложение с использованием:
  • Чистого WinAPI для легковесных программ типа инсталляторов
    ;
  • Sciter (компактного HTML5-движка) для небольших
    утилит
    ;
  • Webkit/Chromium Embedded Framework для приложений с продвинутым GUI;
Понимаю парадигмы программирования и принципы создания ПО:
  • Умею проводить грамотную объектную декомпозицию при использовании объектно-ориентированной парадигмы;
  • Активно придерживаюсь принципов SOLID OOP;
  • Понимаю преимущества и недостатки чистого функционального программирования;
  • Знаком с подходом Test Driven Development;
  • Немного знаком с Agile/Scrum;
Могу качественно оформить приложение, исходя из его назначения, поскольку:

Front-end разработка

  • Я кросс-браузерно верстаю страницы, следуя стандартам HTML5 и CSS3;
  • Предпочитаю использовать HTML5/CSS3 для создания интерфейсов мобильных и десктопных приложений;
При необходимости использую шаблонизаторы;
При верстке следую принципам Responsive Design;
При необходимости использую оптимизационные техники (объединение изображений в спрайт-сеты, уменьшение числа серверных запросов, оптимизация отдельных изображений, разбивка и компоновка графики);
JavaScript и библиотеки:
  • Могу писать как на чистом JavaScript, так и с применением библиотек и фреймворков;
  • Использовал возможности ES6, работал с разными диалектами EcmaScript (например, TIS);
  • Знаком с фреймворком AngularJS;
Отлично владею Adobe Photoshop (могу создать .psd-макет, сверстать по имеющемуся .psd-макету, перевести слоевые стили в CSS, использовать фильтры и слоевые маски, обработать картинки, придумать дизайн, нарисовать иконки и элементы пользовательского интерфейса).

Серверные технологии и back-end разработка

Я пишу на PHP:
  • С соблюдением стандартных практик: выделения шаблонов, использования PDO для доступа к БД, стандартного хеширования, полных тегов и пр.;
  • С использованием PEAR;
  • Есть опыт использования Symfony для создания админок;
Я имею ограниченный опыт применения следующих технологий:
  • Java EE для разработки серверного модуля, преобразующего запросы от удалённых POS-терминалов в сообщения для сервера банка-партнёра по стандарту ISO 8583;
  • Ruby on Rails при доработке панели управления билд-сервером (аналога TeamCity);
  • Node.js (в ознакомительных целях);
Работал с СУБД MySQL:
  • Использовал для стандартных CRUD. Знаю, что такое инъекции и умею их избегать;
  • Писал хранимые процедуры и триггеры.
В целях оптимизации разрабатываемого расширения MS SharePoint, напрямую работал с его базой, хранящейся в СУБД MS SQL. В частности, писал серверный код со сложной логикой на SQL CLR;
Неплохо знаком с MS SharePoint 2007 как пользователь, администратор и разработчик. Написал несколько расширений системного уровня, в том числе для поддержки справочников, интеграции с мессенджерами, генерации Excel-отчетов. Написал несколько web-parts для конкретных проектов. Умею работать как через Object Model/CAML, так и напрямую с БД.

Разное

Я применял следующие системы контроля версий: SVN (TortoiseSVN, SmartSVN), Git (TortoiseGit). При работе под Git активно использую branch'и;
Имею опыт создания кросс-платформенных мобильных приложений по технологии web-app. Под iOS приложения оформлялись как чистые web-app'ы, с внешним web-сервером и специально доработанные, чтобы выглядеть как нативные. Под Android они упаковывались в .apk вместе со всеми ресурсами и компонентом WebView. Поскольку реализация мультимедийных возможностей HTML5 (например, микширования тегов audio) в стандартном браузере была неудовлетворительной по производительности, эти возможности я реализовал самостоятельно. Десктопная версия для Windows работала под управлением CEF;
У меня есть опыт написания управляющего кода для коммуникационных устройств (GSM
- и UHF
-модемов), а кроме того — системы управления реестром этих устройств.

Предыдущие места работы

Ноябрь 2017 г. —
н.в.
Независимый разработчик (NDA)
20 июня 2014 г. —
11 октября 2017 г.
ООО «Нетбокс», ООО «НетГруп»

Участие в реализованных проектах:

06 апреля 2009 г. —
19 июня 2014 г.
ООО «Топкон Позишионинг СНГ»

Участие в реализованных проектах:

  • Разработка программных комплексов TopSurv и Magnet Field (программ, контролирующих высокоточные навигационные приемники);
  • Разработка
    графики
    , прототипирование элементов управления для UI программных продуктов компании;
  • Поддержка коммуникационного оборудования (UHF-, GSM-модемов) для высокоточных навигационных систем.
01 октября 2007 г. —
05 апреля 2009 г.
Независимый разработчик

Занимался проектами:

  • Комплексное расширение MS SharePoint для поддержки справочников, интеграции с мессенджерами, генерации Excel-отчетов SharePoint.Trigger
    ;
  • Подготовка и внедрение системы управления операциями в кредитной организации (на базе MS SharePoint 2007 и SharePoint.Trigger);
  • Управляющая программа CarEdition для автомобильных мультимедийных систем
    .
01 сентября 2005 г. —
01 октября 2007 г.
ООО «НТЦ «Сибтехнефть» (предприятие на базе ОАО «СибНИИНП»)

Участие в реализованных проектах:

  • Разработка приложения экспертизы контроля качества
    геологических и гидродинамических моделей;
  • Разработка фреймворка AppWork для построения документо-ориентированных приложений (SDI, MDI);
  • Подготовка и выпуск очередной версии пакета программного обеспечения STORM Office (пакет для геолого-гидродинамического моделирования и анализа
    );
  • Внедрение системы корпоративного документооборота (СКД) на базе MS SharePoint внутри компании;
  • Доработка и внедрение СКД в дочерние структуры ОАО «ЛУКОЙЛ»;
  • Портирование проекта нейросетевого моделирования месторождений с платформы Windows/Delphi на платформу Linux/C++.
06 сентября 2001 г. —
07 февраля 2005 г.
ОАО «СибНИИНП»

Участие в реализованных проектах:

  • Система двухмерной визуализации геологических объектов (MFC, GDI);
  • Система трехмерной визуализации геологических объектов (MFC, Direct3D);
  • Вспомогательные инструменты для геолого-гидродинамического моделирования.

Кроме того

Имею водительское удостоверение категории «Б» и загранпаспорт. Готов к командировкам.