Andrei Gramakov


CV - Web Version

Current Version: 09-Apr-2024
Latest version: agramakov.me/cv
[PDF]: agramakov.me/cv-pdf

CONTACT INFO

LINKS

Profile

I am an electronics engineer focused on embedded systems. My experience includes working in small teams and large multinational corporations in different areas - space, aircraft, IoT, industrial automation, semiconductors.

I have strong knowledge of C, C++, and Python and a good understanding of electronics from bits to complex electronic systems.

My experience allows me to develop an effective software architecture and support my team in the development process.

Skills

Portfolio online: agramakov.me/portfolio
(code examples, open source projects, etc.)


Programming languagesC, C++, Python, PowerShell
Processor architecturesARM (STM32 series), AVR8 (ATTiny/ATMega series), GreenArray F18 (GA144), RISC-V, SPARCv8 (LEON3), Xtensa (ESP32 series)
Communication protocolsARINC 429, CAN, CIP, I2C, RS-232, RS-422, RS-485, OPC UA, SPI, USB
Tools and technologiesGDB, Microsoft DAP, OpenOCD, C++ STL, FreeRTOS, OpenCV, CI/CD, Docker, Git, SVN, Bash, PowerShell, Agile, GitLab, GitHub, Jira, Redmine, SCRUM, SOLID
PCB and schematic softwareAltium Designer, EAGLE CAD, Proteus, MultiSim, KiCAD
CAD softwareAutodesk Inventor, Autodesk AutoCAD, Fusion 360, SolidWorks
Mathematical modelingMathCAD, MATLAB, Octave, SciPy
DatabasesMS Access, SQL

Languages

  • English Professional working proficiency (B2)
  • Russian Native proficiency (C2)
  • Czech Elementary proficiency (A2)

Education

Master’s degree / Specialist degree

Bauman Moscow State Technical University (2007-2013)

  • Major: Radio-Electronic Systems and Devices
  • Minor: Laser Location and Communication Systems
  • Thesis: “Development of Microsatellite’s Onboard Hardware Complex”

Ph.D., not completed

Bauman Moscow State Technical University (2013-2017)

  • Thesis: “Unified Radio- and Optoelectronic Remote Sensing”

Employment History

Senior Embedded Software Engineer

2N TELEKOMUNIKACE, an Axis Company - Prague, Czech Republic
May 2023 - Now
~ 1 year

Firmware development for NFC card readers, fingerprint sensors, and other access control devices. Integration of the devices with the main unit Linux software. Typical tasks:

  • Firmware development
  • Extensive debugging
  • Code review
  • Providing help and support to teammates

Achievements

  • Software architecture development for a new version of a card reader.
  • Establishing a Unit Testing environment and integrating it in the operational process.
  • >10 new features delivered

I also caused a significant positive impact on the team culture and work process:

  • Revised polished and crystalized the team development workflow according to the AGILE principles.
  • Established an effective information exchange in the team through a team internal documentation, established a team book library.
  • Actively participating in the integration of AI technologies in the company development practices

Technology Stack

C, C++, Python, Git, ARM, STM32, NFC, RFID, OSDP, Jira, SCRUM


Senior Embedded Software Engineer

Rockwell Automation - Prague, Czech Republic
February 2021 - April 2023
2 years 3 months

Activity

Development of firmware for industrial automation computers. In detail:

Typical tasks:

  • Development of MISRA-compatible firmware code according to the High-Level documentation
  • Unit tests development
  • Code review
  • Providing help and support to teammates

Achievements

  • Development features by design requirements (about 80 closed stories):
    • Sequence Manager - an entity for organizing complex technological processes into easily manageable sequences and subsequently, provide step-by-step implementations for each sequence.
    • Implementation of a new OSAL for a future device
    • Writing unit tests
  • Fixing bugs (about 50 fixed and closed exceptions)
  • Code Reviewing (more than 100 reviews as the main reviewer)

Besides software development, I have actively engaged in fostering a positive team culture and driving organizational improvements within the company. Some of the key initiatives I have undertaken include:

  • Revamping the New Employee Onboarding Process: I played a main role in revitalizing the onboarding process for new employees, ensuring a smooth transition for developers worldwide.
  • Creating a Learning-Supportive Environment: Collaborating with the team lead, I established an environment that promotes continuous learning within the team. This involved organizing regular team-wide learning sessions and allocating dedicated time for individual learning endeavors. I personally led five learning sessions to facilitate knowledge sharing and growth.
  • Enhancing Team Communication and Collaboration: To foster effective communication and collaboration, I introduced a series of meetings for reviewing team rules, synchronizing efforts at the start of each sprint, and ensuring alignment midway through.
  • Developing an Extensive Team Documentation Space: Recognizing the importance of easy access to information, I spearheaded the development of a comprehensive team documentation repository. This resource ensures that team members have quick and convenient access to critical information, enabling smoother project execution and knowledge sharing.

Technology Stack

C, C++, Python, Git, ARM, ABOS, OPC UA, PLC, MISRA, Logix Designer, Common Industrial Protocol (CIP), GitLab, SAFe, SCRUM


Embedded Software Engineer

Espressif Systems - Brno, Czech Republic
January 2019 - December 2020
2 years

Activity: Development of tools and drivers for ESP-based processors. Involved in the development of debugging tools like OpenOCD and GDB. Implementing and developing of debug module based on the DAP protocol; Implementing and developing a USB driver for ESP32-S2 chip based on TinyUSB stack.

Tasks:

  • Debugging tools development (Debug adapter for ESP-IDF VSCode Extension, OpenOCD)
  • Middleware driver development (ESP-IDF framework)
  • Unit tests development
  • Preparing trainings for colleagues

Technology Stack

C, C++, Python, Git, ESP-IDF, USB, VSCode Extensions; Powershell, CI, Docker, GitHub, FreeRTOS, TinyUSB, Xtensa, Raspberry Pi, Microsoft DAP, OpenOCD


Embedded Systems Programmer

Scientific Production Enterprise Digital Solutions - Moscow, Russia
January 2018 - September 2018
9 months

Activity: I worked with SPARC and RISC-V-based processors projects, and with Sputnik processor (ARM architecture). I developed libraries for interactions with processors and peripherals; I developed tests and testing software for developed processors, their peripherals and memory; debugged code with HDL models, FPGA, and prototype layouts. All developed ICs are for spacecraft purposes.

Typical tasks:

  • Processor design verification
  • Low-level driver development
  • Unit-tests development
  • Development of debugging tools

Technology Stack

C, C++, Python, SVN, GIT, Cadence, SPARC V8, RISC-V, ARM, AMBA, I2C, SPI, RS-232, RS-422, RS-485, SpaceWire, CAN, RTOS, FreeRTOS


Chief Specialist of Flight Test Instrumentation Department

Sukhoi Civil Aircraft - Moscow, Russia
June 2017 - December 2017
7 months

Activity: I worked with Sukhoi Superjet 100 aircraft. My main duty was preparing the Measuring Onboard Systems for qualification trials. I programmed aircraft systems according to the sensor set, developed SQL databases, wrote Python programs for information processing, and worked with measure sensors and tools.

Tasks:

  • Preparing hardware and software for coming trials
  • Modeling trials and troubleshooting on aviation simulator
  • Development of UI for trials
  • Sensor nomenclature accounting
  • Sensor database development

Technology Stack

C#, XAML, Visual Studio, MS Access, Python, MySQL, Entity relationship diagram (ERD), Acra KAM-500, ARINC 429, AFDX, Thermal Sensors


Electronics Engineer

Bauman Moscow State Technical University - Moscow, Russia
September 2015 - July 2018
3 years 11 months

Activity: My main area was in space data processing and recognition of the space satellites data. In parallel with work projects, I was doing image recognition research.

Tasks:

  • Research and development in space imagery (image recognition)
  • Development of experiments and experimental stands in support of current research

Technology Stack

Python, SciPy, OpenCV, Visual Studio, Eclipse, Octave, MATLAB, Autodesk Inventor, CCD devices, IR-, Vis-, UF- imagery devices, Raspberry Pi, ARM, STM32, CANbus, SPI, I2C, RS-232


Electronics Engineer

Research Institute of Radio-electronic Technologies (BMSTU) - Moscow, Russia
August 2012 - September 2015
3 years 2 months

Activity: My work in the Research Institute was in the field of optoelectronic imagery systems for spacecraft and providing research in space satellite imagery systems.

Tasks:

  • Preparing on-ground demonstration of the satellite’s (Chibis-M) system with our modification
  • Research and development in space imagery (image recognition)
  • Teaching Electronic Components Course for Bauman students

Technology Stack

C, C++, Python, ColorForth, MATLAB, Visual Studio, AtmelStudio, Autodesk Inventor, Arduino, AVR, CANbus, CCD devices, CANbus

Personal

Personal characteristicsproactive, collaborative, team player, positive, enthusiastic, consistent, detail-oriented
Hobbiesrobotics, wood crafting, fine arts, literature