Skip to content

Latest commit

 

History

History
42 lines (35 loc) · 3.36 KB

test-engineer.md

File metadata and controls

42 lines (35 loc) · 3.36 KB

Test Engineer

{{#include intro.md}}

In the nutshell

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.

Responsibilities

  • 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.

Requirements

  • 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.