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.
Requirements
- 5 years of experience with software development in Rust.
- 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
- 5 years of experience with data structures or algorithms.
- 1 year of experience in a technical leadership role.
- Experience in AI and machine learning.
- Experience developing accessible technologies.
Responsibilities
- Architect control and data plane protocols that wire together extensible Network Simulation capabilities for virtual devices.
- Develop multi-OS reusable Rust libraries for network simulation features designed for integration across various virtual device platforms like QEMU, the Android Emulator, and Crosvm.
- Collaborate with teams around Google (e.g., Connectivity, Android Studio, Test Fusion etc.) to combine and evolve existing technologies, as well as develop new technologies, to simplify manual and automated testing of multi-device experiences.
- Enable developers to test their experiences across form factors (e.g. tv, auto, phone, wearables) and platforms (Android, ChromeOS, Fuschia, etc.).
- Innovate ways for developers to understand simulated networks and how it impacts user experiences (e.g. protocol errors, delays).
- design, develop, test, deploy, maintain, and enhance software solutions.
Other
- Bachelor's degree or equivalent practical experience.
- Master's degree or PhD in Computer Science or related technical field.
- display leadership qualities and be enthusiastic to take on new problems across the full-stack
- manage project priorities, deadlines, and deliverables.
- Google is proud to be an equal opportunity workplace and is an affirmative action employer.