Job Description
- Code, simulate, integrate and validate software
- System integration
- Design and review, develop, implement, debug and test embedded Linux software and internal tools
- Drill through several layers of existing code to find and resolve intricate problems
- Work with QA to complete qualified work
- System & bootchain bring-up and debugging; maintain and write device drivers and BSP
- Collaborate with key stakeholders
Requirements
- Bachelor or Master of Science degree in Electrical / Computer Science or a related field
- 5+ years’ experience in real-time embedded Linux architecture development (Yocto build experience is a plus), writing/modifying linux device drivers and Boot loader
- In-depth understanding of Linux, OS internals, tools, libraries and open source development
- Experience developing video or audio processing products
- Experience with video frameworks GStreamer and Video4Linux
- Experience with video codecs, containers and streaming protocols
- Experience in full software lifecycle development including defining and documenting requirements, OOP, architecture and design, programming and testing, writing real-time, low-level software
- Proficiency in Python, shell scripts, C and C++, object-oriented design, multi-threaded software
- Experience working with UART, I2C, SPI, network programming such as sockets and TCP/IP
- Ability to diagnose hardware and software issues; Hands-on hardware bring-up, system debugging and code optimization writing/modifying linux device drivers and Boot loader
- Basic electronics knowledge and use of lab equipment (such as digital scope and logic analyzer)
- Technical document writing experience using Visio, Word, Excel and PowerPoint
- Fluent English, excellent written and verbal communication skills
- Strong analytical and problem solving skills
Desired Skills (as a plus)
- Familiarity with iMX6 and Yocto
- Experience with Lab integration
- Experience with data-parallel and/or accelerated computing (CUDA, OpenCL)
- Working knowledge of machine learning algorithms and software packages
- Embedded µARM (M0-M7) I2C, SPI, ADC, DAC, timers, IRQ, DMA
- Experience working in an Agile/Scrum development process
- Experience working with GIT configuration and JIRA management tool