Software Engineer, Firmware
Google India
Job Description
About the Role
- Minimum qualifications: Bachelor's degree in Computer Science, Electrical Engineering, Computer Engineering, a related technical field, or equivalent practical experience.
- 4 years of experience in embedded systems or firmware development.
Job Details
Experience: in embedded software or firmware development in C or C++.
Experience: in bringing up bare-metal environments on SoCs.
Experience: in performing firmware debugging on silicon and using debugging tools (e.g., TRACE32 or OpenOCD). Preferred qualifications: Master’s degree or PhD in Engineering, Computer Science, a related technical field, or equivalent practical experience.
Experience: in using emulation platforms for firmware enablement, validation, and debug.
Experience: with ARM and RISC-V architectures.
Experience: in industry standard software development practices and agile methodologies. Understanding of SoC architecture and interfaces (e.g., Advanced Extensible Interface (AXI), Double Data Rate (DDR), Peripheral Component Interconnect Express (PCIe), etc.). Develop embedded firmware, bare metal tests and low-level debug tools for pre and post-silicon validation of SoCs. Exercise these capabilities on emulation, simulation and silicon platforms. Co-work with architecture, design and verification teams and enable hardware-software co-design. Engage with silicon design teams at a very early stage and drive integration validation and firmware features enablement as the silicon development progresses. Work closely with post-silicon and platform hardware teams to ensure silicon enablement and support silicon debugs. Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward. With your technical expertise you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions. The AI and Infrastructure team is redefining what’s possible. We empower Google customers with breakthrough capabilities and insights by delivering AI and Infrastructure at unparalleled scale, efficiency, reliability and velocity. Our customers include Googlers, Google Cloud customers, and billions of Google users worldwide. We're the driving force behind Google's groundbreaking innovations, empowering the development of our cutting-edge AI models, delivering unparalleled computing power to global services, and providing the essential platforms that enable developers to build the future. From software to hardware our teams are shaping the future of world-leading hyperscale computing, with key teams working on the development of our TPUs, Vertex AI for Google Cloud, Google Global Networking, Data Center operations, systems research, and much more.
Job Details
Apply Carefully
Review the official source before sharing personal information or payment details.
GradWorks saves this role to your candidate dashboard first, then lets you continue to the official source when you are ready.
Start Application