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.
Nice to haves:
2 years of experience with data structures or algorithms.
Professional coding experience in unmanaged language (e.g., Rust, C, C++).
Experience working with operating systems, computer architecture, embedded systems and Linux/Unix kernel, etc.
Experience developing and designing large software systems.
Experience with System Software in any of the following areas - ARM/ARM64 architecture, compilers, firmware, Operating systems, Linux kernel, filesystems/storage, device drivers, performance tuning, networking, tools, tests, virtualization, platform libraries, etc.
Knowledge of the Android platform.
What you'll be doing:
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.
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.
Perks and benefits:
Google's software engineers develop the next-generation technologies.
Opportunities to switch teams and projects as you and our fast-paced business grow and evolve.
Work on open source projects including the Linux kernel and build the future of Android together with a large partner ecosystem.