Фото, имя и контакты доступны только авторизованным пользователям
Опыт работы 11 лет и 9 месяцев
Март 2014 – работает сейчас
11 лет и 9 месяцев
Senior Software Engineer / C++, Linux
Luxoft, Москва
Обязанности и достижения:
Luxoft, Moscow, Russia 2014- up to date
Senior Software Engineer (C++, Linux)
• Developed low-latency server-side software providing market data for real-time trading (C++)
• Used OOP to provide bug-free quality and high maintainability to multithreaded cross-platform library (Linux, Windows)
• Used enhanced algorithms to ensure low-latency processing
Yandex, Moscow, Russia 2012 - 2014
Software Engineer (C++, Linux)
• Developed my own and used existing algorithms and data structures for a system providing suggestions for Internet search engine queries (trie, Huffman coding, Levenshtein distance, STL, C++)
• Developed module for building an inverted index and for searching in it. Managed to radically enhance its search performance
• Developed a misspells correction module which brought Yandex closer to its competitors compared by quality of suggestions
• Developed distributed system for collecting statistics data from a cluster of servers and its displaying (trees, С++, Python, client-server architecture using HTTP, CGI-Website)
• Used lock-free multi-threaded synchronization
• Improved performance and memory consumption of the existing source code (using algorithms, data structures, features of C++)
Mail.ru, Moscow, Russia 2012 - 2012
Software Engineer (C++, Linux)
• Added new functionality to an HTML parser and an indexer of web pages and XML data
• Added using lock-free multi-threaded synchronization
• Made a proposal to improve the data structure of an inverted index
• Refactored existing code to use UTF-8 encoding across several major modules of the Web search engine
AdFox, Moscow, Russia 2011 - 2012
Software Engineer (C++, Linux)
• Improved performance of distributed scalable multithreaded Internet-targeting advertising system
• Implemented a graceful shutdown of multithreaded networking engine with flushing all the data consistent.
• Made a high performance implementation of some of well-known algorithms (search of a substring in a string, topological sort)
• Improved performance of modules related to hard drive, multithreading and network
Heliosoft, Moscow, Russia 2010 - 2011
Senior Software Engineer (C++, Linux)
• Worked to develop, implement and optimize high performance distributed scalable Unix-based computer system for storing and processing human resources information
• Used cross-platform programming techniques for Linux, Solaris, Windows
• Implemented some of the classic algorithms and data structures (memory pools, hash-tables, lock-free synchronization and so on)
• Developed an ad hoc high-performance XML parser used for message-based communication with a front-end web services
• Developed a networking cross-platform multithreaded application for load testing the system
for a custom legislation database
LexPro-Soft, Moscow, Russia 2008 - 2010
Software Engineer (C++, Windows)
• Worked independently to develop, implement and optimize a high-performance data retrieval engine
• Leveraged OpenMP to improve performance, optimize high-load processing for multicore processors (multithreading, multithreaded debugging, algorithms, data structures)
• Developed parallel implementation of ZLib library (a globally recognized compression software)
• Improved server side TCP/IP-based networking subsystem to be multithreaded, high-performance and highly scalable
• Accomplished unit testing (.NET, C#)
Allied Testing, Moscow, Russia 2006 - 2007
Software Engineer (C++, Windows)
• Guided a 1-year outsourcing project for Reuters France, design patterns, generic programming, software design (UML diagrams), and prototyping; selected to lead design of architecture for new modules (C++, ATL)
• Managed the client’s requirements and specifications, acted as point person for negotiation and solutions between the client and third-party developers
Akmosoft, Moscow, Russia 2005 - 2006
Software Engineer (C++, Windows)
• Worked on an outsourcing project for Browster (USA) to develop a plugin for Firefox Web browser (C++,
JavaScript, XPCOM) and created alternative architectural solutions
• Investigated Firefox dealing with C++ plugins in multithreaded environment to get the code to work smoothly
• Developed a library of common reusable code for our team (C++, WinAPI, WTL, generic programming)
Systema, Moscow, Russia 2004 - 2005
Software Engineer (C++, Windows)
• Developed software for cash deposit devices in banking ATM machines at level of WOSA and
ProTopas, as well as an architecture for a state table editor
• Developed original mechanism of passing parameters into state table-based scripts, supported
by ProTopas frameworks of Wincor company
InAs Inc. Ltd., Moscow, Russia 2003 - 2004
Programmer (C++, Windows)
• Automated populating databases with data from files of various formats; worked with utilities for database creation and editing (C++Builder 6.0 BDE)
• Developed a suggestion for another smart pointer to Boost library
Freelance Software Engineer (C++, Windows) 1998-2003
• Developed Internet search system (C++), XML-based message board and Internet bookshop to expand Odintsovo, Russia e-commerce
• Created commercial freeware multimedia program “MusicColor” that allows users to employ high-performance real-time image processing to create and play entertainment music visualizations on the screen of a home computer; promoted template-based (Perl, CGI) website at http://www.mpshow.com to distribute this program as a freeware
• Designed and developed a light-music system (C++Builder 1.0), consisting of a light fixture, control
program and a render program
• Developed C++ DLL for creating Excel files screenshots as a core module of a C# plugin for FileMind software
EDUCATION
BS in Engineering, cum laude, High Engineering School (Perm, Russia) 1989
• 5-year program, equivalent to a master’s degree curriculum in the U.S.
• Winner of Physics Olympiad
• Project work in "Flying Vehicles Control Systems"
• Developed a simple CAD system to generate electric circuit (of transistors, diodes and resistors) with optimal connections
Certification: BrainBench “C++ Programmer” (August 2011)
Certification: Stanford University (USA) “Algorithms: Design and Analysis” (April 2012)
Certification: Stanford University (USA) “Machine learning” (July 2012)
AWARDS AND PUBLICATIONS
Article at CodeProject.com: “Thread-safe smart pointer”
Patents: “Accumulating summator” (1992) (fast digital summator/accumulator for signal processing systems);
“Interferometer for measuring an object linear moving” (1988, 1989) (very accurate optical movement measurement)
ADDITIONAL SKILLS
Languages:
C++ (16 years, C++03 Standard - every day use, C++11 - knowledge),
Python, Perl
IDE:
Qt Creator, NetBeans, Visual Studio
OS:
Linux (5 years), Windows (13 years), Solaris (familiarity)
Libraries:
STL, Boost
APIs:
POSIX, sockets, Unicode; Windows API
DBMS:
MySQL, MS SQL 2000, MS Access, SQLite, ODBC, SQL 92
Techniques:
algorithms, data structures
high-performance, high-load computing, low-latency
multithreading, lock-free synchronization, multicore development, multiprocessing
parallel computing, parallel design patterns, OpenMP
distributed systems, cloud computing, grid computing, MPI, client-server
TCP/IP, UDP, multicast, HTTP, TcpDump, WireShark
OOP/OOD master, design patterns, reusability, UML
memory and performance optimization, profiling
generic programming (templates)
Linux sysinternals, Windows sysinternals
cross-platform development
x86, x86-64 CPU architecture
full-text search, inverted index, page ranking, page parsing, words stemming
test-driven development, unit tests
debugging techniques, analyzing crash dumps
Software:
bash, svn, git, jira, gdb
HOBBIES AND INTERESTS
Photography; playing European-style football; languages (proficient in English, basic skills in Polish and Czech)
Добавить в избранное
Фото, имя и контакты доступны только авторизованным пользователям