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. The Google Pixel team focuses on designing and delivering the world's most helpful mobile experience. The team works on shaping the future of Pixel devices and services through some of the most advanced designs, techniques, products, and experiences in consumer electronics. This includes bringing together the best of Google’s artificial intelligence, software, and hardware to build global smartphones and create transformative experiences for users across the world.
Responsibilities
- Support initial image quality (AE) bring-up software work and manage the communication and integration of input/output (I/O) streams across the camera system.
- Optimize system-level performance (including power consumption, latency, and memory footprint) after auto exposure (AE) software and features enter the deployment phase.
- Implement, optimize, and integrate AE software solutions and framework components onto target mobile device platforms and the Android HAL.
- Collaborate closely with the camera sensor team to integrate new sensor technologies, and work with the hardware and factory CTE teams to troubleshoot and resolve production and hardware-related issues.
- Collaborate closely with image quality and tuning engineers to debug complex software issues, validate exposure transitions, and support infrastructure for automated testing methodologies to reduce manual labor.
Qualifications
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 1 year of experience with software development in C++.
- 1 year of experience with data structures and algorithms.
Preferred qualifications:
- Master's degree in Computer Science or a related technical field.
- Experience in initial camera software bring-up, managing camera system Input/Output, and cross-layer debugging.
- Experience collaborating with hardware engineering, camera sensor teams, or factory central test engineering/manufacturing teams on troubleshooting and root-cause analysis.
- Experience optimizing system performance (latency, power, memory) on mobile chipsets or SOC platforms.
- Experience in camera software domains, specifically camera drivers, Android camera hardware abstraction layer (HAL), and framework architecture.
- Proficiency in C/C++ for embedded systems, and scripting languages like Python for automation or test infrastructure development.