The DevOps Engineer will be responsible for engineering and operating DreamHost’s system architectures. The ideal candidate will have a background in systems engineering, experience with one or more high level programming languages (Python, Ruby, Perl, etc), and a passion for open source technology. The DevOps Engineer will work alongside other engineers and developers on the Infrastructure Engineering team, coordinate with project managers, and collaborate with the Security and Operations teams to deliver on objectives. The DevOps Engineer will lead by example, contributing to engineering efforts as an active and enthusiastic participant.
- Lead by example by being an active contributor in the day-to-day engineering and operation of DreamHost’s system architectures.
- Work with Product Owners to define, track, and manage goals to ensure delivery; participate in tactical sprint activities to ensure high priority goals are achieved.
- Solution-engineering activities such as defining technical specifications and prototyping.
- Participate in cross-departmental brainstorming sessions for deploying other DreamHost applications and services on DreamHost’s infrastructure.
- Maintain deep technical and business knowledge of DreamHost’s system architectures, ensuring continuous upgrade and integration of new capabilities.
- Participate in the open source community with bug reports, feature requests, and pull requests as necessary.
- Exhibit a strong passion for developing, engineering, and automating highly scalable systems.
- Influence stakeholders, including internal customers and open source community members, and build consensus with excellent written and verbal communication.
- Deep experience with deploying and operating Linux systems.
- Good understanding of virtualization and infrastructure solutions including hypervisors, storage and network.
- Detail-oriented with good organizational skills.
- Ability to communicate thoroughly and effectively with technical and non-technical team members from all parts of the organization.
- Expert knowledge in a high level programming language.
- Strong familiarity with SSH, HTTP, DNS, and a variety of networking protocols.
- Linux operating system/application development desirable.
- Proven problem solving ability.
- Available for a rotating On Call schedule
- Ability to deep dive in existing infrastructure and software to assist in solving problems
At least 4 years of engineering and deployment experience with several of the following:
- Multi-Tenant and Enterprise Application Architectures
- Public or private OpenStack clouds
- Ceph distributed storage clusters
- Monitoring/alerting/graphing of services with open source utilities
- Deep understanding of application development, deployment lifecycles and automation through scripting and tools
- Expert-level knowledge of DVCS and agile development methodologies
- Deep experience with deployment and configuration management technologies such as Chef, Puppet, or Ansible
- In-depth, working knowledge of both Relational and NoSQL database technologies such as MySQL, MongoDB, and Cassandra
- In-depth knowledge of deploying and scaling web technologies and microservices
- Ability to hold conversations with developers and architects in other departments or with strategic partners to extract their best practices
- Developing applications on Linux operating system environments.
- Hands-on networking experience including functional knowledge of HTTP, DNS, TCP/IP, BGP, OSPF and related networking protocols and technologies.
- Experience with RESTful APIs.
- Experience with source control systems (git/svn/bzr).
- Experience with virtualization, preferably KVM.
- Experience with hosting companies is a plus.