C++ Software Engineer
Key skills: Experience in development with C/C++, Python, etc., using modern design and development patterns. Experience working with scripting languages Python, Shell, Bash. Basic knowledge of RTOS. Ability to work with Git. Proficient in the Linux environment. Reading and understanding others' code written in different languages (Python, Matlab, Lua, C-languages). Knowledge of technical English (sufficient to independently navigate software product documentation and read technical documentation). Understanding the necessity of writing software and technical documentation. Teamwork. It will be a plus: Software development for implementing automatic control algorithms for unmanned vehicles. Practical experience in implementing software for automatic control systems (ACS) of various types of unmanned vehicles. Having an understanding of how microcontrollers work within devices, understanding the operation of I/O ports and their organization, will be a plus. Development and implementation of advanced unmanned vehicle control solutions based on embedded systems. Experience in development in the field of Computer Vision and (or) Machine Learning. Experience in development in the field of radio engineering. Experience working with microcontrollers - STM32, ESP3, Nordic, etc., and single-board computers - Raspberry Pi/Orange PI/Jetson, etc. Understanding or experience working with FPGA. Experience in software development for wireless devices (GSM / GPRS / LTE / GLONASS / GPS / Bluetooth / Wi-Fi / NB-IoT / LoRaWAN, etc.). Experience in software implementation of data transfer protocols. Practical experience using the Git version control system. Experience in preparing software documentation. Working with measuring equipment.
Requirements
TAU, ACS, FFT, Kalman filter, DSP, communication systems, radar, signal processing, Python, C/C++, Embedded Systems, Computer Vision, Machine Learning, microcontrollers. The candidate does not necessarily have to possess all the listed skills, but must be motivated for self-learning. It is desirable to have a portfolio (including scientific works, patents, publications, repositories, if any): if we deem it sufficiently convincing, a technical interview will not be required.
Higher education — Bachelor's degree; Experience: 3 years