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 processin... more details
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.
In this role, you will help solve complex problems including hardware acceleration, performance bottlenecks, computer architecture, automation, and machine learning. You will perform research, design, and development for the hardware, software, and networking technologies that power all of Google's products and services.Behind everything our users see online is the architecture built by the Technical Infrastructure team to keep it running. From developing and maintaining our data centers to building the next generation of Google platforms, we make Google's product portfolio possible. We're proud to be our engineers' engineers and love voiding warranties by taking things apart so we can rebuild them. We keep our networks up and running, ensuring our users have the best and fastest experience possible.
The US base salary range for this full-time position is $136,000-$200,000 + bonus + equity + benefits. Our salary ranges are determined by role, level, and location. The range displayed on each job posting reflects the minimum and maximum target for new hire salaries for the position across all US locations. Within the range, individual pay is determined by work location and additional factors, including job-related skills, experience, and relevant education or training. Your recruiter can share more about the specific salary range for your preferred location during the hiring process.
Please note that the compensation details listed in US role postings reflect the base salary only, and do not include bonus, equity, or benefits. Learn more about
benefits at Google.
- Design, develop, test, deploy, maintain, and improve software.
- Manage individual project priorities, deadlines, and deliverables.
- Provide end-to-end performance analysis for deployed platforms.
- Inform direction for research where engineering gaps are identified that merit improved solutions.
Minimum qualifications:
- Bachelor's degree in Computer Science, Electrical Engineering, or equivalent practical experience.
- 2 years of experience with software development in C, C++, or Linux, or 1 year with an advanced degree.
- 2 years of experience with hardware design, and data structures or algorithms.
- 2 years of experience developing compute/storage systems, software systems, or networks.
Preferred qualifications:
- Master's degree or PhD in Computer Engineering, Electrical Engineering, or Computer Science.
- Experience with distributed systems, OS/kernel, network system design, and large-scale storage systems.
- Experience with non-x86 microarchitectures including low level performance analysis.
- Experience with interfacing to industry-standard HDL simulators, such as Register Transfer Level code in Verilog.
- Experience in Python and good understanding of Object Oriented Programming and Functional Programming.
- Experience with silicon architecture and design with the ability to root cause performance bottlenecks in consumer devices.