Andrii Bardakov

Software Engineer

Location: Böblingen, Germany

Contact:


Professional Summary

Highly motivated Software Engineer with extensive experience in system and application programming using C/C++, Java, and C#. Proven ability to deliver high-load, high-precision solutions by integrating diverse libraries/APIs and optimizing for performance and stability. Adept at collaborating within multicultural, distributed teams, eager to learn new technologies, and experienced in knowledge sharing.


Professional Experience

Aquilius Research GmbH, Böblingen

Software Engineer (2020 – Present) External specialist (contractor) supporting Advantest Europe projects. Contributed to multiple teams developing and integrating software for testing advanced semiconductor devices (Nvidia GPUs, Wi-Fi/Bluetooth chipsets).

  • Team Collaboration & Methodologies: Actively participated in Scrum processes (daily stand-ups, 3-week sprints) and weekly planning cycles within teams of varying sizes and expertise. Utilized Jenkins for CI/CD (build analysis, automated testing) and engaged in rigorous code review processes.

1. Full Development of PowerAnalyst for FVI16

  • Led the development of PowerAnalyst, a parameter calculator for the FVI16 board, from concept to deployment in close collaboration with hardware specialists.
  • Implemented a calculation engine based on a mathematical model for determining input/output voltages and currents from resistor parameters.
  • Utilized Java 8 and Swing to ensure compatibility with client legacy systems.
  • Applied BigInteger for high-precision calculations, handling numbers scaled up to 10¹⁸.
  • Designed an intuitive GUI for data input, validation, and configuration management (via JSON serialization/deserialization).
  • Engineered an automatic code generation mechanism producing ready-to-use function prototypes based on calculated parameters.
  • Implemented comprehensive validation rules and robust error handling with file logging.
  • Result: Significantly simplified the equipment setup process, reducing time and complexity for technical personnel.

2. Enhancement and Support of SmartTest 7 Modules

  • Improved the quality, stability, and performance of processor testing software (Advantest’s SmartTest) for Nvidia and other devices.
  • Refactored code by eliminating Boost dependencies and replacing unsafe functions with modern C++11/17 equivalents.
  • Identified and resolved memory leaks and potential collisions using static analysis tools like Synopsys Coverity.
  • Optimized data I/O algorithms and buffer management, achieving up to 30% performance increase for large data packets (>100 MB).
  • Facilitated the migration from Red Hat 7 to Red Hat 9, addressing library compatibility challenges.
  • Introduced multi-threading where beneficial, carefully managing race condition risks.

3. Development of Software for Nvidia Processor Heat Prediction

  • Integrated a closed-source, third-party library for real-time temperature calculation of Nvidia processors during testing.
  • Leveraged the HVM API (SmartTest) to execute complex test sequences incorporating the prediction algorithm.
  • Established secure remote access (SSH with workspace mounting) to test machines for development and debugging.
  • Ensured proper initialization and reliable execution of the proprietary library despite the absence of source code.

4. Integration of Keysight 89600 VSA Functionality into SmartTest 8

  • Developed a C# library interfacing with Java (via FFM in Java 21) to enable Keysight 89600 VSA analysis (typically Windows-only) within the Linux-based SmartTest environment.
  • Implemented efficient cross-platform communication over 10 Gigabit Ethernet, minimizing latency (achieved 30-40 ms).
  • Utilized Java 21’s ThreadPool for fine-grained multi-threading control, preventing race conditions.
  • Orchestrated function execution (sequential vs. parallel) based on data dependency and criticality.
  • Conducted performance profiling (using IDE tools, Stopwatch) to optimize C# ↔ Java interactions.

Key Skills & Competencies

  • Programming Languages:
    • C++ (C++98, C++11, C++17)
    • Java (8, 21, including FFM)
    • C# (.NET Framework, .NET Core, ASP.NET)
    • Ruby (Test frameworks)
    • Bash (Scripting, Automation)
  • Frameworks & Technologies:
    • Java: Swing, Maven, Gradle
    • C#: WPF, MVVM, ASP.NET Core
    • Networking: TCP/IP, Ethernet, SNMP
    • Containers: Docker
    • Version Control: Git
  • Development Tools & Practices:
    • Methodologies: Scrum, Agile
    • CI/CD: Jenkins
    • Static Analysis: Synopsys Coverity
    • Testing: JUnit, Custom Ruby frameworks
    • IDEs: IntelliJ IDEA, Visual Studio, VS Code
  • Operating Systems:
    • Linux: Red Hat Enterprise Linux (RHEL 7, 9), CentOS
    • Windows
    • macOS
  • Core Competencies:
    • System & Application Programming
    • Performance Optimization & Profiling
    • Multi-threading & Concurrency Control
    • Algorithm Design & Implementation
    • High-Precision & Large Volume Data Handling (BigInteger, >100MB packets)
    • API Integration (including closed-source)
    • Cross-Platform Development (Java ↔ C#)
    • JSON Serialization/Deserialization
    • Design Patterns (Singleton, Wrapper, MVC/MVVM)
    • Debugging & Troubleshooting

Education

Master of Computer Engineering

Donetsk National Technical University, Pokrovsk (2018 – 2019)

  • Specialization: Software architecture, design patterns, web services, applied cryptography.
  • Master’s Thesis: Hardware-Software Complex “Interactive Whiteboard”
    • Developed Windows and Android applications using OpenCV for image processing.
    • Designed and implemented a custom Bluetooth communication protocol.
    • Authored comprehensive software documentation.
    • Created a multilingual interface using Resource Dictionaries.

Bachelor of Computer Engineering

Donetsk National Technical University, Pokrovsk (2014 – 2018)

  • Specialization: Operating systems, system programming, digital signal processing, computer architecture, networks, OOP, algorithms and data structures.
  • Bachelor’s Thesis: “STM32 Microcontroller Software Monitor” – Implemented real-time display of variable and register values.

Internship

Aquilius Research GmbH, Böblingen (Sep 2019 – Nov 2019)

  • Gained experience with Red Hat Linux distributions (RHEL, CentOS).
  • Developed Bash scripts for automating software installation and configuration.
  • Deployed network monitoring tools (using SNMP) rapidly on servers via Docker.
  • Acquired familiarity with CI processes and configuration management practices.

Additional Information

  • Languages:
    • English: Proficient (C1 level, comfortable in international teams)
    • German: Intermediate (B1–B2)
    • Ukrainian: Native
    • Russian: Native
  • Experienced in writing technical documentation.
  • Highly adaptable to various development models (Scrum, Kanban, etc.).
  • Proactive learner, open to mastering new technologies (e.g., Python, Kubernetes).

Key Strengths

  1. Systematic Problem Solving: Strong foundation in architecture, memory management, performance tuning, and concurrency.
  2. Optimization Expert: Proven ability to enhance performance (e.g., 30% speed increase in I/O) and modernize codebases (dependency removal, language standard upgrades).
  3. Versatile Technologist: Proficient across C++, Java, C#, scripting, containers, and CI/CD, ensuring rapid integration into diverse projects.
  4. Collaborative Team Player: Experience sharing knowledge, mentoring junior colleagues, and learning effectively within team structures.
  5. Legacy System Proficiency: Capable of effectively maintaining and enhancing systems using older technologies (Java 8/Swing, RHEL 7).
  6. Reliable Integrator: Successfully integrated complex and proprietary APIs, demonstrating adaptability and technical depth.

Career Goals & Interests

  • Contributing to the development of high-load, distributed, and real-time systems.
  • Exploring and applying solutions in IoT, AI, and Big Data domains.
  • Deepening expertise in DevOps practices (Kubernetes, advanced CI/CD).
  • Engaging in challenging international projects focused on system programming and advanced testing solutions.

Ready to tackle new challenges and contribute effectively to your team!