Denis Glazachev, Algorithms Developer in Yerevan, Armenia
Denis Glazachev

Algorithms Developer in Yerevan, Armenia

Member since February 28, 2017
Denis is primarily a C++ programmer on high-load oriented, low latency, and distributed systems. However, he is also familiar and interested in various operating systems and different programming languages and environments. Denis communicates extremely well and also has a strong computer networking background.
Denis is now available for hire

Portfolio

Experience

  • Algorithms, 7 years
  • Object-oriented Programming (OOP), 7 years
  • Concurrent Programming, 6 years
  • TCP/IP, 5 years
  • CMake, 3 years
  • C++17, 2 years
  • Asynchronous Programming, 2 years
  • Boost.Asio, 2 years

Location

Yerevan, Armenia

Availability

Full-time

Preferred Environment

macOS, Linux, Windows, Xcode, Visual Studio, Git

The most amazing...

...thing I've implemented is a market data feed collector fault tolerance module, that performs complex gap patching, and data arbitration for latency reduction.

Employment

  • Software Engineer

    2017 - 2019
    Trinity Mobile Networks
    • Built, with the platform team, a C++ software IP gateway for in-house L3 multihoming, on top of the packet processing core.
    • Implemented client connection and session management in the IP gateway, with management planes involving AMQP and HTTP (REST).
    • Implemented stateless IPv4-IPv6 traffic conversion and forwarding.
    • Developed Boost.Asio wrappers for: Linux tun/tap interfaces, third-party C++ RabbitMQ client library, libpcap capture interfaces, message-based encryption sessions (using DTLS implementation by OpenSSL).
    • Maintained CI/CD build automation scripts of the IP gateway.
    Technologies: Asynchronous I/O, C++11/14, C, Boost, Boost.Asio, AMQP, RabbitMQ, JSON, HTTP, REST, sockets, Unix domain sockets, L2/L3 tunnels, Linux tun/tap interfaces, tcpdump/libpcap, OpenSSL, TLS, DTLS, IPv4/IPv6 and TCP/UDP packet crafting
  • Software Engineer

    2016 - 2017
    Blockchain R&D Hub Armenia
    • Developed code for the core as well as ongoing projects involving a DECENT blockchain content distribution platform.
    • Integrated third-party libraries into the build process, and made them available for use by the core code of DECENT.
    • Configured and maintained continuous integration environment for the project.
    Technologies: C++11, STL, Boost, CMake, Shell Scripting, OOP, OOD, Multithreading, Valgrind, GCC, Clang, Xcode, macOS, Linux
  • Software Engineer

    2010 - 2016
    OMD LLC (a wholly owned subsidiary of OneMarketData)
    • Designed and implemented a fault tolerance algorithm and module for smart patching of multiple inbound potentially incomplete or corrupted tick data streams.
    • Designed, implemented, and applied techniques and tools for preserving the states of big stateful processes.
    • Implemented non-intrusive template-based generic C++ serialization library aimed at saving/loading the states of executables into files.
    • Implemented persistent allocators on memory-mapped files that allow bringing back stopped stateful executables to their last states.
    • Implemented feed parsers/collectors for a number of market data vendors using their APIs.
    • Implemented a feed handler back-end layer of automatic trading module.
    • Implemented an ODBCv3 driver for OneTick solution.
    • Applied parallelization on stream processing routines using lockless algorithms and data structures.
    • Ported code to various platforms and compilers; including Mac OS X, Linux, latest versions of GCC compiler, SPARC, POWER, and x86 architectures.
    • Prepared third-party libraries and tools for integration and use with OneTick, including non-trivial portable GCC setups, Boost, and more.
    Technologies: C, C++, STL, Boost, Advanced Metaprogramming, Code Optimization, Perl, ODBC, Shell Scripting, Makefile Scripting, OOP, OOD, Multithreading, Lockless Algorithms and Data Structures, Regular Expressions, Network Sockets, GCC, Valgrind, Oracle Solaris
  • Junior Researcher

    2010 - 2011
    Computer Modeling Lab, Institute of Molecular Biology of Armenia
    • Maintained a Beowulf-style computer cluster.
    • Setup and ran molecular dynamics simulations on the cluster and local grid computing facilities.
    • Deployed dedicated molecular dynamics simulations software.
    • Managed the access to computational resources.
    Technologies: MPI, Linux, Rosetta, GROMACS, Grid Computing
  • Network Engineer

    2006 - 2008
    FiberNet Communication LLC (acquired by ADC, Armenian Datacom Company CJSC)
    • Designed, implemented, and maintained the architecture and the topology of the carrier network with %99.99 uptime requirements.
    • Configured and maintained the inter-domain and core network routing infrastructure.
    • Designed the technical rules of connections between the carrier network and last-mile ISPs/individual clients, and maintained the quality of those connections.
    Technologies: IP routing, BGP, ISIS, OSPF, Cisco IOS, QoS

Experience

  • Non-intrusive C++ Serialization Library (Development)

    As a part of my work on a commercial project, I designed and implemented a heavily template-based serialization library that allowed one to save and restore the states of complex objects and the programs in general. The versatility of the library allows a user to achieve this with minimal changes in the existing code.

  • Software IP gateway (Development)

    As a part of my work on a commercial project, I designed and implemented a C++ software IP gateway for in-house L3 multihoming.

  • Specialized C++ Allocators (Development)

    As a part of my work on a commercial project, I designed and implemented a range of specialized allocators for use in different latency-sensitive parts of the data flow as well as in scenarios where the states of the running processes must be preserved for later restoration.

  • ODBCv3 Driver (Development)

    As a part of my work on a commercial project, I designed the back-end of an ODBCv3 driver and implemented it for a proprietary database.

Skills

  • Languages

    C, C++11, C++, C++14, C++17, Perl
  • Other

    Boost.Asio, Software Architecture, Algorithms, Lock-Free Programming, Multithreading, Regular Expressions, Data Structures, Architecture, BGP, GRID, Unix Shell Scripting, TCP/IP
  • Frameworks

    Boost
  • Libraries/APIs

    ODBC, Standard Template Library (STL)
  • Tools

    Xcode, Valgrind, Makefile, CMake, GCC
  • Paradigms

    Design Patterns, Socket Programming, Concurrent Programming, Object-oriented Programming (OOP), Object-oriented Design (OOD), Metaprogramming, Template Metaprogramming, Asynchronous Programming, Testing, Unit Testing, Functional Programming
  • Platforms

    MacOS, Visual Studio 2017, Unix, Linux, Windows, Solaris

Education

  • Specialist degree in Applied Mathematics and Computer Science
    2003 - 2008
    Russian-Armenian State University - Yerevan, Armenia

To view more profiles

Join Toptal
I really like this profile
Share it with others