Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 8 years of experience with software development in one or more programming languages (e.g., Python, C, C++, Java, Javascript).
- 3 years of experience in a technical leadership role; overseeing strategic projects, with 2 years of experience in a people management, supervision/team leadership role.
- 3 years of experience building tools that improve development velocity, code quality, or code health.
- Master's degree or PhD in Engineering, Computer Science, or in a related technical field.
- 3 years of experience working in a complex, matrixed organization.
Want more jobs like this?
Get jobs in Hyderabad, India delivered to your inbox every week.
About the job
Like Google's own ambitions, the work of a Software Engineer goes beyond just Search. Software Engineering Managers have not only the technical expertise to take on and provide technical leadership to major projects, but also manage a team of Engineers. You not only optimize your own code but make sure Engineers are able to optimize theirs. As a Software Engineering Manager you manage your project goals, contribute to product strategy and help develop your team. Teams work all across the company, in areas such as information retrieval, artificial intelligence, natural language processing, distributed computing, large-scale system design, networking, security, data compression, user interface design; the list goes on and is growing every day. Operating with scale and speed, our exceptional software engineers are just getting started -- and as a manager, you guide the way.
With technical and leadership expertise, you manage engineers across multiple teams and locations, a large product budget and oversee the deployment of large-scale projects across multiple sites internationally.
In this role, you will build tools, infrastructure, insights, and educational content to help enterprise engineers give higher quality software. That includes a wide variety of efforts, including a web test code generation framework that reduces flakiness and converts certain categories of issue from runtime to build-time (i.e. Aspirin), a semi-automated onboarding path to manage schema releases (i.e. Pod Spanner), Google's primary integration testing infrastructure workshop for e.g., IT System Under Test (SUT) and functional workshops etc, and local development environments and initial integration testing infrastructure for free with new enterprise servers and Application programming interfaces (API) (e.g., Nexus Server/API and AutoAPI).
The Core team builds the technical foundation behind Google's flagship products. We are owners and advocates for the underlying design elements, developer platforms, product components, and infrastructure at Google. These are the essential building blocks for excellent, safe, and coherent experiences for our users and drive the pace of innovation for every developer. We look across Google's products to build central solutions, break down technical barriers and strengthen existing systems. As the Core team, we have a mandate and a unique opportunity to impact important technical decisions across the company.
Responsibilities
- Set and communicate team priorities that support the broader organization's goals. Align strategy, processes, and decision-making across teams.
- Set clear expectations with individuals based on their level, role and align to the broader organization's goals. Meet regularly with individuals to discuss performance, development and provide feedback and coaching.
- Develop the technical goal and roadmap within the scope of your teams. Evolve the roadmap to meet anticipated future requirements and infrastructure needs.
- Design, guide and vet systems designs within the scope of the broader area, and write product or system development code to solve problems.
- Review code developed by other engineers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).