Skills


Programming languages:

C++ TTCN3 Rust Java Python Erlang
  • Standards: 11, 14, 17, 20
  • STL containers and algorithms
  • Concurrency
  • Memory management
  • Memory alignment
  • Metaprogramming
  • Compiler attributes
  • GTest
  • Boost::ASIO (basics)
  • Flow containers
  • Templates
  • Testsuites and modules
  • Inter-component communication
  • Paralel message reception
  • Currently learning
  • Java 8
  • Socket networking
  • Concurrency
  • JUnit
  • Dependency management (Maven, Gradle)
  • Basic syntax
  • Classes
  • Basic syntax
  • Fold expressions
  • List comprehension
  • Actor model

Tools and environment:

Build systems Operating systems Version control Documentation AI assistants Other
  • CMake
  • Make
  • Cargo
  • Ubuntu
  • WSL2 (Ubuntu)
  • Windows
  • FreeRTOS
  • TI-RTOS
  • Git
  • GitHub
  • GitLab
  • BitBucket
  • Gerrit
  • Doxygen
  • UML - PlantUML
  • Markdown
  • AsciiDoc
  • Copilot
  • ChatGPT
  • Clang-format

Embedded systems:

STM32 Arduino Hardware Tools
  • HAL
  • Registers
  • Bare metal
  • UART
  • Timers
  • Interrupts
  • PWM
  • DMA
  • LwIP
  • GPIO
  • GPIO
  • PWM
  • Interrupts
  • Timer-based concurrency design
  • UART
  • I2C
  • Current rectifiers
  • Relays
  • Analog and digital sensors
  • DC motors
  • BLDC motors
  • Logic gates
  • Osciloscope analysis
  • Multimeter measurements
  • Soldering

Know-how:

Software design Digital circuits Machine learning Graph theory Telecommunication
  • SOLID
  • Final state machines
  • Design patterns
  • Clean code
  • Logic gates and circuits
  • Latches
  • FPGA
  • Software-hardware functional decomposition
  • Linear regression
  • Logistic regression
  • Decision trees
  • K-nearest Neighbors
  • Neural Networks
  • Convolutional Neural Networks
  • Recurrent Neural Networks
  • Stochastic gradient descent
  • Model quality metrics
  • Supervised learning
  • Shortest path algorithms (Dijkstra, A*)
  • Coloring problem
  • Topological sort
  • Graph traversing
  • Critical Path Method
  • 5G RAN layer split
  • 5G RAN C-Plane / U-Plane split
  • 5G RAN CU / DU split
  • Carrier aggregation
  • Dual connectivity
  • SCTP protocol

Programming languages:

Details
C++
  • Standards: 11, 14, 17, 20
  • STL containers and algorithms
  • Concurrency
  • Memory management
  • Memory alignment
  • Metaprogramming
  • Compiler attributes
  • GTest
  • Boost::ASIO (basics)
TTCN3
  • Flow containers
  • Templates
  • Testsuites and modules
  • Inter-component communication
  • Paralel message reception
Rust
  • Currently learning
Java
  • Java 8
  • Socket networking
  • Concurrency
  • JUnit
  • Dependency management
    (Maven, Gradle)
Python
  • Basic syntax
  • Classes
Erlang
  • Basic syntax
  • Fold expressions
  • List comprehension
  • Actor model

Tools and environment:

Details
Build systems
  • CMake
  • Make
Operating systems
  • Ubuntu
  • WSL2 (Ubuntu)
  • Windows
  • FreeRTOS
  • TI-RTOS
Version control
  • Git
  • GitHub
  • GitLab
  • BitBucket
  • Gerrit
Documentation
  • Doxygen
  • UML - PlantUML
  • Markdown
  • AsciiDoc
AI assistants
  • Copilot
  • ChatGPT
Other
  • Clang-format

Embedded systems:

Details
STM32
  • HAL
  • Registers
  • Bare metal
  • UART
  • Timers
  • Interrupts
  • PWM
  • DMA
  • LwIP
  • GPIO
Arduino
  • GPIO
  • PWM
  • Interrupts
  • Timer-based concurrency design
  • UART
  • I2C
Hardware
  • Current rectifiers
  • Relays
  • Analog and digital sensors
  • DC motors
  • BLDC motors
  • Logic gates
Tools
  • Osciloscope analysis
  • Multimeter measurements
  • Soldering

Know-how:

Details
Software design
  • SOLID
  • Final state machines
  • Design patterns
  • Clean code
Digital circuits
  • Logic gates and circuits
  • Latches
  • FPGA
  • Software-hardware functional decomposition
Machine learning
  • Linear regression
  • Logistic regression
  • Decision trees
  • K-nearest Neighbors
  • Neural Networks
  • Convolutional Neural Networks
  • Recurrent Neural Networks
  • Stochastic gradient descent
  • Model quality metrics
  • Supervised learning
Graph theory
  • Shortest path algorithms (Dijkstra, A*)
  • Coloring problem
  • Topological sort
  • Graph traversing
  • Critical Path Method
Telecommunication
  • 5G RAN layer split
  • 5G RAN C-Plane / U-Plane split
  • 5G RAN CU / DU split
  • Carrier aggregation
  • Dual connectivity
  • SCTP protocol