Senior Software Engineer
2019 - PRESENTAltinity- Maintained the open-source C++ code base of the official ODBC driver implementation for accessing ClickHouse as a data source: https://github.com/ClickHouse/clickhouse-odbc.
- Rolled out ten releases of ClickHouse ODBC driver with numerous bug fixes and new features.
- Implemented Kerberos and LDAP authentication support in ClickHouse DBMS.
- Implemented various features and fixed bugs in ClickHouse DBMS.
Technologies: C++, C++17, C++20, SQL, ODBC, Kerberos, LDAP, HTTP, ClickHouseSenior Software Engineer
2017 - 2019Trinity Mobile Networks- Built a C++ software IP gateway for in-house L3 multihoming, on top of a packet processing core, as a part of a large-scale platform.
- Implemented client connection and session management in the IP gateway, with management planes involving AMQP and HTTP (REST), capable of handling over 1000 simultaneous sessions on a single processing core.
- Implemented stateless IPv4-IPv6 traffic conversion and forwarding.
- Implemented Boost.Asio wrappers for: Linux TUN/TAP interfaces, third-party C++ RabbitMQ client library, libpcap capture interfaces, message-based encryption sessions using DTLS implementation from OpenSSL.
- Maintained CI/CD build automation scripts of the IP gateway.
Technologies: UDP, TCP, IPv6, IPv4, Datagram Transport Layer Security (DTLS), Transport Layer Security (TLS), OpenSSL, libpcap, Tcpdump, Linux, Point-to-Point Tunneling Protocol (PPTP), Unix, Sockets, REST, HTTP, JSON, RabbitMQ, AMQP, Boost.Asio, Boost, C, C++14, C++11, Asynchronous I/O, Software-defined Networking (SDN)Senior Software Engineer
2016 - 2017Blockchain R&D Hub Armenia- Designed the structure and developed code for the core as well as ongoing projects of DECENT blockchain content distribution platform.
- Implemented modules that employ torrent and IPFS for massive decentralized content sharing back end.
- Integrated third-party libraries into the build process, and made them available for use by the core code of DECENT.
- Configured and maintained a continuous integration environment for the project.
Technologies: Linux, MacOS, Xcode, Clang, GCC, Valgrind, Multithreading, Object-oriented Design (OOD), Object-oriented Programming (OOP), Shell Scripting, CMake, Boost, Standard Template Library (STL), C++11Senior Software Engineer
2010 - 2016OneMarketData- Designed and implemented fault tolerance algorithm and module for smart patching of more than two inbound potentially incomplete or corrupted market data streams with peaks of 1M+ ticks per second.
- Implemented ODBCv3 driver for OneTick time-series solution.
- Mentored and managed junior engineers and team members.
- Implemented feed handler back-end layer of the automatic trading module.
- Designed, implemented, and applied techniques and tools for preserving execution states of huge long-running processes for later resumption.
- Implemented feed parsers and collectors for a number of market data vendors using their APIs.
- Applied parallelization on stream processing routines using lockless algorithms and data structures.
- Ported code to various Unix platforms and compilers, including macOS, Linux, Solaris, 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: Sockets, Data Structures, Algorithms, Scripting, Makefile, Metaprogramming, Oracle Solaris, Valgrind, GCC, Regular Expressions, Multithreading, Object-oriented Design (OOD), Object-oriented Programming (OOP), Shell Scripting, ODBC, Perl, Boost, Standard Template Library (STL), C++, CJunior Researcher
2010 - 2011Computer Modeling Lab, Institute of Molecular Biology of Armenia- Maintained a Beowulf-style Linux computer cluster.
- Managed access to computational resources for a team of research scientists.
- Set and ran molecular dynamics simulations on the cluster and local Grid computing facilities.
- Managed access to computational resources for a team of research scientists.
- Co-authored a research paper: https://link.springer.com/article/10.1134/S0026893312020185.
Technologies: Grid Computing, Linux, MPINetwork Architect
2006 - 2008FiberNet Communications- Designed, implemented, and maintained the end-to-end architecture and the topology of the carrier network.
- Configured and maintained the inter-domain and core network routing infrastructure using BGP, MPLS, and OSPF.
- Designed the technical rules of connections between the carrier network and 10+ last-mile ISPs and 30+ individual clients, and maintained those connections.
Technologies: Quality of Service, Open Shortest Path First (OSPF), IP Routing, BGP, Multiprotocol Label Switching (MPLS), IS-IS