Senior Software Engineer, Embedded Systems, Pixel Memory
Summary
Senior Software Engineer on Google's Pixel team focused on memory bring-up for custom silicon: leading post-silicon enablement and optimization of high-speed memory subsystems (e.g., LPDDRx) by building initialization firmware and diagnostic software, and debugging hardware-software interactions. Core tech: embedded systems, device drivers, bare-metal firmware in C/C++.
US: $174000 - $252000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google.
- Write and test product or system development code.
- Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
- Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
- Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback.
- Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 5 years of experience with software development in one or more programming languages.
- 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
- 3 years of experience working with embedded operating systems.
- 2 years of experience working with embedded systems and device drivers.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical field.
- Experience in memory subsystem bring-up, training, calibration, and validation (e.g., DDR4/5, LPDDR4/5, or HBM).
- Experience collaborating with cross-functional teams (SoC design, signal integrity, platform software) to root-cause hardware-software issues.
- Experience with pre-silicon emulation/simulation platforms (e.g., Palladium, Zebu, or FPGA).
- Experience debugging low-level hardware/software interactions using lab tools (e.g., logic analyzers, oscilloscopes).
- Experience with low-level bare-metal firmware or driver development in C or C++.