Evgeniy Karpov, Multithreading Developer in Moscow, Russia
Evgeniy Karpov

Multithreading Developer in Moscow, Russia

Member since October 22, 2015
Evgeniy has a passion for the performance and memory limit challenges of mobile platforms. He likes to research and develop complex and specifically optimized algorithms and data structures to achieve the best solutions. He can also design architecture and can split a task to lead a team, delivering results quickly. He is most confident with C/C++, but is certainly not limited to it.
Evgeniy is now available for hire

Portfolio

Experience

  • C++ 15 years
  • C 15 years
  • Cross-platform App Development 10 years
  • Multithreading 10 years
  • Performance Analysis 10 years
  • Linux 7 years
  • Embedded Linux 2 years
  • Qt 2 years

Location

Moscow, Russia

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.

Employment

  • 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++

Experience

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

Skills

  • Languages

    C++, C, SQL, Python, ARM Assembler, Java, Perl, Bash, C#, JavaScript
  • Libraries/APIs

    Standard Template Library (STL), Windows API, OpenGL ES, OpenSSL, POSIX
  • Tools

    Valgrind, GDB, Microsoft Visual C++, Qt Creator, Git, Android NDK, CMake, Jenkins, Gerrit, Visual Studio, GTK+, DBus, NGINX, Eclipse IDE
  • Paradigms

    Object-oriented Programming (OOP), Cross-platform, Object-oriented Design (OOD), Template Metaprogramming, REST
  • Platforms

    Embedded Linux, Windows CE, Windows, Linux, Win32, Android
  • Other

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

    Qt, Apache Thrift, Boost, Android SDK
  • Storage

    Memcached, PostgreSQL, SQLite, PostGIS

Education

  • Partially Completed Degree in Physics and Computer Science
    1995 - 1998
    Novosibirsk State University - Novosibirsk, Russia

To view more profiles

Join Toptal
Share it with others