David Akopov, Developer in Tbilisi, Georgia
David is available for hire
Hire David

David Akopov

Verified Expert  in Engineering

Algorithm Developer

Location
Tbilisi, Georgia
Toptal Member Since
January 1, 2020

David is a software engineer coming from a low-level development background coupled with high-performance algorithms working with C/C++, Python/Bash scripting, and network protocols mainly on the Linux platform. David worked on a full lifecycle project, building a custom network router with software-defined networking features and BSP for video streaming units.

Portfolio

Toyota Material Handling, Inc - Main
Bluetooth, Mobile App Development, Back-end Development, Embedded Linux...
Monk
Algorithms, Go, Kubernetes, Amazon Web Services (AWS), Git, Linux, Azure...
Dressler Consulting
Microservices, Concurrent Programming, Python 3, Databases, Linux, Git, C++...

Experience

Availability

Full-time

Preferred Environment

Microservices, MySQL, Python 3, Jira, Slack, Containers, Git, Vim Text Editor, Bash, Linux, Node.js, Microservices Architecture, Design Patterns, Hardware, Electronics, ESP32, Network Administration

The most amazing...

...thing I've worked on was a custom hierarchical filesystem on top of a block device interface using many approaches and techniques found in modern file systems.

Work Experience

Senior Mobile (Bluetooth) Application Developer

2023 - PRESENT
Toyota Material Handling, Inc - Main
  • Focused on the support of connectivity options for devices: BR/BER, BLE, and x802.11 integration across the stack.
  • Contributed to the robustness of the Bluetooth peripheral implementation, including research of the Gobbledegook library and its usage to remedy long-standing bugs.
  • Optimized firmware performance/memory footprint based on analysis made with the help of the modern tracing technologies of Linux kernel (perf, eBPF).
  • Contributed to the architectural design and reviews of several low-level components related to networking and Bluetooth.
  • Enhanced developer tooling; made a container environment that's portable and could speed up project setup for newcomers.
Technologies: Bluetooth, Mobile App Development, Back-end Development, Embedded Linux, Embedded C++, Embedded C, Core Bluetooth, Git, Linux Kernel, Networking, Low Latency, Network Administration

Senior R&D Engineer

2021 - PRESENT
Monk
  • Created an overlay network for containers managed by an in-house developed orchestrator with WireGuard technology.
  • Conducted various container runtime engines and interfaces. Implemented transition of orchestrator container runtime from Docker to Podman.
  • Debugged hard-to-find bugs in a big codebase and made gradual iterative improvements.
Technologies: Algorithms, Go, Kubernetes, Amazon Web Services (AWS), Git, Linux, Azure, WireGuard, Podman, Docker, Python, GitHub, SSH, Technical Hiring, Code Review, Low-level Programming, Software Design, C, Unix, DevOps, REST APIs, Amazon DynamoDB, Agile Sprints, Architecture, Technical Leadership, Node.js, Microservices Architecture, WebSockets, Transmission Control Protocol (TCP), UDP, Public-key Cryptography, Security, SaaS, APIs, Design Patterns, Embedded Software, Embedded Hardware, Embedded C, Technical Writing, Back-end, Terraform, Software Architecture, React Native, Documentation, System Administration, Cybersecurity, IT Security, Reverse Engineering, Firmware, Hardware, Electronics, Distributed Systems, NoSQL, FastAPI, Networking, Network Administration

C and Python Software Engineer

2019 - 2021
Dressler Consulting
  • Added features and visualization options for the custom system profiler, per-process network, disk IO, etc., for hardware running stripped-down Linux, written in C.
  • Developed parts of the custom BSP based on TI SDK for the hardware box (ARMv7).
  • Automated and enhanced version control tools based on Git to streamline the development process, resulting in faster development and deployment times.
  • Cross-compiled the NGINX web server and tweaked it for the particular needs of the ARMv7 based Linux box.
  • Added functionalities to the configuration web server written in Python.
  • Audited security policies on the operating system level, including permissions, ownerships, setuid, and sudoers.
  • Worked on enablement of LTE and Wi-fi for infotainment system based on AGL's UCB. Researched and made heavy use of the Yocto project's infra and tooling.
  • Made security audit of UCB-based firmware image and hardened boot process.
Technologies: Microservices, Concurrent Programming, Python 3, Databases, Linux, Git, C++, Python, Bash, C, Flask, Technical Hiring, Code Review, Embedded Systems, Embedded C++, Embedded Development, Software Design, Unix, DevOps, Docker, PostgreSQL, Agile Sprints, MQTT, Technical Leadership, Microservices Architecture, GraphQL, Transmission Control Protocol (TCP), UDP, Security, Video & Audio Processing, Video Encoding, Media Encoding, Embedded Software, Embedded Hardware, Yocto, Rust, REST APIs, ARM Embedded, Embedded C, Technical Writing, Back-end, Software Architecture, Kubernetes, Site Reliability Engineering (SRE), Raspberry Pi, System Administration, IT Security, Reverse Engineering, Internet of Things (IoT), Hardware, Electronics, Distributed Systems, SQLAlchemy, SQL, Embedded Linux, Bluetooth

Embedded Software Engineer

2017 - 2018
Sirin Software
  • Maintained and enhanced the build system for a router with custom Debian-based firmware with Bash and Python scripts.
  • Developed networking scripts using iproute2 tools for device startup, connection health monitoring, and accommodating new networking rules "online."
  • Patched parts of the U-Boot bootloader and configured kernel features.
  • Worked on the OTA (over the air) firmware upgrade feature two-partitioned setting, modeled as a state machine with coordinated steps in the bootloader, kernel, and userspace.
  • Handled the POC implementation of the LoraWAN network server in C language. Refer to Lora-alliance.org/about-lorawan.
  • Added fixes and custom changes to Cavium SDK (Makefiles, Bash).
  • Planned and led frequent code reviews in an agile manner.
Technologies: Concurrent Programming, Python 3, Bash, Databases, Algorithms, Linux, Network Protocols, Python, C, AWS Lambda, Amazon Web Services (AWS), C++, Java, PostgreSQL, Code Review, Low-level Programming, Embedded Development, Software Design, Unix, DevOps, REST APIs, Agile Sprints, Technical Leadership, MongoDB, GraphQL, Transmission Control Protocol (TCP), UDP, Security, Design Patterns, Video & Audio Processing, Video Encoding, Media Encoding, Embedded Software, Embedded Hardware, Android, Django, ARM Embedded, Embedded C, Technical Writing, Software Architecture, Raspberry Pi, Documentation, Bluetooth LE, System Administration, IT Security, Reverse Engineering, Firmware, Internet of Things (IoT), Hardware, Electronics, Distributed Systems, NoSQL, SQLAlchemy, SQL, FastAPI, Embedded Linux, Bluetooth, Networking, Low Latency

Embedded Software Engineer

2016 - 2017
Anyware Services
  • Developed an indexing solution for a database of telephone numbers using a trie data structure.
  • Created a custom instrumentation solution that fit the project's particular needs, running software on a different node in distributed computation manner.
  • Provided input to the lead architect during the architecture devising phase of the project.
Technologies: C++, C, Linux Kernel, Git, GitHub, Buildroot, Decision Trees, Twilio API, Agile Sprints, Node.js, Transmission Control Protocol (TCP), UDP, Embedded Software, Embedded Hardware, Robotics, AOSP, Kotlin, Android, Microprocessors, Embedded C, Technical Writing, Nordic nRF52, PHP, Raspberry Pi, Documentation, Bluetooth LE, System Administration, Reverse Engineering, Firmware, Internet of Things (IoT), Hardware, Electronics, SQLAlchemy, SQL, Embedded Linux, Real-time Operating System (RTOS), AUTOSAR, Bluetooth, Zephyr, Networking, Low Latency

Teaching Assistant

2016 - 2017
Free University of Tbilisi
  • Helped students with their homework assignments, questions, and queries.
  • Graded student's work according to strict guidelines, taking into account objective measures such as test passing, code quality, and an estimated amount of effort being put by the student.
  • Graded mid-terms and final examination submissions under the supervision of lecturers.
Technologies: Java, C++, C, Microservices Architecture, Security, Technical Writing, Internet of Things (IoT), Electronics, Distributed Systems, Network Administration

Quiz Website

A Java-based back end provided a simple platform for publishing, taking, and editing quizzes, scoreboards, badges, messaging between users, quick search, etc.

Tech stack: Java, JDBC, servlets, MySQL, Git.

Sheet Processing and Mail Delivery System

A Linux daemon that extracts information from Excel files, processes it, checks for compliance with predetermined formatting, and forwards data to specified email addresses. Logs progress in system logs. They are easily deployable on *nix platforms. Python is used for the core logic and shell scripts for gluing with system services.
Technologies: Python3, Bash, Sendmail, Linux.

Packet Sniffer PoC

https://github.com/dav23r/packet_sniffer
This was a PoC implementation of a network IP packet logger on Linux written in C. Linux raw network socket interfaces are employed with statistics stored in SQLite database accessed with C language bindings.

Languages

Bash, Python 3, Bash Script, C, Python, C++, Java, Go, SQL, Embedded C, JavaScript, Embedded C++, GraphQL, Rust, Lisp, Kotlin, PHP

Libraries/APIs

Linux API, REST APIs, Node.js, SQLAlchemy, Twilio API

Tools

Git, Vim Text Editor, GitHub, MQTT, GNOME, Terraform, Slack, Jira, Makefile, WireGuard, Buildroot, Zephyr

Paradigms

Concurrent Programming, Microservices Architecture, Design Patterns, Microservices, DevOps

Platforms

Unix, Linux, Docker, Android, Embedded Linux, Kubernetes, Amazon Web Services (AWS), AWS Lambda, Kernel, Raspberry Pi, Bluetooth LE, Azure

Other

Networking, Version Control, Containerization, SSH, Technical Hiring, Code Review, Embedded Systems, Low-level Programming, Embedded Development, Software Design, Agile Sprints, Architecture, Technical Leadership, WebSockets, SaaS, Video & Audio Processing, Embedded Software, Embedded Hardware, Technical Writing, Back-end, Site Reliability Engineering (SRE), Documentation, System Administration, Firmware, Hardware, Electronics, Distributed Systems, Containers, Transmission Control Protocol (TCP), UDP, Machine Learning, Algorithms, Security, Capture the Flag (CTF), Real-time Operating System (RTOS), Decision Trees, APIs, Yocto, Robotics, ARM Embedded, Software Architecture, IT Security, Reverse Engineering, Internet of Things (IoT), ESP32, FastAPI, Video Encoding, Media Encoding, Bluetooth, Low Latency, Network Administration, Network Protocols, FPGA, Public-key Cryptography, SSL, Podman, Mathematics, Software, Linux Kernel, AOSP, Microprocessors, Nordic nRF52, AUTOSAR, Mobile App Development, Back-end Development

Frameworks

Flask, Django, Apache Spark, React Native, Core Bluetooth

Storage

Databases, Memcached, MongoDB, PostgreSQL, Amazon DynamoDB, NoSQL, SQLite, MySQL

Industry Expertise

Cybersecurity

2014 - 2018

Bachelor's Degree in Mathematics and Computer Science

Free University of Tbilisi - Tbilisi, Georgia

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