← Back to list
senior
Registration: 20.02.2025

Viktor Tarasov

Skills

ADC
Aurix Tricore
Bitbucket
C
C++
CMake
Confluence
DAC
DMA
Embedded
ESP32
ESP-Prog
FLASH
FreeRTOS
GCC
Gerrit
Git
Gitlab
GPIO
I2C
JIRA
J-Link
Lauterbach
Logic analyzer
Make
Makefile
NVIC
OOP
OpenOCD
Oscilloscope
Python
Redmine
Sleep mode
SPI
ST-LinkV2
STM32 (Cortex-M0, M0+, M3, M4)
SVN
Timers
Trace32
UART
Wireshark
Zoho

Work experience

Embedded Software Engineer
since 02.2023 - Till the present day |EPAM Systems Inc
C, Automotive
Automotive safety critical software development.
Embedded Software Engineer
05.2022 - 01.2023 |Incomsystem
VSCode, CMake, Ninja, GCC, VSCode, Git
● Programmable Logic Controller (PLC) development and meters in oil and gas field. ● Team: 3 + 6 software engineers. ● Responsibility: microcontroller software in display, digital and analog I/O modules. ● Migrated existing project sourcecode based on STM32F103 to almost the same printed circuit board based on STM32F405. Universal projects for both MCUs. ● Migrated project from IAR to free of charge solution: VSCode + CMake + Ninja + GCC + debugging in VSCode. ● Mostly solving software issues. Sometimes closely related to hardware. ● Optimizing software for power consumption. ● Trying to promote code review and branching strategy in Git.
Embedded Software Engineer
10.2020 - 05.2022 |Orion Innovation
TLS, TCP, UDP, MbedTLS, Python, Robot Framework
● Implemented slave core (ESP32) in ventilation automation system working with STM32. (Mostly on my own). ● Responsibility: the whole software in SoC (ESP32). ● It provides interface in mobile apps (iOS and Android) via BLE characteristics and TLS PSK TCP server on ESP32 side. ● WiFi Station and Access Point modes. ● MQTT broker on ESP32 side. ● Designed MQTT topics. ● Issues deep root cause analysis up until verification. ● OTA firmware update (custom bootloader partition). ● TCP/UDP socket, UDP broadcast, MbedTLS. ● Automated Android application testing by Robot Framework and Appium; custom keywords Python library for Robot Framework.
Embedded Software Engineer
03.2020 - 07.2020 |Orion Innovation
C++11, Logic Analyzer, Python
● Security and fire alarm. ● Team: mostly on my own. ● Responsibility: the whole microcontroller software development on interrupts (bare metal). ● Successfully implemented interface module from scratch in C++11. ● It connects two devices (USB and I2C). Strict I2C timings. ● Implemented a custom bootloader to upgrade the firmware on a customer side. ● I2C bus monitoring with parsing proprietary protocol by Logic Analyzer in Python for future automated testing.
Embedded Software Engineer
09.2019 - 01.2020 |Orion Innovation
C++11
● Smart electricity meter. ● COSEM-objects implementation. First experience in C++11. ● Develop and debug in parallel with Android developers.
Embedded Software Engineer
07.2017 - 04.2019 |Integral+
C, C++
● Security and fire alarm system development for local market. ● Team: almost on my own. ● Successfully fixed custom bootloader, alarm logic, WiFi/Ethernet traffic with desktop app.
Embedded Software Engineer
07.2016 - 06.2017 |Technologic
PLC, C
● Fire ventilation and drain pumps automation based on PLC. ● Team: 4 software engineers, but worked mostly on my own. ● I was involved in huge number of stages: Mounting equipment in metal automation box → wiring equipment → testing on bench → launching in the field. ● First embedded project in C with ATMega, matrix keyboard, graphic display and tension sensors.

Educational background

Electrical and power engineering, electronics (Masters Degree)
2015 - 2017
Kazan National Research State Technical University named after Tupolev (KAI)
Electrical and power engineering, electronics (Bachelor’s Degree)
2011 - 2015
Kazan National Research State Technical University named after Tupolev (KAI)

Languages

EnglishUpper IntermediateRussianNative