Overview & Responsibilities
We are looking for a Mid-LevelSoftware Developer, Rackspace Monitoringto joinGDCIteam in San Antonio, Texas or Remote!
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
Bachelor’s degree or equivalent in a technology related field required.
Experience may substitute for the degree requirement at a ratio of 3 years of experience for each year of education.
4+ years of experience in software development, engineering, testing, or a related field.
Understanding of software engineering fundamentals gained through training, course work, or relevant experience.
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: