Software Engineer III, Embedded Systems/Firmware
Technology, Data & Digital · Software & Web Development · Embedded Systems · Software Engineering
In short
Google is looking for a mid-level Software Engineer III with expertise in Embedded Systems and Firmware to join their team in Bengaluru, India. The role focuses on developing software for SmartNICs/IPUs, involving kernel development, networking, and debugging for high-impact projects within Google Cloud.
Responsibilities
- Write 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.
Requirements
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with software development in one or more programming languages, or 1 year of experience with an advanced degree.
- 2 years of experience working with embedded operating systems.
- Experience with Kernel, Kernel Drivers, Networking, Device Drivers, Debugging/Troubleshooting.
Desired Qualifications
- 2 years of experience with data structures and algorithms.
- Experience developing accessible technologies.
- Experience with SmartNICs.
- Deep expertise with the Linux kernel or network device drivers, and strong expertise with the networking stack in the Linux kernel.
- Strong expertise with C/C++, and strong focus on execution across several initiatives with attention to detail.
- Broad systems expertise to triage and debug issues, and interest in troubleshooting systems, and passionate about ensuring things work well end-to-end, and values a generalist software engineer perspective to ensure this happens (e.g., requires program management, process improvements etc.).
#software development#embedded systems#firmware#kernel#networking#device drivers#debugging#linux#smartnic