- Bachelor's degree in Computer Science, Computer Engineering, a related technical field, or equivalent practical experience.
- 5 years of experience working in embedded and/or operating systems software.
- Experience with coding in C/C++.
- Experience with development within embedded systems/firmware design.
- Master's degree or PhD in Computer Science, Computer Engineering, Electrical Engineering, or related field.
- 2 years of experience with Linux kernel development, and software/hardware architecture.
- Experience in development of Android OS.
- Knowledge of Advanced RISC Machine (ARM)-based platforms.
- Knowledge of paravirtualization.