Position: Senior Embedded Developer
Company: Venstar Inc
Category: C++
Experience required: 5y
English level: intermediate

One of world’s most innovative IoT company is looking for an experienced embedded developer with a product mindset who can grasp business requirements and translate those into resilient cloud-connected embedded products

Requirements

**MUST HAVE**
- Expert knowledge of C and C++ (11/14 standard)
- Experience in embedded/IoT devices development based on Linux (POSIX knowledge required) and RTOS
- Experience with SoC bring-up (Cortex-M0/M4/A9) and debugging low-level code
- Familiar with boot code, low-level OS code, device drivers, and IO devices (SPI, I2C, UART, WiFi, Bluetooth LE)
- Comfortable developing both application and low-level code
- Knowledge of networking protocols (HTTP/s, Websockets, MQTT, SSDP)
- Ability to read schematics and work with oscilloscope, basic hardware skills (soldering iron doesn't seem like something new to you)
- Ability to read existing code and understand system design
- Working knowledge of build systems (Make, CMake)
- Knowledge of version control systems (Git)

**GOOD TO HAVE**
-	Working knowledge of ESP-SDK, FreeRTOS, Zephyr RTOS and TI RTOS 
-	Experience with 802.15.4g-based wireless network protocols (TI15.4, 6LoWPAN, Thread)
-	Experience with power consumption optimization for battery-powered devices
-	Knowledge of security and encryption fundamentals (OpenSSL, Mbed-TLS)
-	Experience interfacing different sensors (temperature, humidity, air quality, water leak etc)
-	Ability to improve schematics (both analog, digital and RF part)
-	Experience with Rust or Dart is a plus

**We offer**
Great job in a product company, decent salary (in US dollars), a friendly team, lunch of your choice, paid vacation and sick leave.

**Responsibilities **
You will be responsible for building cloud-connected thermostats and wireless sensors for smart home and office.
-	Develop, document, test, and debug new and existing software systems and/or applications (currently based on TI CC3220, TI CC1352, ESP32S2, NXP iMX6, but not limited to)
-	Take part in development of hardware for new devices
-	Troubleshoot functionality problems and optimize code for new and existing products
-	Research & introduce best practices for embedded applications