This position is based in Dublin, Ireland
The area: Engineering, Google.com
With analytical and code-level troubleshooting abilities to spare, Google.com's engineers are technology whizzes who love being in the center of the action. We tackle a range of complex software and systems issues, including monitoring, responding to and safeguarding the availability of our most popular services.
The role: Software Engineer, Google.com
As a Software Engineer working on Google's critical production applications and infrastructure, your mission will be to ensure Google is always fast, available, scalable and engineered to withstand unparalleled demand. You will be in the thick of solving the [often unexpected] problems of systems at scale in a way most engineers never experience.
Your scope is from the kernel level to the continent level. This position requires the flexibility and aptitude to zoom in to fine-grained detail, and the agility to zoom right back out and up the stack. Delve into how software performs, packets flow, and hardware and code interact, in support of managing services, steering global traffic and predicting and preventing failures.... all in a day's work.
You will design and develop systems to run Google Search, Gmail, YouTube, Wave, Maps, Voice, AppEngine, and more. You'll manage, automate, and make data-based decisions and judgment calls which influence globally distributed applications. You'll own the production services which comprise *.google.com, and critical infrastructure like GFS, BigTable, MapReduce and large-scale 'cloud computing' clusters.
You will also be driving performance and reliability from software and infrastructure at massive scale -- where dealing in petabytes and gigabits and shifting by orders of magnitude is routine. You will tackle challenging, novel situations every day and work with just about every other engineering and operations team at Google. You will be looked upon as an expert and advocate to fellow engineers on making design and reliability trade-offs in running large-scale services and engineering complex systems that fail gracefully and transparently to users.
The most successful candidates for this role will have strong analytical and troubleshooting skills, fluency in coding and systems design, solid communication skills and a desire to tackle the complex problems of scale which are uniquely Google. We are particularly interested in software engineers familiar with aspects of running web services at scale -- depth in either networking technologies and Unix system calls are strong pluses.
- Manage availability, latency, scalability and efficiency of Google services by engineering reliability into software and systems
- Respond to and resolve emergent service problems; write software and build automation to prevent problem recurrence
- Participate in service capacity planning and demand forecasting, software performance analysis and system tuning
- Review and influence ongoing design, architecture, standards and methods for operating services and systems
- BS/MS Degree in Computer Science or related field, and/or equivalent work experience
- Fluency in one or more of: C, C++, Java; and familiarity with one or more of: Python, Perl, Shell, PHP
- Expertise in data structures, algorithms and complexity analysis
- Expertise in analyzing and troubleshooting large-scale distributed systems
- Knowledge of IP networking, network analysis, performance and application issues using standard tools like tcpdump
- Ability to handle periodic oncall duty as well as out-of-band requests
CV/resume format: PDF (preferred), HTML, Word