< Back

What level are you hiring at?

We're hiring for junior developers, mid-level developers, and senior developers.

What will my responsibilities be?

Whatever your level, your main responsibility will be to write code. Almost all the code you write will be Python, as that makes up the vast majority of our codebase. We have a pretty rich web UI, so there's often a need for some JavaScript too.

You'll be expected to write code for whatever needs building. If we're working on something UI-heavy, there will be UI code to write. If we're working on something backend-heavy, there will be backend code to write. Most of the time, there's both. 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 developer, you'll spend almost all your time writing code (including unit tests) or working on things related to the process of writing code: attending the daily standup, working with QA to get your code tested, 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 developer?

Our process is pretty fluid, but the more senior you are, the more you'll be expected to contribute to big-picture design — making sure we build maintainable code that solves our users' problems.

We do mandatory code review on every check in, and as a senior developer, you'll help with this process. Code review is pretty thorough, sometimes involving substantial rework — it isn't just a rubber stamp.

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 SaaS service, a virtual machine or a 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 or CentOS. 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.

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.

Our SaaS version releases much more frequently.

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
addmjobs@(ignore me)bmc.com

Please, no 8-page CVs full of buzzwords.
Show us your coding skills and passion.

Thanks!

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.