Position: Middle Embedded Firmware Developer
Company: Interfacer
Category: C++
Experience required: 2y

We're looking for a highly skilled and experienced Middle Embedded Firmware Developer to join our team. 
As a firmware developer, you'll create devices based on STM32 / ESP32 microcontrollers.
You'll work with remote control of gadgets/equipment, data collection/processing, and IoT systems.

**Offers:**
• Full-time remote work with a flexible schedule.
• Regular salary review that depends on your results.
• Various individual rewards.
• Deep immersion in programming.
• Independent decision-making and responsibility for it. 
• Autonomy of implementing tasks ways.
• Mastering the best practices for making strategic decisions in firmware creation.
• The opportunity to work with different projects and technologies.
• Professional growth and career advancement within the company.
• Fulfillment of one's ambitions and ideas.
• Close cooperation with more skilled colleagues. 
• No silly meetings. Only constructive feedback. 
• Healthy and productive work environment.

**Responsibilities:**
• Firmware development.
• Debugging, documentation, and support.
• Carrying out various types of testing.
• Help in solving technical issues.
• Improvement of existing ready-made solutions for given parameters.
• Reporting on the results obtained.
• Following the company's best engineering practices, technical standards, and quality criteria.

**Requirements:**
• Bachelor's degree in radio electronics science.
• Commercial experience in microcontroller programming of 2 years is a must.
• Excellent knowledge of C programming language(from a microcontroller programming perspective).
• Excellent knowledge and experience with UART/I2C/SPI interfaces.
• Excellent knowledge and experience with microcontroller peripheral modules such as ADC, TIMER, GPIO, IRQ, DMA, etc.
• Experience with digital sensors, external memory IC, SD cards, RTC modules, LCD\OLED displays, keyboards, etc.
• Experience with STM32(HAL)\ESP32(ESP-IDF) microcontrollers.
• Experience with real-time operating systems(RTOS).
• Understanding of multi-thread principles.
• Understanding of bootloader work.
• Experience with TCP\IP stack(LWIP) over Ethernet or Wi-Fi connectivity.
• Experience with Berkeley sockets API.
• Experience with HTTP\MQTT\FTP\SNMP\SMTP\NTP and similar network protocols.
• Experience with MODBUS protocol.
• Experience with JSON\CBOR data formats.
• Experience with file systems(FAT FS).
• Cryptography understanding. Experience with MBED-TLS
• Experience with BLE technology.
• Experience with GIT.
• Excellent problem-solving skills and attention to detail.
• Strong communication and collaboration skills

**If you're passionate about the vacancy and have a strong background in embedded systems, we invite you to apply for this job.**

We look forward to hearing from you!