Senior Software Engineer in Test

Austin, TX / New York, NY / Palo Alto, CA

Do you like to break things? Understand why they broke and figure out how to fix them? Then make sure it does not happen again? You value reliability and consistency more than anything; whenever you see a divergence you want to crush it until it no longer exists. Manual testing is abhorrent and only palatable for an initial diagnosis; you want to automate and ensure repeatability of results even in the most complex distributed systems. You will traverse all the codebase (kernel, drivers, MMS) and documentation, devising inventive ways to exercise and test the product. You are inspired by real-world use cases and exotic dark corners of complex systems. You want to be the first to shine your light into any corner to discover any lurking bugs. You want to influence thinking to help build a more testable product and better engineering practices. You strive to promote quality across all aspects of the product. 
 
Responsibilities

  • Design & Build test cases to push MongoDB, Drivers & MMS to the limit and then build testing infrastructure that incorporates these into the release qualification process
  • Deliver great test plans and ensuring that they reliable & complete
  • Collaborate with core engineers to perform root-cause analysis and preliminary problem diagnosis
  • Consult with MongoDB users and customers to reproduce bug reports from the field

 
Requirements

  • Bachelor’s Degree in Computer Science, Math, or Engineering
  • 6+ years in a software quality or site reliability/performance role
  • Excellent programming knowledge of (C or C++ preferred, Java / Scala ok)
  • Excellent scripting skills (Shell, JavaScript, Python or Go)
  • Experience testing distributed & enterprise software
  • Excellent verbal & written communication skills
  • Strong UNIX/Linux operational skills (Windows a bonus)
  • Strong problem-solving skills
  • Should have experience with cloud providers (Amazon EC2, Azure, Joyent , Rackspace, Softlayer)
  • Should have database experience (SQL or Non-relational)
  • Should have experience with/knowledge of hypervisor technologies (KVM, VMWare, Xen or Hyper-V)