CV - Web Version
CONTACT INFO
- Location: Prague, Czech Republic
- E-mail: mail@agramakov.me
- Phone: +420 725 332 130
LINKS
- LinkedIn: https://www.linkedin.com/in/agramakov/
- GitHub: https://github.com/an-dr
- Personal Page: https://agramakov.me/
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 languages | C , C++ , Python , PowerShell |
Processor architectures | ARM (STM32 series), AVR8 (ATTiny/ATMega series), GreenArray F18 (GA144), RISC-V , SPARCv8 (LEON3), Xtensa (ESP32 series) |
Communication protocols | ARINC 429 , CAN , CIP , I2C , RS-232 , RS-422 , RS-485 , OPC UA , SPI , USB |
Tools and technologies | GDB , Microsoft DAP , OpenOCD , C++ STL , FreeRTOS , OpenCV , CI/CD , Docker , Git , SVN , Bash , PowerShell , Agile , GitLab , GitHub , Jira , Redmine , SCRUM , SOLID |
PCB and schematic software | Altium Designer , EAGLE CAD , Proteus , MultiSim , KiCAD |
CAD software | Autodesk Inventor , Autodesk AutoCAD , Fusion 360 , SolidWorks |
Mathematical modeling | MathCAD , MATLAB , Octave , SciPy |
Databases | MS 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
Software Architect
2N TELEKOMUNIKACE, an Axis Company - Prague, Czech Republic
June 2024 - Now
> 3 month
Extra responsibilities to the Senior Embedded Software Engineer position:
- Developing and reinforcing the software architecture: software structure, high-level concept, quality attributes, etc.
- Enhancing the development process to ensure code quality and maintainability.
- Setting and upholding quality standards.
- Decomposing work into initial tasks.
- Creating high-level software documentation.
- Crafting stories focused on maintenance and code quality.
- Managing technical debt and advocating for its prioritization.
- Coordinating and aligning with other architects.
Senior Embedded Software Engineer
2N TELEKOMUNIKACE, an Axis Company - Prague, Czech Republic
May 2023 - Now
> 1 year 4 month
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 characteristics | proactive , collaborative , team player , positive , enthusiastic , consistent , detail-oriented |
Hobbies | robotics , wood crafting , fine arts , literature |