Q

Firmware Device Driver Developer

Quest Global · State of Karnataka, India

~₹12L (est.)3–9 yrs experiencefull_timePosted Yesterday
Apply now →

Job description

**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. **About the Role** We are seeking a skilled Firmware Device Driver Developer with 4–8 years of hands-on experience. You will design, develop, and maintain device drivers at the firmware layer, with a primary focus on LPDDR5/6 DRAM controllers and associated memory subsystems, as well as performance monitoring software. Memory interconnects used in this role are proprietary — no prior knowledge of specific interconnect protocols is required. You will work independently across the full driver development lifecycle — from reading hardware datasheets and implementing features, through integration, validation, and root-cause analysis of complex firmware-level issues. **Key Responsibilities** **Driver Development & Feature Engineering** - Design, implement, and optimize firmware-level device drivers for LPDDR5/6 DRAM controllers and associated memory subsystems; memory interconnects are proprietary to the platform — no prerequisite knowledge of specific interconnect protocols required. - Develop and enhance performance monitoring software to track memory controller metrics, bandwidth utilization, latency profiles, and hardware performance counters. - Develop and enhance drivers for memory-mapped I/O, DMA engines, cache controllers, and related peripherals. - Write clean, maintainable, and well-documented driver code in Python, C, and Rust (in order of priority). - Implement register-level programming from hardware specifications and datasheets. - Optimize driver performance for latency, throughput, and power across target SoC/FPGA platforms. **Integration & Bringup** - Integrate device drivers with firmware stacks, bootloaders, and RTOS/bare-metal environments. - Support hardware bringup activities; collaborate with hardware design and ASIC teams during bring-up phases. - Port or adapt drivers across different SoC platforms and board configurations. **Testing & Validation** - Design and execute comprehensive driver test plans covering functional correctness, stress, boundary conditions, and negative scenarios. - Develop Python-based test automation scripts and frameworks for driver validation. - Use hardware debug tools such as JTAG debuggers, logic analyzers, and oscilloscopes to validate signal integrity and protocol compliance. - Write unit tests and integration tests; contribute to CI/CD pipelines for firmware. **Root Cause Analysis & Debugging** - Independently investigate and resolve complex driver-level bugs including memory access faults, data corruption, race conditions, and timing violations. - Analyze memory dumps, trace logs, and register states to isolate root causes. - Document root-cause findings and corrective actions clearly for cross-functional teams. **Documentation & Collaboration** - Produce thorough design documents, driver interface specifications, and API documentation. - Read and interpret hardware datasheets, register maps, timing diagrams, and JEDEC LPDDR5/6 specifications independently. - Collaborate with hardware engineers, system architects, and firmware teams to define and refine driver requirements. **Required Skills & Qualifications** **Programming (in priority order)** - **Python (Primary): Proficient in Python for driver tooling, test automation, scripting, log parsing, and register-level interaction with hardware.** - **C (Secondary): Strong command of embedded/systems C including volatile qualifiers, pointer arithmetic, bit manipulation, memory-mapped I/O, and low-level hardware interaction.** - **Rust (Tertiary): Working knowledge of Rust for safe systems programming in firmware contexts; ability to write hardware abstraction layers (HAL) or unsafe blocks where required.** **Firmware & Driver Domain** - Solid understanding of device driver architecture in bare-metal, RTOS, and/or embedded Linux environments. - Hands-on experience with LPDDR5/6 DRAM controllers: timing parameters, training sequences, PHY initialization, and refresh configuration. - Experience developing or working with performance monitoring software: hardware performance counters, PMU frameworks, bandwidth and latency metrics collection. - Memory interconnects used in this role are proprietary — training and ramp-up will be provided; no prior knowledge of specific interconnect protocols required. - Knowledge of bus protocols: SPI, I2C, UART, PCIe, AXI/AHB, or equivalent. - Familiarity with DMA, interrupt handling, cache coherency, and memory protection. **Hardware & Debugging** - Demonstrated ability to read and work from hardware datasheets, reference manuals, and register-level specifications without guidance. - Experience with JTAG/SWD debugging, memory analyzers, and protocol analyzers. - Comfortable analyzing waveforms, logic traces, and bus traffic to diagnose hardware–software interface issues. **Work Style** - Self-driven: able to own modules end-to-end with minimal supervision. - Strong analytical mindset for systematic debugging and root-cause analysis. - Clear technical communication in written and verbal form. - Experience using Git for version control in team environments. **Preferred Qualifications** - Bachelor's or Master's degree in Electronics Engineering, Computer Engineering, Computer Science, or equivalent. - Experience with FPGA-based emulation or prototyping environments. - Familiarity with JEDEC LPDDR5/6 specifications. - Prior exposure to SoC firmware development for a