Software Engineer openings at Google.com
Job Location : Bangalore, India.The area: Technical Infrastructure
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're always on call to keep
our networks up and running, ensuring our users have the best and
fastest experience possible.
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, 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, Chubby 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.
As a successful candidate for this role you 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.
Responsibilities:
- 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
Requirements:
- BS/MS in Computer Science or related field/degree, and/or equivalent work experience
- Experience in a high-volume or critical production service environment is preferred
- 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