Sr. Software Engineer - C++/Kernel
This is leading edge development in a fun and challenging atmosphere. While this client is an established – well capitalized, zero debt – and recognized brand, this effort will feel like a startup with an entrepreneurial energy and spirit.
You will be responsible for:
- Working with the complete Android Platform, including the kernel, bootloader & Android runtime for Android based embedded devices
- Modifying the Android platform in all if the Android platform layers – Linux, Android runtime
- Embedded Linux development experience
- Android app development
- Create, design, code, debug, maintain, test, implement and validate applications and collaborate and communicate with appropriate parties.
- Develop high-quality code, with strong emphasis on engineering standards such as automated unit testing, and integration testing.
- Writing, documenting and debugging code for new features for multiple platforms.
- Working with state-of-the-art, large interactive displays.
- Supporting and working with other engineering teams that are local and remote.
- Assisting in the maintenance of commercial releases.
- Researching the latest software development trends.
- Performing other duties as required.
The right candidate has …
- Bachelor’s, Master’s, or doctorate in computer science or related fields (Electrical engineering, physics, math, etc).
- Five years’ experience with three years of development experience in embedded software development using C and/or /C++
- Experience with device drivers, Linux kernel and Android system development, and other major operating systems (OSX, Windows).
- Experience with networking stack.
- Experience with bare-metal programming, bootloader and firmware development.
- Ability and desire to learn new technologies and platforms.
- Ability and or knowledge to perform Android (Gradle / Maven / Java / Android Studio) application development and related debugging.
- Knowledge and experience with design principles such as design patterns, interfaces, and object-oriented programming.
- Ability to work with in a global team.
Key Success Factors
- Self-starter, function well with minimal supervision
- Passionate and committed with strong sense of ownership and craftsmanship
- Strong problem-solving skills
- Strong communication skills (interpersonal, written and verbal)
- Fluent written and spoken English and as a plus, Mandarin