Job Requirements
At Quest Global, it's not just what we do but how and why we do it that makes us different. With over 25 years as an engineering services provider, we believe in the power of doing things differently to make the impossible possible. Our people are driven by the desire to make the world a better place—to make a positive difference that contributes to a brighter future. We bring together technologies and industries, alongside the contributions of diverse individuals who are empowered by an intentional workplace culture, to solve problems better and faster.
Key Responsibilities
- Work as part of a self-driven engineering team and contribute equally to project success.
- Take ownership of assigned modules and participate actively in design and technical discussions.
- Understand design documents, architecture notes, and platform requirements.
- Work on Linux system-level components for platform hardening, stability, and performance across the AD system.
- Implement and optimize system calls, IPC mechanisms, memory management behavior, threading models, and core OS interactions.
- Improve platform robustness through resource isolation, process supervision, watchdog integration, system configurations, and fault‑tolerance features.
- Perform system performance analysis using profiling tools and propose optimizations for CPU, memory, I/O, and latency.
- Develop, optimize, and maintain kernel modules, device tree configurations, and system-level services where applicable.
- Ensure compliance with platform quality, security guidelines, and code standards.
- Conduct self-review and participate in peer reviews of code and design changes.
- Work with cross-functional teams when needed.
We are known for our extraordinary people who make the impossible possible every day. Questians are driven by hunger, humility, and aspiration. We believe that our company culture is the key to our ability to make a true difference in every industry we reach. Our teams regularly invest time and dedicated effort into internal culture work, ensuring that all voices are heard.
We wholeheartedly believe in the diversity of thought that comes with fostering a culture rooted in respect, where everyone belongs, is valued, and feels inspired to share their ideas. We know embracing our unique differences makes us better, and that solving the worlds hardest engineering problems requires diverse ideas, perspectives, and backgrounds. We shine the brightest when we tap into the many dimensions that thrive across over 21,000 difference-makers in our workplace.
Work Experience
Required Skills
- Strong proficiency in Embedded C and C++ for system-level programming.
- Solid understanding of Linux system programming — system calls, processes, threads, IPC, synchronization, memory management.
- Experience working with Linux kernel internals, including scheduling, interrupts, memory subsystems, and platform debugging.
- Experience with system, watchdog integration, startup optimization, and log services.
- Understanding of real-time Linux concepts (PREEMPT_RT, priority tuning, latency reduction).
- Experience with ROS2 concepts (nodes, executors, DDS, QoS, lifecycle management) and integration with system services.
- Strong skills in performance tuning, profiling, and diagnosing bottlenecks using tools like perf, ftrace, sysstat, strace, top/htop, etc.
- Familiarity with Ubuntu-based ARM platforms for embedded Linux development and reproducible builds.
- Good understanding of GNU toolchain, cross-compilation, and build systems (Make/CMake).
Essential Skills
- Experience with NVIDIA Jetson platforms and L4T, especially related to system-level optimization.
- Familiarity with containers (Docker) and deployment on embedded systems is a plus.
- Experience modifying or building kernel modules, subsystems, or platform-level components.
- Good understanding of device tree, system configurations, and low-level OS bring-up pathways.
- Understanding of common interfaces (I2C, SPI, UART, GPIO) at a conceptual level.
- Exposure to algorithm development, robotics, or perception pipelines (e.g., camera processing, sensor fusion, AI inference).
- Experience working alongside teams developing perception algorithms and understanding constraints of real-time pipelines.
- Strong debugging, analytical problem‑solving, and communication skills.