
David Akopov
Verified Expert in Engineering
Algorithm Developer
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
Experience
- Algorithms - 8 years
- C - 7 years
- Git - 7 years
- Linux - 7 years
- Bash - 6 years
- Python - 5 years
- Concurrent Programming - 4 years
- Containerization - 3 years
Availability
Preferred Environment
Microservices, Python 3, Containers, Git, Vim Text Editor, Bash, Linux, Microservices Architecture, Hardware
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
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.
Senior R&D Engineer
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.
C and Python Software Engineer
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.
- Reviewed and suggested changes to the VHDL code for the FPGA processor with MIPS ISA to work around overheating bottlenecks.
Embedded Software Engineer
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.
Embedded Software Engineer
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.
Teaching Assistant
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.
Experience
Quiz Website
Tech stack: Java, JDBC, servlets, MySQL, Git.
Sheet Processing and Mail Delivery System
Technologies: Python3, Bash, Sendmail, Linux.
Packet Sniffer PoC
https://github.com/dav23r/packet_snifferEducation
Bachelor's Degree in Mathematics and Computer Science
Free University of Tbilisi - Tbilisi, Georgia
Skills
Libraries/APIs
Linux API
Tools
Git, Vim Text Editor, MQTT, GNOME, WireGuard, Buildroot, Zephyr
Languages
Bash, Python 3, C, Python, C++, Go, Embedded C, JavaScript, Embedded C++, Rust, Kotlin
Paradigms
Concurrent Programming, Microservices Architecture, Microservices, DevOps
Platforms
Unix, Linux, Docker, Android, Embedded Linux, Kubernetes, Kernel, Raspberry Pi, Bluetooth Low Energy (LE)
Storage
Databases, Memcached, MongoDB, NoSQL
Industry Expertise
Cybersecurity
Frameworks
Apache Spark, Core Bluetooth
Other
Networking, Version Control, Containerization, Technical Hiring, Code Review, Embedded Systems, Low-level Programming, Embedded Development, Software Design, Technical Leadership, WebSockets, Video & Audio Processing, Embedded Software, Embedded Hardware, Technical Writing, Back-end, Site Reliability Engineering (SRE), Documentation, System Administration, Firmware, Hardware, Distributed Systems, Containers, Transmission Control Protocol (TCP), Machine Learning, Algorithms, Security, Capture the Flag (CTF), Real-time Operating System (RTOS), Yocto, ARM Embedded, IT Security, Reverse Engineering, Internet of Things (IoT), Video Encoding, Media Encoding, Bluetooth, Low Latency, Network Protocols, FPGA, Public-key Cryptography, SSL, Podman, Mathematics, Linux Kernel, AOSP, Mobile App Development
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring