Software Engineer, Android Core Networking
Software Engineer, Android Core Networking
- linkCopy link
- emailEmail a friend
Minimum qualifications:
- Bachelor's degree in Computer Science, a related technical field, or equivalent practical experience.
- 2 years of experience with software development in one or more programming languages (e.g., Java, Kotlin, Rust, C++, etc).
- Experience in networking protocol.
Preferred qualifications:
- Experience in designing, implementing, or analyzing networking protocols (e.g., IPv6, IPv4, Unified Data Processing Framework/Transmission Control Protocol (UDP/TCP), DNS, HTTP, QUIC, TLS).
- Experience in working with networking code such as HTTP and Remote Procedure Call (RPC) client libraries.
- Experience with programming in Java, Kotlin, Rust, C++.
- Knowledge of the Linux kernel networking stack and drivers.
About the job
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.With your technical expertise you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.
The team maintains all Android networking code that includes routing, firewalling, Virtual Private Networks (VPNs), data usage, connectivity application programming interfaces (APIs), Domain Name System (DNS), etc. The team operates at all layers including kernel, Berkeley Packet Filter (BPF), native daemons, Java system code, and app APIs. We use Java, C++, Rust, BPF, and Kotlin. You will maintain relationships across the industry, with original equipment manufacturers (OEMs)/system on a chip (SoC) vendors and through the Internet Engineering Task Force (IETF) with other developers and Operating System (OS) vendors.Android is Google’s mobile operating system powering more than 3 billion devices worldwide. Android is about bringing computing to everyone in the world. We believe computing is a super power for good, enabling access to information, economic opportunity, productivity, connectivity between friends and family and more. We think everyone in the world should have access to the best computing has to offer. We provide the platform for original equipment manufacturers (OEMs) and developers to build compelling computing devices (smartphones, tablets, TVs, wearables, etc) that run the best apps/services for everyone in the world.
Responsibilities
- Make networking faster by using better integration between protocols such as HTTP, QUIC and Multicast Domain Name System (MDNS) and the lower levels of the stack (e.g., cross-process DNS caching). Leverage technologies such as BPF and L4S to improve performance and latency and simplify the stack.
- Leverage cross-layer optimizations and hardware offload, and improve hardware resource management to reduce power consumption and improve battery life.
- Implement important networking technologies at multiple stages of maturity such as DNS-over-HTTPS, Encrypted Client Hello, local network filtering, IPsec, etc. and help deploy them to Android users.
- Expand the stack's capabilities in areas such as HTTP/3 and peer-to-peer connectivity, in partnership with other teams such as Cronet and Nearby Share.
Information collected and processed as part of your Google Careers profile, and any job applications you choose to submit is subject to Google's Applicant and Candidate Privacy Policy.
Google is proud to be an equal opportunity and affirmative action employer. We are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. See also Google's EEO Policy, Know your rights: workplace discrimination is illegal, Belonging at Google, and How we hire.
If you have a need that requires accommodation, please let us know by completing our Accommodations for Applicants form.
Google is a global company and, in order to facilitate efficient collaboration and communication globally, English proficiency is a requirement for all roles unless stated otherwise in the job posting.
To all recruitment agencies: Google does not accept agency resumes. Please do not forward resumes to our jobs alias, Google employees, or any other organization location. Google is not responsible for any fees related to unsolicited resumes.