Русский вариант:
Языки программирования: C/C++/C#/Pascal/Object Pascal/Asm8051
Платформы: x86/x64(PC), PocketPC (на процессоре ARM), процессоры архитектуры INTEL8051, Сигнальный процессор ADSP2185 ф.Analog Devices.
ОС: MS Win9x-Me, MS WinNT-XP, MS PocketPC2002, MS WindowsCE - WindowsMobile, Linux RedHat9 (ALT, Knoppix и т.д.).
IDE: MS VC++ 6.0, MS VS.NET2003, MS VS.NET2005, Borland Delphi 5-7, Borland C++ Builder 4-6, Borland DS2006, embedded Visual C++ 3.0(eVC++ for PocketPC&WindowCE), KDevelop (консольные и QT в Linux), CygnalIDE, Keil-IDE5.1 (для микроконтроллеров семейства Intel8051), AnalogDevices VisualDSP++2.0 (сигнальный процессор ADSP-2185), AD VDSP++3.5 (ADSP-21062 Sharc).
Вспомогательные средства: CVS, SVN, Rational PurifyPlus.
Профессиональный опыт: C/C++ & Delphi консольные приложения; разработка приложений и библиотек, основанных на WinAPI, MFC и VCL, сетевое программирование под WinSocket (простой HTTP на VC++), сетевое программирование под VCL (Delphi) - SMTP/POP клиент и простой троян. Разработка приложений DirectX версий 7, 8, 9 (DirectDraw, Direct3D & DirectInput) под IDE MSVS и Borland Delphi.
У меня также есть опыт разработки устройств, в т.ч. в команде (hard- и soft- составляющие): разработка схем, знание аппаратных интерфейсов (RS232, Centronix LPT, USB) и умение работать с ними (аппаратное построение и разработка приложений для приборной- и ПК-частей). Проектирование ПО для сигнальных цифровых процессоров и микроконтроллеров. Создание программ - т.н. «Виртуальных панелей» для управления, обработки и отображения данных на ПК при работе с устройством.
Технологии (Windows): COM, DirectX, WinSocket, Многопоточное программирование под Windows.
Описания некоторых проектов:
1) КПК PocketPC соединен с устройством через COM-портt. КПК принимает, передаёт, производит расчёты и отображает данные в виде 2D-графика (в XY-координатах, GDI, двойная буферизация). Пользователь может сохранить отчёты в виде HTML-документов с картинками или во внутреннем формате программы с возможностью последующей загрузки. Приложение 2-х потоковое (eVC3.0, AD VisualDSP++ 2.0)
2) ПК соединен с устройством LPT-кабелем. В ПО еализовано много сложных вычислительных алгоритмов (обработка данных, БПФ, усреднение, изменение формата, вывод данных и т.д.). Приложение однопотоковое (Delphi5).
3) ПК соединен с устройством посредством шины USB. Клиент-серверная технология обмена данными. Реализованы алгоритмы: Вычисление спектра, «Весовая» обработка, Цифровая фильтрация. Устройство выполнено в виде USB HID - device. Приложение 2-х потоковое. (VC7.0, KEIL5.1)
4) Простой HTTP сервер с обработкой только запроса “GET”. Многопотоковый. (MSVC++7.1). Демо скачать можно здесь(на любой запрос выдаёт свой лог в HTML-формате).
и много похожих проектов, в том числе тестовых:
1) Заготовка игры «Танки-2D». Широкое использование наследования, полиморфизма и инкапсуляции. Многоуровневая иерархия полиморфных классов, позволяющая гибко управлять объектами. Управление – клавиши курсора, огонь – пробел. У объектов есть несколько состояний: например, преграды сначала ломаются (есть прозрачные, через которые можно проехать), потом разрушаются; танк взрывается после уменьшения здоровья до нуля – остаётся воронка. Для данной заготовки AI не реализован. Проект под DirectX7.0 (DirectDraw), также под GDI(медленно).
2) Заготовка игры «Танки-3D». Многоуровневая иерархия классов. Состояния объектов не реализованы. Простейшая обработка коллизий (столкновений) - сферическая. Простейший AI (при столкновении объект пытается уйти от столкновения вращением+движением). Проект под DirectX8.0 (Direc3D).
2007 - Сейчас ЗАО НКТ, ведущий программист;
2006 - 2007 - ФГУП ФНПЦ ННИПИ "Кварц", ведущий инженер;
2005 - 2006 - ФГУП ФНПЦ ННИПИ "Кварц", инженер 1-й кат.;
2004 - 2005 - ФГУП ФНПЦ ННИПИ "Кварц", инженер 3-й кат;
2003 - 2004 - ФГУП ФНПЦ ННИПИ "Кварц", инженер;
1998 - 2003 – Нижегородский Государственный Технический Университет, студент факультета ФИСТ "Факультет информационных систем и технологий"
English version:
Lang.: C/C++/C#/Pascal/Object Pascal/Asm8051
Platforms: x86(PC), PocketPC, INTEL8051- architecture microcontrollers, Analog Devices ADSP2185 Signal Processor.
OS: MS Win9x-Me, MS WinNT-XP, MS PocketPC2002, Linux RH9.
IDE: MS VS.NET2003, Borland Delphi 5-7, Borland C++ Builder 4-6, Borland DS2006, embedded Visual C++ 3.0(eVC++ for PocketPC&WindowCE), KDevelop (console, QT), CygnalIDE, KEIL5.1 (8051 microcontrollers), AnalogDevices VisualDSP++2.0 (ADSP 2185 Signal Processor).
Tools: CVS, SVN, Rational PurifyPlus.
Professional experience: C/C++ & Delphi console,WinAPI,MFC and VCL - based application-development, Winsocket Net-application (simple HTTP server in VC, SMTP-client & troyan in Delphi). DirectX Game development (not a work - is hobby): DirectDraw (Tanks - also works on GDI) & Direct3D.
Also I have experience in device-development (hard- and software parts): schemas development, phisical & program interfaces knowledgment (RS232, Centronix LPT, USB), Signal processor and microcontroller programming, PC-side application development ("virtual panels").
Technologies: COM, DirectX, WinSocket, multi-threading application development.
Some projects:
1) PocketPC connected with device via COM-port. HPC receive, transmit, compute and display data as 2D-graphic (in XY-axis). User can save reports as HTML-doc with images or in internal format. 2-threaded (eVC3.0, AD VisualDSP++ 2.0)
2) PC connected with device via LPT-cable. There are many difficult algorithms (data processing, FFT, averaging). Single-threaded (Delphi5).
3) PC connected with compact device via USB. Client-server technology, Spectrum-calculation, Weight - processing, Digital Filter realisation, USB HID - device implementetion. 2-threaded. (VC7.0, KEIL5.1)
4) Simple HTTP-Server. Multi-threaded. (VC7.0)
and many similar projects
2007-now - ZAO NCT, lead software developer
2006-2007 -IEM "KVARZ", engineer (leading).
2005-2006 – IEM "KVARZ", 1st-cat. engineer.
2004-2005 -IEM "KVARZ", 3rd-cat. engineer.
2003 - 2004 - Institute of Electronic Measurements (IEM) "KVARZ" (http://www.kvarz.com), engineer
1998 - 2003 – Nizhny Novgorod State Technical University, student of "Faculty of Informational Systems and Technologies"
Education:
5.5-year complete, Nizhny Novgorod Technical University, "Faculty of Informational Systems and Technologies".
Languages:
Russian, English.