Evgeniy Karpov
Verified Expert in Engineering
Software Developer
Moscow, Russia
Toptal member since October 22, 2015
Evgeniy has a passion for the performance and memory limit challenges of mobile platforms. He likes researching and developing complex and specifically optimized algorithms and data structures to achieve the best solutions. He can also design architecture and split tasks to lead a team, delivering results quickly. Evgeniy is most confident with C/C++ but is certainly not limited to it.
Portfolio
Experience
- C++ - 15 years
- C - 15 years
- Multithreading - 10 years
- Cross-platform App Development - 10 years
- Performance Analysis - 10 years
- Linux - 7 years
- Embedded Linux - 2 years
- Qt - 2 years
Availability
Preferred Environment
Git, Qt Creator, Visual Studio, Linux, Windows
The most amazing...
...things I've coded are parts of a mobile nav system, including address and POI search, OpenGL ES 3D map rendering, and SVG rasterization of custom UI elements.
Work Experience
Lead Engineer
Navitel
- Designed and developed the 3D rendering of crossroads, tunnels, and bridges/overpasses.
- Designed and developed a word-based search algorithm for POIs.
- Designed and developed the merged over maps index for featured address search.
- Designed and developed multilanguage support in the search engines.
- Drastically reduced the skin size with a custom mobile platform SVG rendering engine that allows replacement of many per-dimension PNG images with single SVG.
- Designed and developed a fast address search by coordinates index for back-end services.
- Developed several parts of the desktop map editing tools.
- Optimized several database and storage related requests of online vehicle monitoring system back-end.
- Built several versions of a UI engine as a part of the team.
- Created an OpenGL ES 2D and 3D rendering engine as a part of the team.
- Led the team that developed and optimized the software rendering engine.
- Led the team that developed the first version of POI 3D models optimization, storage, and rendering engines.
- Made many optimizations of memory usage and performance of different core mobile platform engines.
- Reviewed a lot of code.
Linux Programmer
Accountable2You, LLC (via Toptal)
- Created a daemon to track titles of user-opened applications and Windows and sent it to the server.
- Created a Deb package for easy distribution.
- Built functionality to store user activity actions in the database if the connection with the server is unavailable and send it later when the connection is restored.
Lead Engineer
Geologika
- Led a team that developed several Windows desktop applications for several laboratory systems that display, collect, and archive data from up to 100 measurement units and manipulate attached devices manually or automatically by programmed algorithms.
- Led a team that developed a tomography reconstruction and 3D visualization Windows desktop application.
- Designed and developed two plunger pump STM32 ARM v5 micro-controller software that supports manual mode and automatic constant flow or pressure mode.
Lead Engineer, Project Manager
Novosoft
- Led and managed the team that developed a Windows desktop Jaws PDF Editor v1 and v2.
- Contributed at first to team efforts, later leading and managing the team that developed the Windows CE and Pocket PC Ansyr PDF Viewer.
Experience
Geologika
http://geologika.ru/Education
Partially Completed Degree in Physics and Computer Science
Novosibirsk State University - Novosibirsk, Russia
Skills
Libraries/APIs
Standard Template Library (STL), Windows API, OpenGL ES, OpenSSL, POSIX
Tools
Valgrind, GNU Debugger (GDB), Microsoft Visual C++, Qt Creator, Git, Android NDK, CMake, Jenkins, Gerrit, Visual Studio, GTK+, DBus, NGINX, Eclipse IDE
Languages
C++, C, SQL, Python, ARM Assembler, Java, Perl, Bash, C#, JavaScript
Paradigms
Object-oriented Programming (OOP), Cross-platform, Object-oriented Design (OOD), Template Metaprogramming, REST
Platforms
Embedded Linux, Windows CE, Windows, Linux, Win32, Android
Frameworks
Qt, Apache Thrift, Boost, Android SDK
Storage
Memcached, PostgreSQL, SQLite, PostGIS
Other
Cross-platform App Development, Memory Profiling, Performance Analysis, Algorithms, Data Structures, Multithreading, Image Processing, 3D Rendering, GUI Development, Multiprocessing, Back-end Development, COM
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring