Minimum qualifications: PhD in Computer Science or in a related technical discipline, or equivalent practical experience. Experience with a large scale systems design in Unix/Linux. Development experience in C or C++, with Object Oriented and algorithmic experience. Preferred qualifications: Experience with networking software or distributed systems. Experience with TCP/IP and network programming. Experience with database internals, database language theories, database design, SQL and database programming. Experience with building and deploying large-scale systems. Understanding of technologies such as virtualization and global infrastructure, load balancing, networking, massive data storage, Hadoop, MapReduce and security. Interest in or exposure to networking technologies/concepts such as Software Defined Networking (SDN) and OpenFlow. About the job Network Infrastructure (NetInfra) designs Googles network hardware and the software that runs it. We pioneered the use of Software Defined Networking (SDN) at planetary scale, and we continue to design and build large-scale, high-performance, high-availability distributed systems to design, manage, measure, and control our datacenter, WAN, and peering-edge SDN networks (each of which has been the subject of at least one SIGCOMM paper). Were creating innovative end-host stacks, to support CPU-efficient, low-latency, congestion-aware communication, with secure isolation between users. Our networks connect between Googles massive compute and storage resources and with our online customers, including the rapidly-growing Google Cloud Platform, with industry leading cost and energy efficiency. In this role, youll work on the NetInfra team to deliver Googles next generation networks. Youll work with other skillful, creative people, including many other PhDs, and people who wrote research papers youve read. You will be designing and building software for distributed services, abstractions, and the components of the system that operates and powers the worlds largest network infrastructure, from data center fabrics, to wide area networks, to the peering edge. Software Engineers in the NetInfra team solve the hardest problems in scale and availability, because Googles network must continue to grow at an exponential rate while continually reducing downtime, and were willing to try novel technologies across the entire stack. Youll have the chance to host interns, write influential research papers, and perhaps serve on program committees, to keep connected with the academic research community. Googles 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. Were 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. As a key member of a small and versatile team, you design, test, deploy and maintain software solutions. Responsibilities Design, develop, test, deploy, maintain and improve software. Manage individual project priorities, deadlines and deliverables. Design software systems that interface with humans, machines and other software.