Dmitry Startsev

Dmitry Startsev

Senior Software Engineer

Contact
Professional Skills Summary

Programming languages: C, C++, Assembler (x86)

Development tools: gcc, git, Microsoft Visual Studio, WinDbg

Work Experience

2019-06-01 to Present

Senior Engineer at Huawei

Took part in development of FMCW radar and panoramic camera prototypes. Actively took part in development of architecture and API of software components. Ported code of test tools between Windows and Linux OS.

Developed library for communication with radar and camera using special network protocol over TCP. It is used by various test tools to receive and record raw data streams from radar and camera.

Researched hardware optimization possibilities for radar data processing, such as GPU and DSP cores.

Developed fast FFT and Hilbert filter implementations on DSP (Xtensa Vision P6) cores of Hi3559A chip using assembly language and SIMD instructions.

Implemented combined Gaussian blur and bicubic resize in one pass on OpenCL, which is used internally by image stitching algorithm.

Used C and C++ programming languages, as well as assembler (Xtensa) for optimized parts.

2006-04-10 to 2019-05-30

Senior Software Developer at Vocord

Developed software service for for car plates recognition and traffic violations detection on Nvidia Jetson TX1 (aarch64) board and Linux OS. Used specialized library for detection. Implemented support for local and remote video sources, encoding and network broadcast of video and detection results to remote clients in real time. Also developed archive service for standalone work without network.

Developed driver for Windows, which presents remote IP-cameras as local video capture devices on virtual bus. It allowed to use existing software, including third-party and legacy software, which used DirectShow technology. Also developed virtual COM-port driver to use UART ports on cameras as local ports.

Developed NDIS driver for high performance receiving of video frames from network cameras using special IP-based protocol. The driver assembled video frames from multiple network packets in buffers supplied by application, so only one system call per frame was needed and no unnecessary data copying occurred.

Developed driver for USB dongle used to encrypt and decrypt data for licensing purposes. Also developed emulator driver, which fully implements device functionality.

Developed engine for synchronous multichannel video playback on Windows. It supports multiple sources, real time and archive mode, accelerated and decelerated playback in forward and backward directions. I used ffmpeg and Intel Quick Sync for video decoding and Direct3D 9 for rendering.

Used C and C++ programming languages and development tools such as Microsoft Visual Studio, WinDbg.

2004-12-01 to 2005-08-01

Software Developer at CBOSS

Developed data parser to process call detail records from base stations of various vendors for billing system.

Education

1998-09-01 to 2001-12-01

Voronezh State Technical University

Incomplete Higher Education: Control and Informatics in Technical Systems

2004-09-01 to 2008-03-01

Moscow State Institute of Radio-Engineering Electronics and Automation

Incomplete Higher Education: Computers, Computer Systems and Networks

Languages
  • Russian
  • Native speaker
  • English
  • Proficient
Personal

STM32, ESP32