Position: Embedded Software Engineer
Company: Sapling Inc.
Category: C++
Experience required: 5y
English level: intermediate

**Description of responsibilities include, but is not limited to, the following: **

- Participation in analysis and requirements engineering at the system and/or component level. 
- Design and implement the software on bare-metal and RTOS based embedded systems. 
- Development and support of factory test environments for board and system level testing. 
- Compliance with the company’s source code style. 
- Contribution to system and project documentation. 

**Qualifications:**

**Must have: **

-  Minimum Bachelor’s degree in Electrical / Electronics / Computer Engineering or equivalent. 
- Minimum 2 years of experience developing Embedded Linux systems in C. 
- Minimum 2 years of experience developing real-time bare metal and / or RTOS-based microcontroller systems in C. 
-  Experience with timing-critical, battery-powered systems. 
-  Experience in low-level drivers (e.g., ADC, DMA, SPI, CAN, TIMERs, PWM, DAC, FLASH, WDG, etc.). 
-  Must have proficient experience with STM32 Cortex-Mx or other MCU like Arm7, Arm 9, and ARM11.
-  Must have a good understanding of schematic design.  
-  Experience with GIT or other version control software. 

**Plus: **
-  Experience with Linux is a plus.
-  Experience with wireless protocols  is a plus.
-  Experience with digital signal processing is a plus.
-  Good oral and written communication skills are a plus.  
-  Experience with lab tools such as logic analyzer, protocol analyzer, multimeter, and oscilloscope are a plus.