Google Software Engineer, Networking and Connectivity in Tokyo, Japan

For immediate consideration, please send a text (ASCII) or HTML version of your resume to jobs@google.com.

Important: The subject field of your email must include Software Engineer, Networking and Connectivity - Tokyo.

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 tackle new problems across the full-stack as we continue to push technology forward.

The Android Core Networking team is looking for engineers at all levels of experience to help develop the next generation of networking technology. Android devices face very challenging networking requirements. Users expect always-on network connectivity across a range of different networking technologies (Wi-Fi, Cellular, Bluetooth, Ethernet, etc) - often on more than one at a time. Mobile devices must transparently provide access to network resources over different network types, such as home/office networks, carrier-managed networks, public wifi networks, device-specific networks, and so on. Network switching must be fast and seamless, data usage must be carefully managed, and battery life must be preserved.

As a member of this team, you will be responsible for the shared networking code that is used across all link types. We work on networking code at all levels, all the way from low-level kernel code, though the C library and Android framework, to application APIs. We also work to shape Internet standards and to advance the state-of-the-art via Internet Engineering Task Force (IETF) participation and collaboration.

Responsibilities

  • Manage networking APIs and protocols, algorithms, new feature development, performance tuning, and software architecture and design.
  • Manage feature development; determine the appropriate compromise between several design factors such as performance, feature interactions, battery life, protocol efficiency, user experience, security and schedule.

Minimum qualifications

  • BS degree in computer science, related technical field, or equivalent practical experience.
  • 1 year of relevant work experience.
  • Programming experience.

Preferred qualifications

  • Master's or PhD degree in computer science or related technical field.
  • Programming experience in C, C++ or Java.
  • Experience with wireless networking technologies including Wi-Fi, Bluetooth and Cellular.
  • Experience with network debugging tools (e.g., packet sniffers, protocol analyzers).
  • API, application and Android development experience.
  • Knowledge of the TCP/IP suite of protocols.