Software Engineer, Embedded Systems/Firmware, Pixel Sensor Intelligence

GoogleApplyPublished 11 hours agoFirst seen 11 hours ago
Apply

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, 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.

Our Team's mission is to deliver stable, power efficient sensor subsystem along with APIs that are very easy to use. This enables development of intuitive, seamless and magical Pixel experiences.

As a Software Engineer of the Pixel Sensor Core Software, you will participate in the implementation of embedded Software for the majority of the Sensors that ship on Pixel devices.

Your team’s mission is to efficiently develop the core device software required for each of the sensors on every Pixel device. It is a pivotal role that requires deep expertise in real time embedded software development together with expertise in Android and algorithms to build exciting features leveraging the sensor data in a power friendly manner.

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 software and hardware to build global smartphones and create transformative experiences for users across the world.

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.

Minimum qualifications:

  • Bachelor’s degree or equivalent practical experience.
  • 2 years of experience with software development in C or C++ and Python or Shell Scripts, especially in embedded software engineering programs of medium-large scale spread across multiple geos.

  • Experience in programming with Android application development.

Preferred qualifications:

  • 2 years of experience with data structures or algorithms.
  • Experience integrating and evaluating sensor modalities (e.g., Accelerometer, Magnetic, Gyroscope, Baro sensor, Proximity, Light sensor, fingerprint sensor, touch sensor, haptics, Hall sensor).
  • Experience in signal processing, micro-controller selection and with digital communication protocols and interfaces (e.g., GPIO, SPI, I2C, UART).
  • Experience with sensor core architecture, and implementing sensor fusion algorithms.
  • Understanding of OS tools and Unix. Ability to learn shell scripts, file system operations, and process management.
  • Knowledge of estimation theory (Kalman Filters, EKF), hardware performance monitors and profiling, with the ability to diagnose, debug hardware and software issues.