Rackspace Software Developer III - US-1 in San Antonio, Texas
Overview & Responsibilities
( Remote ) Senior Software Developer - Rackspace Private Cloud
As a Rackspace Private Cloud (RPC) Operations Automation Software Engineer, you will
define, develop, and integrate open source solutions that support our
organizational vision: To become the preferred brand for consuming complex open
source infrastructure, as-a-Service, delivering industry-leading simplicity,
efficiency, and reliability.
Our team supports this mission by improving the tooling and automation around hands-off hardware/inventory discovery and configuration, bios and operating system installations and updates, automated cloud, container, and storage installations and upgrades, and fleet wide centralized configuration management for all operational systems located in data-centers throughout the world.
The ideal candidates must be interested in building quality, highly scalable, highly available, well documented, and well tested software to automate operational problems at scale for the entire stack; from new hardware to a completely operational cloud deployment.
Hours: We have flexible working hours and aim for a median of 35-40 hours a week
On-Call: No, though deploying new systems will require a level of care and feeding
Location: Work from home, where ever that might be, with offices in the US and UK
Travel: About once or twice a year for a conference or team gathering
Work directly with support engineers, operations, product management, and end-users
Develop automation to improve efficiency, reliability, and simplicity of clouds
Develop and delivery SOA and consistent, reliable API and command line tools for operational use by other groups
Take high level problems and autonomously deliver solutions supported by data
Architect, design, and develop solutions that leverage and integrate existing open source tools and technologies
Engage asynchronously with team members via Slack, Jira/Trello, github, and email
Engage synchronously with team members via video calls
Take ownership of a feature/bug and work independently to implement.
Write clean, robust, maintainable code.
Develop tests for your code, using unit, functional, integration, and user story/use case approaches.
Co-design solutions with the team, users, and other internal teams.
Implement proof of concept, prototypes, and production-grade software.
Take part in discussions on various topics relating to the project.
Take part in team meetings and discussions with other projects.
Help other team members on issues they are stuck on or mentoring team members.
Facilitate design discussions with developers from Rackspace as well as the OpenStack and other open source communities
Collaborate with other developers, quality engineers (QE), ops engineers and support engineers to ensure smooth deployment, continual operation and fanatical support of quality software.
Be a positive influence on the team.
Mentor emerging developers.
The ideal candidate has the following skills:
Experience defining architecture of production systems that run at scale
Experience developing and deploying applications at scale
Experience working on distributed teams
Built production software in multiple languages (e.g. Go, Haskell, JS, Python, Ruby, Scala)
Worked across multiple programming paradigms (i.e. declarative, functional, imperative, object-oriented)
Experience with multiple cloud computing technologies (e.g. AWS, GCE, OpenStack)
Good working knowledge of network security and secure coding fundamentals (e.g. SSL, GIGO)
Good working knowledge of messaging technologies (e.g. RabbitMQ, Kafka)
Good working knowledge of document, relational, and time-series databases (e.g. Mongo, MySQL, Influx)
Using git branches, can develop, maintain, and as necessary rebase a patch until merged, using a collaborative workflow.
Demonstrated contributions and mentoring to open source projects.
Community collaboration using mailing lists, IRC, GitHub pull requests, issue trackers, and other tools.
Experience with designing and implementing REST APIs. Flask experience a plus.
Experience in building robust distributed systems. Celery, Redis, RabbitMQ, MongoDB, Etcd, Casandra are pluses.
Experience with container scheduling (Docker swarm, Kubernetes, Mesos) are especially desired.
DevOps background: install/maintain Linux servers using deployment and configuration management tools. Ansible is a plus.
Continuous development and deployment experience a plus.
Experience with pros and cons of different architectural patterns a plus.
Excellent written and verbal skills.
Req # 35549
Location(s) US-TX-San Antonio
Category Software Development