Job Duties:
- Design and develop automation framework for testing of the Cerebras neural network training system to provide a high-quality system software product.
- Gather automation framework requirements from other software developers and quality assurance engineers.
- Write detail specifications for functionality, usability and scalability of the framework
- Develop framework, software libraries and tools in Python and golang.
- Define regression parameters in YAML data serialization language
- Design algorithm to quickly detect and isolate defect introduced in software features.
- Troubleshoot and debug failure, document findings, and fix software defects.
- Develop software library to write test case results in MongoDB, and design queries for reporting regression results.
- Provide libraries to store pass/fail results
- Provide Application Programming Interface (API) to store test execution meta data, execution time, and resources used.
- Design database queries to report failure and execution time trends.
- Define storage retention policies to keep logs and results for defined duration.
- Design and automate Continuous Integration jobs as a pipeline in Jenkins
- Make sure CentOS Linux environments for these jobs are correctly configured, and then write shell scripts for the jobs.
- Configure build and regression jobs to be executable on bare metal, VMware infrastructure or Amazon Web Services EC2 instances.
- Automate verification of availability of Distributed System clusters when build and regression jobs are run.
- Provide configuration of job to be run on demand or at a regular cadence of hourly and nightly.
- Automation of workflow in software version control tool Git
- Define triggers in Git repository to alert other developers to review software code.
- Define Actions and Webhook to integrate with Jenkins.
- Code Review Python code of peer developers.
- Integration of Jira workflow into git using REST API.
Minimum Requirements:
Master’s degree or foreign equivalent degree in Computer Engineering, Computer Science, or a related field and 3 years of experience as a Member of Quality Assurance, Member of Technical Staff, Sr. Member of Technical Staff, Software Engineer -Apps, Member of the Technical Staff (Senior Software Engineer), or a related occupation required.
The required work experience must include 3 years of experience in software engineering with the following:
- Building automation framework using Python, Golang, and REST APIs;
- Building automation lab using Jenkins, docker and either VMware ESXi or RedHat Kernel-based Virtual Machine (KVM);
- Creating and Maintaining Git processes;
- Building automated bug filing system using Atlassian Jira;
- MongoDB database or other NoSQL Database;
- Building Continuous Integration for Pull Request regression, Smoke regression, Nightly regression and System regression; and
- Performing troubleshooting, debugging and root cause analysis of distributed systems software.
Additional Information:
Employer’s name: Cerebras Systems Inc.
Job site : 1237 E Arques Avenue, Sunnyvale, CA 94085
Telecommuting permitted.
If you are interested in applying for this position, please mail resume with Job# 109 to HR at Cerebras Systems Inc., 1237 E Arques Avenue, Sunnyvale, CA 94085.