Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects. 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.
Minimum qualifications:
- Bachelor's degree in Computer Science, or equivalent practical experience.
- 5 years of work experience in development, testing and deployment of consumer electronics/embedded systems.
- Experience with embedded programming in C/C++
- Experience with embedded systems, kernel, Unix/Linux environments, and the development of Linux device drivers or firmware.
Preferred qualifications:
- Experience working with hardware designers/reading schematics. Experience with interface protocols (e.g., USB, SPI, I2C, UART, UFS, PCIe) - Software stacks, Drivers; and System Memory Drivers
- Experience in computer science, with competencies in data structures, algorithms, and software design.
- Experience with fundamentals of Bootloaders, SoC low power management and security frameworks.
- Performance analysis and optimization experience.
- Knowledge of ARM or x86 assembly, system BIOS, Linux kernel, device drivers. Experience with ARM and/or other low-power SoC architectures.
- Demonstrated knowledge of embedded systems development, RTOS concepts, device drivers and hardware/software integration.
About the job
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.
Google's mission is to organize the world's information and make it universally accessible and useful. Our team combines the best of Google AI, Software, and Hardware to create radically helpful experiences. We research, design, and develop new technologies and hardware to make computing faster, seamless, and more powerful. We aim to make people's lives better through technology.
Responsibilities
- Work to enable applications for devices.
- Develop new software, hardware, and system architecture to support future applications.
- Design, development, and testing of embedded software drivers for the next generation smart devices.