What level are you hiring at?
We're hiring an experienced QA engineer.
What will my responsibilities be?
Whatever your level, your main responsibility will be to test the product. That includes exploratory testing, maintaining and extending our manual and automated regression tests and manually testing the product. You'll be expected to test functional detail (the product works as expected) and to make sure it does the right thing in the right way.
You'll be expected to plan and execute for whatever needs testing. If we're working on something UI-heavy, there will be usability, aesthetics and cross browser testing to worry about. If we're working on something backend-heavy, there will be complicated behaviour to understand, validate and verify. Most of the time, there's both, and there will usually be moderately complicated setups to build and written tests to maintain. We accommodate people's strengths and preferences, but you'll need to do a bit of everything from time to time.
What we build comes from product management. They frame new work in the form of problems. So, rather than tell us to build feature X having form Y and button Z, and whatever happens it must be purple, they tell us a user has a problem that is losing them money, or making their day rubbish. It's up to us to work with PM to come up with features that solve that problem.
If you're a junior or mid-level QA engineer, you'll spend almost all your time writing and executing tests or working on things related to the process of writing tests: attending the daily standup, working with developers to understand product changes, maintaining and extending our real and simulated test network, collaborating with PM and our user experience guy to get your feature right. You'll sometimes work alone on a small feature, or as part of a sub-team on something bigger.
What if I'm a senior QA engineer?
Our process is pretty fluid, but the more senior you are, the more you'll be expected to contribute to big-picture quality - making sure we build maintainable and testable product that solves our users' problems. You'll contribute to (and review) test code and test plans and take the lead on important new functionality.
What exactly will I work on?
It's hard to say: the work really is very varied. Obviously as a discovery product we sometimes extend our raw discovery capabilities to new classes of device. Sometimes we do big engineering projects on the backend, like when we added clustering support to the product, or when we rewrote the core reasoning engine. Sometimes we build complex UIs that allow our users to configure the product or browse the data.
What's the technology stack?
We ship as a virtual machine or bare metal install (it's useful to have an environment we completely control, and also means our product can be deployed extremely quickly). We run on Red Hat Enterprise Linux. The product is made up of a bunch of Python processes communicating over CORBA, except our proprietary database, which is written in C++. Apache sits on the front.
The system test framework is written in Python. Tests communicate with the product appliance using CORBA APIs, SSH terminal emulation and file system access, and drive the web interface using Selenium, often all interwoven in the same test. We have daily release level builds and continuous intraday builds, and automated deployment into VMware for individuals in QA and for shared use across the team.
How do things work day-to-day, month-to-month?
We have a daily standup that everyone attends. It lasts about 15 minutes and keeps everyone in sync. New product releases tend to happen every 6-12 months. At any given time, we're working towards the next pre-release, where we ship some meaningful new feature (or early cut of a feature) to our customers to get their feedback. Pre-releases go out every 6 weeks or so.
How big is the team? Where are they all?
We are about 20 strong in the UK London office (mixture of QA, Dev, UX and management). There are others on the team: we have a few developers and QA in France and Ukraine. We have a dedicated 3rd line support team who deal with customer issues and fix customer bugs. Finally, we have a “content team”, who extend the capabilities of the product by writing scripts in a proprietary language understood by Discovery. They ship new functionality monthly, and are mostly based in Ukraine.
If you're interested, send your CV and a covering letter to
Please, no 8-page CVs full of buzzwords.
Show us your QA skills and passion.
To all recruitment agencies:
Please do not forward CVs to addmjobs@(ignore me)bmc.com.
BMC is not responsible for any fees related to unsolicited CVs.