Position: Middle Embedded С++ Developer
Company: Base B
Category: C++
Experience required: 3y
English level: intermediate

Project: We are currently starting a new product cycle where we are about to develop the next generation of thermostats. The next generation will consist of low-end, mid-end, and high-end thermostats with a wide range of features developed from scratch. The mid-end and high-end thermostats will have WIFI and Bluetooth Low Energy interfaces and will be cloud-connected. For the high-end we also expect to have full-color touch displays and use Linux based embedded operating system with more complex home automation features.

Technical requirements:
Programming in C / C++
Managed build systems such as CMake
Use of CI/CD environments (ideally using GitLab + jFrog)
Automated integrations testing and unit testing
“Bare-metal” embedded development (without any operating system) preferably within real-time applications
Real-time operating systems e.g. FreeRTOS
WIFI interface using TCP/IP (TLS), Bluetooth LE interface, Modbus interface
UART, SPI, I2C, Single-wire-UART
Working in a scrum team

Nice to have:
Familiarity with STM32 chips and/or Microchip 8/16 series
Hardware-level debugging (oscilloscopes, using test points to verify behavior, etc.)
Designing and deploying embedded devices with Bootloaders
Embedded performance engineering (design decision for constrained devices)
Developing software and drivers for embedded Linux
UML to visualize architectural software design, and how to use software design patterns

We offer:
 A challenging and stimulating job for an international client
 Talented colleagues and an informal, friendly work environment
 Employee training and certification programs
 Team building and social events
 Short Fridays, till 15:00
 20 working days of paid vacation over the year
 Medical insurance at the company cost
 Bonus program
 Relocation package for those who are coming from other cities.