
Overview
Minimum qualifications:
- Bachelor's degree in Computer Science or similar technical field of study or equivalent practical experience.
- 8 years of experience in modern Python.
- Experience in testing embedded software on SoC on Linux, Android or RTOS including hardware architecture, board schematics, protocols and standards.
Preferred qualifications:
- Experience with software development on Linux or Android.
- Experience in Docker and programming skills in Java, C/C++, JNI.
- Experience in working with prototype devices.
About the job
The Silicon Software team builds firmware, drivers, runtime, and compilers to bring our custom hardware to life. We are still a team and are planning for rapid growth in both team size and our code base. We work cross-functionally with many teams at Google, including Research, Machine Learning, Android, Chrome, and Hardware. We are working generations ahead of the market to enable groundbreaking features.
We are productive while we are at work but value work/life balance and have flexible schedules. Being tied to hardware release cycles, we do have crunch time - however, we are not on call. Our team has a mixture of experienced engineers, mid career folks, and recent graduates.
In this role, you will implement testing strategies, promote good software engineering practices, and build out our testing infrastructure and test content. Our testing needs range from traditional software tests on-device testing of full Linux or Android applications.
You will work in small, nimble teams that collaborate on common problems across products and across focus areas. As a result, you will have exposure to a broader set of problems, which allows for fast career growth and proximity to abundant technical problems.
You will play a crucial part in Google's success by partnering with silicon software developers and cross functional partner teams to ensure that our products are thoroughly tested to the highest standards.
Responsibilities
- Lead and own specific Embedded test domains within silicon software.
- Create and implement test strategies by working with development teams to identify risk areas and fill the testing gaps.
- Create test content for embedded modules such as Machine Learning accelerators, memory systems, CPU, peripherals, low power modes, virtualization and security.
- Automate tests using existing test frameworks and work with the Engineering Productivity team to enhance and develop new test frameworks based on test requirements.
- Mentor and coach other team members.