{{#include intro.md}}
Testing is the first-class citizen in MayaData. Our customers and users relay on us to keep their data safe and accessible. On the other hand, we write software and software has a tendency to contain bugs. Role of the test engineering is to help discovering them early in the process.
- Develop and maintain tooling for running end-to-end tests of MayaData products.
- Keep tickets updated, make sure that they cover work being done.
- Purposefully break things, deep-dive into the inner workings of storage components.
- Be comfortable not to stick on the happy path. Actively seek edge-cases.
- Detailed understanding of how to properly document test cases and create effective and focused testing plans.
- Owning a project/feature from concept to production, including proposal, discussion, execution, roll-out plans, helping the support team to have good article/blog/doc, helping test team with test plans.
- Participate in the proper code-reviews.
- Collaborate with Users (Community and Customers), Product Management and other stakeholders within Engineering (frontend, UX, etc.) to maintain a high bar for quality in a fast-paced, iterative environment.
- Craft code that meets industry and open source standards for style, maintainability, and best practices for a high-scale Data Center platform and tools. Maintain and advocate for these standards through code review.
- Recognize impediments to our efficiency as a team ("technical debt"), propose and implement solutions.
- Represent MayaData and its values in public communication around specific projects and community contributions.
- Confidently ship features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
- Computer science education or equivalent experience.
- Significant professional experience with the language required by the expertise or specialty. The dominant languages are Go, Rust, JavaScript/TypeScript, Python, C/C++, depending on the area of expertise.
- Experience with Linux command line and scripting. Ability to read system logs and do basic troubleshooting.
- Experience with debugging, tracing and profiling tools.
- Professional experience with any other technologies that may be required by the expertise or specialty.
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment.
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions.
- Experience owning a project from concept to production, including proposal, discussion, and execution. Ability to work single-handed as well as in a team.
- User level knowledge of Kubernetes.
- Ability to use MayaData Products.
The following are considered a plus:
- Experience with some CI/CD tooling (Jenkins, GitLab pipelines, GitHub actions).
- Experience with mutation testing and fault injection systems.
- Experience working with a global, remote team or otherwise multicultural team.
- Passionate about working for Infrastructure Products focused on Storage and/or Kubernetes SREs.
- Passionate about/experienced with open source and developer tools.
- Contributions to other open-source projects.