Реальное резюме суперпрограммера 26 лет от роду. Пятилетней давности. Стилистика и правописание автора сохранены. Изменены адреса и названия

M?????????ий Александр И?????ич

программист

   
E-mail alex.m?????????iy@gmail.com
Тел. (моб.)   +7 (???) ?1?-??-??
Пожалуйста, с 12:00 до 23:00 мск.
Адрес личного сайта http://www.????-????????????.com
Проживание Москва (ст. м. ?????????)
Предпочтительное время в пути до будущей работы час-полтора
Дата рождения ??.??.1984 (26 лет)
Переезд Возможен переезд
Примерная зарплата 0 руб.

Информационные технологии/Интернет/Телеком

  • Программирование/Разработка
  • Тестирование
  • Игровое ПО

Образование

Основное

2008 — Московский ????????????? институт, Факультет радиотехники и кибернетики, Специальность: Информатика и вычислительная техника, Магистр

Профессиональный опыт

05.2007 - 05.2010, Представительство ООО “???????” (программистов: 10-20)

Информационные технологии/системная интеграция

Программист Windows VC++ (VS2003)

Продукт: ????????

Размер: ~30MB только в CPP/H

Вкратце: “Все в одном” для французских аптек

3 место на рынке Франции

URL: http://www.???????.com/

Технологии: WinAPI, STL, x86 assembler, DbgHelp, LotusNotes, MySQL, Client-Server

Роль: 50% рефакторинг, 40% отладка (в основном крашдампов), 5% code review, 5% новый код

Достижения:

1) Стал общепризнанным экспертом по трудным случаям ——— 2) Добился признания в команде где все были старше 30, когда мне было только 23 ——— 3) Моя доля работы: 100% Уговорил босса, а затем и команду, внедрить code style, code reviews – и отнестись к ним серьёзно.

Внедрение таких изменений в устоявшихся командах никогда не было легкой задачей. В результате моих усилий, был принят стандарт кода. Мы попробовали проводить code reviews - и они нам понравились, так что теперь проводятся довольно часто. Мы обратили внимание на проблемные участки кода и привели их в порядок. Для укрепления введенных практик были наняты тщательно отобранные программисты.


4) Моя доля работы: 90% Добавил в продукт поддержку графических тем, что очень сильно изменило внешний вид и имело огромный успех у клиентов. Эта работа отняла около 3 месяцев и имела жесткие (и притом не самые оптимистичные) сроки. Большая часть этого времени ушла на переработку старого кода.


5) Моя доля работы: 100% Выполнил несколько изменений старого кода, затронувших весь проект. По правде сказать, остальные просто боялись трогать этот код. Код стал куда лучше - и главное, это позволило внедрить в продукт новые возможности, которых давно ждали.


6) Моя доля работы: 100% Создал систему автоматического отчета о падениях программы (не требует вмешательства со стороны пользователя)

Как и следовало ожидать, эта система коренным образом изменила отладку таких проблем, что сэкономило очень много времени как нам, так и клиентам.

Каждый раз когда возникает необработанное исключение, оно записывается в лог программы в специальном формате. Эти данные позволяют автоматически загрузить необходимые PDB для всех модулей нашего кода, раскрутить стек, показать локальные переменные и параметры. Одновременно эти данные отсылаются на наш сервер.


7) Моя доля работы: 80% Создал систему учета крешей на основе IBM Lotusnotes.

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

Эта система обрабатывает отчеты о крешах, присваивая им метки CrashID, которые с высокой вероятностью совпадают между версиями продукта. Позволяет создавать “фильтры”, содержащие в себе принцип фильтрации отчетов и детальное описание исследования причины. “Фильтры” автоматически собирают в себя подходящие креши.


8) Моя доля работы: 100% Написал инструмент для анализа крашдампов.

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

Позволяет просматривать стек и локальные переменные с учетом их типов (по сути, то же самое что в окне Watch в Visual Studio) всего в пару кликов. Может автоматически загружать правильные версии исходников из CVS – и открывать их в студии сразу на нужной строке. В целом, дает доступ ко всему что нужно в пару кликов.


9) Моя доля работы: 100% Используя написанную систему, успешно исправил наиболее существенные причины крешей, уменьшив их общее число на 50-70%.

09.2005 - 05.2007, ??????? (программистов: <5)

Информационные технологии/системная интеграция

Программист Windows VC++ (VS2003)

Продукт: ?????????

Размер: ~5MB только в CPP/H

Вкратце: Система тестирования нагрузок на Web-серверы

URL: http://??????????.com/

Технологии: WinAPI, MFC, Stingray, Codejock XTreme toolkit

Роль: 50% новый код, 40% рефакторинг, 10% отладка

Достижения :

1) Моя доля работы: 100% Написал код для сохранения открытых страниц в IE за счет перехвата функций работы с сокетами в IE.

Эта работа позволила компании приобрести крупного клиента. Плюс, работа потребовала приличного объема смекалки и исследований - при сжатых сроках.

До внедрения этого кода, снимки страниц (требовавшиеся в продукте) сохранялись “обычным” способом через интерфейс IHtmlDocument. Это давало огромные проблемы с session-generated контентом (а у нас его было порядочно), плюс определенную проблему с “аттачами” на страницах. После определенной полировки написанного кода (ну например, пришлось разобраться с Javascript, которые исполнялись второй раз при загрузке снимка), он стал работать весьма стабильно - в нашем контексте.


2) Моя доля работы: 95% Полностью перевел проект на Unicode.

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

05.2004 - 11.2006, PhystechSoft (программистов: <5)

Информационные технологии/системная интеграция

Windows VC++ (VS98) Programmer

Продукт: ?????????

Размер: ~5MB in CPP/H

Вкратце: Очередные зашифрованные логические диски

URL: http://www.????????.com

Технологии: WinAPI, MFC, Cryptography, PKCS

Роль: 80% новый код, 10% рефакторинг, 10% отладка

Достижения :

1) Моя доля работы: 100% Создал систему защиты программы, использующую шифрование образа, RSA и аппаратные ключи для защиты от keygen-ов.

Хотя в самой идее нет ничего нового, было чему научиться: навеска защиты на Уже скомпилированные EXE для поддержки расшифровки образа “на лету” и использования RSA - не самая тривиальная задача.


2) Моя доля работы: 100% Переписал модуль управления через SMS практически с нуля.

Этот модуль позволил управлять сервером, отправляя SMS на подключенный телефон. До переписывания, никто толком не понимал как этот код вообще работает, да и работал он так себе, к тому же поддерживая лишь одну устаревшую модель телефона - что было порядочной проблемой, так как она устарела, а пользователи использовали функциональность довольно часто.


3) Моя доля работы: 100% Написал класс для ведения удобных и весьма детальных логов. Используя эти логи, была решена не одна проблема пользователей.

Логгирование вызывалось 100% совместимым с MFC макросом TRACE(). Внутри него, в лог автоматически записывались текущее время, код ошибки, идентификатор потока и процесса, имя файла исходника и строка в нем, необходимая табуляция и наконец сами отформатированные аргументы макроса.

Рекомендации

Компания ??????

По запросу, Босс :)

По запросу

Компания ??????

По запросу, Босс :)

По запросу

Дополнительная информация

Гражданство:

Россия

Разрешение на работу в странах:

Россия

Языки

Родной язык — Русский

Английский, могу проходить интервью

французский, базовые знания

Китайский, понимаю мимику

Ключевые навыки

Основные технологии (в скобках - примерное число лет опыта):


Visual C++ v6.0 (13)

MFC (13)

WINAPI (13)

Visual C++ 2003 (6)

Disassembler x86 (5)

STL (4)

PalmOS API (2)

VisualBasic (2)

VBA (2)

HTML (2)

Платформы (в скобках - примерное число лет опыта):


Win32 (13)

WinCE (2)

PalmOS (2)

Unix (0.5)