Job Description
- Design, develop, implement, debug and test embedded Linux software and internal tools
- System & bootchain bring-up and debugging; maintain and write device drivers and BSP
- Provide optimization insight. Ensure the best experience and robustness
- Drilling through several layers of existing code to find and resolve intricate problems
- Operate in an Agile development environment while collaborating with key stakeholders
- Work with QA to complete qualified work
Requirements
- Bachelor or Master of Science degree in Computer Science or a related field
- 5+ years of experience with C++ programming language or similar object oriented language
- In-depth understanding of Linux, OS internals, tools, libraries and open source development
- Fluent English, excellent written and verbal communication skills
- Strong analytical and problem solving skills
- Desire to work both independently and within teams in a fast paced environment
Desired Skills (as a plus)
- Experience developing and debugging kernel drivers for embedded Linux
- Strong ability to diagnose hardware and software issues; Hands-on hardware bring-up, system debugging and code optimization
- Experience writing/modifying linux device drivers and Boot loader
- Experience writing real-time/low-level software: RTO systems
- Experience developing video or audio processing products
- Experience with video frameworks GStreamer and Video4Linux
- Experience with video codecs, containers and streaming protocols
- Proficiency in Python, shell scripts and C
- Sound knowledge of communications protocols UART, I2C, SPI, USB, Ethernet (TLS/ TCP/ UDP/ IP)