Evgeniy Karpov, Developer in Moscow, Russia
Evgeniy is available for hire
Hire Evgeniy

Evgeniy Karpov

Verified Expert  in Engineering

Software Developer

Location
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.

Availability

Part-time

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

2008 - PRESENT
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.
Technologies: Gerrit, Git, Python, Java, C#, Qt, PostgreSQL, C, C++

Linux Programmer

2015 - 2016
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.
Technologies: DBus, SQLite, GTK+, Python

Lead Engineer

2003 - 2007
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.
Technologies: COM, C, C++

Lead Engineer, Project Manager

2000 - 2003
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.
Technologies: C, C++

Navitel

https://navitel.cz/en
Offline cross-platform mobile navigation system and related services.

Geologika

http://geologika.ru/
I developed and led the development team of the first versions of all products and components of this laboratory equipment company.
1995 - 1998

Partially Completed Degree in Physics and Computer Science

Novosibirsk State University - Novosibirsk, Russia

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

Storage

Memcached, PostgreSQL, SQLite, PostGIS

Frameworks

Qt, Apache Thrift, Boost, Android SDK

Other

Cross-platform App Development, Memory Profiling, Performance Analysis, Algorithms, Data Structures, Multithreading, Image Processing, 3D Rendering, GUI Development, Multiprocessing, Back-end Development, COM

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring