As a Software Engineer on the Cloud Office Engineering team, you’ll have the opportunity to build world-class web applications and platform services that provide messaging and collaboration tools for customers worldwide. This role will be part of a team that has a strong, passionate engineering culture and proven track record of writing high quality software by using the best engineering practices in the industry. You will have the opportunity to work on highly distributed, extreme capacity systems that use a variety services and processes.
Primary Responsibilities Include:
- Design and develop software for large-scale enterprise services.
- Translate functional requirements into conceptual and detailed designs; provide estimates for development effort.
- Create unit and acceptance tests; perform QA/Test; automate deployment; and assist Operations and Support staff in trouble-shooting software issues, as well as, implementing bug fixes.
- Follow and execute Rackspace change management process.
- Participate in systems/code reviews and design sessions.
- Participate in Root Cause Analysis sessions.
- Delivers brown bags/tech talks to internal groups.
- Take full ownership of product life cycle.
- Adhere to coding and process best practices.
Required Skills and Experience:
- 3+ years of experience in software development (Python preferred)
- Production Linux systems experience.
- Strong development and engineering principles, including code coverage, test-driven development.
- Code readability, documentation, understanding of revision control systems (git)
- Experience with Agile methodologies (Scrum, XP, Lean, Kanban, etc.)
- Experience with one or more relational databases (e.g. MySQL).
- Familiarity with continuous integration and continuous deployment concepts
- Experience using a configuration management system (Chef, Ansible, etc.)
Desired Skills and Experience:
- Bachelor's degree in Computer Science or a related technical field preferred
- RHCE preferred
- Familiarity with Internet email protocols (POP, IMAP, SMTP) and email architecture
- Experience working with a large-scale system (1000+ servers)
Experience with non-relational databases (preferably Redis, Cassandra, and Solr)
- Experience with message brokers such as RabbitMQ/Kafka/Flume
- Experience with Linux logging services like Syslog-ng/logrotate
- Web hosting experience using NGNIX or Apache
- Experience with cloud service providers (AWS, GCP, Azure, etc.)
- Experience with Docker and container managements systems (Swarm, Kubernetes, etc.)