Systems Engineer

Remote
Engineering
Full-Time

Circonus is a software company that is changing the way the world monitors both IT infrastructure and the business it powers. Our SaaS and on­premise solutions enable companies to combine monitoring, alerting, event processing, and predictive analytics into a unified solution. Visualize any data, in any application, from any system, in real ­time. Circonus scales from a single team to a worldwide organization that tracks thousands of devices analyzing millions of metrics. API driven automation empowers developers and makes operational teams incredibly efficient, while analytics drive insights that improve organization ­wide performance.

The Systems Engineer position will help write, debug, support and invent software that runs the Circonus stack for SaaS and on-premise customers.  We write software mostly in C and C++.

About the Job

    • Work in the office or remotely, or both (but not at the same time)
    • Write software in C and C++ and standard build systems (and some other scripting languages)
    • Understand already or are eager to learn Lua
    • Write multi-threaded, event driven code, often lock-free
    • Contribute to the design and scaling of components in the Circonus stack
    • Assist in supporting both the internal development and external use of Circonus software
    • Contribute with little direction from your boss / be a self starter, learner
    • You will work with many other human beings on your team and throughout the organization; well practiced human decency and empathy are required
    • Humans are the ultimate consumer of the software you write, they must be considered in everything you do

Requirements

    • Write production quality code in multi-threaded and event-driven C, C++ and supporting languages
    • Interoperate smoothly with an agile team using version control, CI and testing for safety
    • Solid debugging skills both live and post-mortem
    • Perform code reviews

Anti-Requirements

    • If you haven’t been cut by lock free programming you're gonna have a bad time
    • If you haven’t spent days at a time trying to find some weird use-after-free with tens of interacting threads you most likely will not like working here
    • If you think memory you allocate should be handled by a garbage collector (you are probably right), you will not like your day to day work here
    • If you haven’t used gdb or mdb or dtrace then how are you working in C/C++ all this time

Interview Process

    • The interview process consists of a phone screening followed by either a single in-depth phone interview or a single in-depth in-person, on-site interview, or both.
    • The phone screening process will establish an understanding of opportunity and your interest level as well as simple verification of elements shared in the application process. Typically 30 minutes.
    • The in-depth interview serves to clarify the opportunity, the vision of the company, and establishes the necessary rapport required to successfully execute in the role with the team and surrounding organization.  We will assess through inquiry and two-way discussions the candidate’s technical skills relating to building software, troubleshooting software, remediating bugs, and supporting and maintaining software; this can include whiteboarding code and systems architecture, and discussing diagnostic processes around complex system failures. Typically less than 4 hours.

At Circonus, we’ve created an invaluable monitoring system that many people rely on to keep their valuable systems in the air.  We take the challenge of providing a super reliable, performant, scalable monitoring system extremely seriously.  If this sounds like fun then you are just the right type of crazy, please come work here.