Software Developer - Rackspace Monitoring

US-TX-San Antonio | US-TX-Austin | US-Remote
Req #
Software Development

Overview & Responsibilities


About the Product:

Rackspace Monitoring is a Rackspace-scale multi-region distributed system for sampling, analyzing, and acting upon arbitrary metrics about users, applications, software stacks, networks, and hardware systems. Our agent is written in C and asynchronous Lua and our server application is written in Node.js, Java, and Go. Rackspace Monitoring is a public-facing product with over 100,000 users, monitoring hundreds of thousands of widely heterogeneous customer systems, and also responsible for internal monitoring of all Rackspace products and systems.

Learn more about our product on the Rackspace Monitoring website.

About the Team:

We enjoy belonging to a tight-knit team with a passion for monitoring and production systems. Monitoring is a broad and challenging domain, so it keeps us humble and we are always learning. Our ideal is that every member of the team is a peer who contributes code and expertise to all components of our application. Our team’s work is highly visible, so come prepared to make a big contribution.

We ship code every day, using tools such as comprehensive unit and integration tests to stay confident in the correctness of our changes and our product’s resilience and availability. All our projects use a collaborative development model. Reviewing code is as important to us as writing it, and the design, direction, and testing of our product is everyone’s responsibility.

We build things for people who build things; we want teammates who want to build the monitoring tools they’ve always wanted.

What You’ll Do:

  • Write excellent, fully-tested code in Node.js, Java, and Go
  • Provide in-depth and always-improving code reviews to your teammates
  • Fix things before they break
  • Thoughtfully prioritize your work
  • Troubleshoot and support production, addressing technical debt to improve sustainability
  • Use an open-source collaborative development model, branching for each major feature, writing clear commit messages and PR descriptions
  • Implement product features and refine specifications with Product & Project Managers
  • Resolve operational issues by collaborating with upstream support groups and other engineering teams


Desired Qualities:

  • Strong CS fundamentals
  • Skilled with at least one of C, Java, Go, or Node.js
  • Experience building and operating distributed systems
  • A working knowledge of Linux internals
  • Experience operating production systems
  • Appreciation of modular software design and API Design
  • Experience contributing to open-source projects

Tools We Use:

  • Cassandra, Zookeeper, Kafka, Scribe, Thrift, Docker, Redis, Elasticsearch, Hadoop, Statsd, Graphite, Chef, Nagios