You will help choose and deploy commercial and open-source tools and technologies to build and support a professional software engineering environment, with an emphasis on operational self-service and continuous integration.
Responsibilities
- Plan and deploy high availability solutions for DevOps services
- Install, configure, and extend a variety of software systems, including software for version control, code peer review, compilation, continuous integration, performance data collection and analysis, systems monitoring, and more
- Install, configure, and extend a variety of SQL and NoSQL databases, web servers, application frameworks, caches, and distributed messaging systems
- Automate the provisioning, configuration, and monitoring of software and tools for developer workstations, continuous integration servers, computing clusters, cloud infrastructure, embedded devices, and other systems
- Automate the compilation, continuous integration, testing, packaging, and distribution of multiple software components
- Engineer systems and tools to support the build, integration, and verification of complex software systems spanning multiple hardware platforms, embedded devices, mobile platforms, and cloud-based services
- Work closely with developers to tailor tools and solutions for rapidly evolving needs
- Design and maintain large data and file storage solutions
- Encourage and enforce best practices to enable rapid new feature development while maintaining multiple functioning software products
Qualifications
- 5+ years of experience in development operations or systems administration
- Experience deploying and scaling high-traffic services in the cloud (AWS/EC2, Google, etc.)
- Experience installing, configuring, and managing Jenkins and/or TeamCity CI servers and slaves, plugins, and integrations
- Experience installing, configuring and managing Gerrit, Crucible, or other code review tools
- Extremely comfortable with Linux, shell-scripting, git
- Expertise in performing and automating systems administration tasks using two or more of Ansible, Chef, Puppet, Fabric
- Familiar with virtual machines such as VMWare and VirtualBox, and containers such as Docker and LXC
- Experience installing and configuring a variety of SQL and NoSQL databases such as MySQL, PostgreSQL, MongoDB, Cassandra, Redis
- Expertise with one or more programming languages, such as C, C++, C#, Ruby, Python
- Experience with software development and testing, and familiarity with Test-Driven and Behavior-Driven Development (TDD/BDD), Continuous Integration, and Continuous Deployment
- Experience with embedded systems and physical hardware
- Excel in a fast-paced, agile environment supporting multiple projects using a wide variety of technologies
- Strong communication skills and the desire to teach and mentor other engineers with varying domains of expertise
Education
- BA/BS, MS preferred, in Computer Science or related field preferred, but considerable weight will be given to experience and prior accomplishments