Overview
Job Details
Software Engineer
We are seeking an Operating System (OS) Developer with strong design and build experience across multiple levels of the OS stack — from drivers to frameworks. The ideal candidate is hands-on, innovative, and comfortable working across diverse technical layers to build and optimize embedded systems. This role requires initiative, technical depth, and the ability to execute effectively in an agile, fast-paced environment.
Responsibilities
-
Design and implement software components across all layers of the OS stack, including drivers, frameworks, and system services.
-
Debug complex, system-level, multi-component issues spanning from kernel to application layers.
-
Profile and optimize performance issues across the full software stack.
-
Bring up new devices, perform low-level debugging, and conduct performance tuning exercises.
-
Collaborate with partner teams to integrate software components into a unified codebase and drive their ongoing development.
Minimum Qualifications
-
Bachelor’s degree in Computer Science, Software Engineering, or a related technical field.
-
2+ years of experience with AOSP (Android Open Source Project) or Embedded Linux development.
-
Proficiency in C/C++ with experience working in large-scale system software codebases.
-
Strong understanding of operating system internals and framework-level services.
-
Familiarity with software development best practices, including source control, unit testing, bug tracking, and design documentation.
Preferred Qualifications
-
Experience shipping high-quality consumer or embedded products.
-
Knowledge of modern C/C++ standards, libraries, and best practices; experience with Java is a plus.
-
Hands-on experience with Android SDK, NDK, JNI, and IPC mechanisms.
-
Experience with device bring-up, Linux kernel customization, and hardware integration.
-
Familiarity with Android/Linux performance tools, debugging utilities, and security models.