Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 8 years of experience with software development in C or C++.
- 3 years of experience in a technical leadership role; overseeing projects, with 2 years of experience in a people management, supervision/team leadership role.
- 3 years of experience building and developing on embedded systems.
- Master's degree or PhD in Engineering, Computer Science, or a related technical field.
- Experience with hardware and software codesign at the chip-level and architecting scalable software.
- Experience with HBM, PCIe, ARM, security, confidential computing, and machine-learning.
Want more jobs like this?
Get jobs in Taipei, Taiwan delivered to your inbox every week.
About the job
As the Software Engineering Manager, you will provide technical leadership to major projects and manage a team of Engineers. You will manage project goals, contribute to product strategy, and help develop the team. The team works all across the company, in areas such as information retrieval, artificial intelligence, natural language processing, distributed computing, system design, networking, security, data compression, user interface design, and more.
ASIC Software develops C++ code that controls and monitors Google's custom accelerators including TPUs and VCUs. The team also defines the API that the software stack uses to build deployments of the systems that use these ASICs, as well as write code that manages interrupts, DMAs, and many other hardware-centric features. In this role, you will have a role in the initial debug and bring-up of new ASICs and own simulation models that allow for early software development pre-silicon.
Google Cloud accelerates every organization's ability to digitally transform its business and industry. We deliver enterprise-grade solutions that leverage Google's cutting-edge technology, and tools that help developers build more sustainably. Customers in more than 200 countries and territories turn to Google Cloud as their trusted partner to enable growth and solve their most critical business problems.
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 and role and aligned to the broader organization's goals, meet regularly with individuals to discuss performance and development, and provide feedback and coaching.
- Develop the mid-term technical idea and roadmap within the scope of the teams, and evolve the roadmap to meet anticipated future requirements and infrastructure needs.
- Design, guide, and vet system designs within the scope of the broader area, and write product or system development code to solve ambiguous 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).