Nashville, TN | Direct Hire
Purpose of position: The DevOps Engineer is a champion of automation. The ideal candidate will have prior experience with cloud infrastructure as a service offerings. You will work closely with development teams to integrate their projects into production AWS environments and ensure their ongoing support once there. You thrive in a challenging environment with complex, distributed systems. Your background consists mostly of development experience with systems administration knowledge or system administration with strong development knowledge.
Essential Functions: (must be able to perform these functions, with or without reasonable accommodation).
- Build solutions to problems that impact availability, performance, and stability in our systems, services, and products at scale.
- Perform a wide variety of technical and administrative duties in overall systems design, development, and delivery.
- Work in conjunction with IT, engineering, and business groups to understand functionality, scalability, performance, security, and integration requirements.
- Develop and maintain an in-depth understanding of the application, systems, database architecture, and the general application functionality used to maintain data integrity.
- Manage the establishment and configuration of SaaS infrastructure in an agile way by storing infrastructure as code and employing automated configuration management tools with a goal to be able to re-provision environments at any point in time.
- Develop and implement instrumentation for monitoring the health and availability of services including fault detection, alerting, triage, and recovery (automated and manual).
- Be accountable for proper backup and disaster recovery procedures.
- Develop, improve, and thoroughly document operational practices and procedures.
- Drive operational cost reductions through service optimizations and demand based auto scaling.
Skills, knowledge and abilities: (these are required to enable job holder to perform the essential functions of the job).
- Strong experience building and maintaining production systems on AWS using EC2, RDS, S3, ELB, Cloud Formation, etc. and familiarity interacting with the AWS APIs. You should be equally comfortable in a traditional datacenter setting.
- Proficient in high level script languages (Python and/or Ruby) as well as script environments like bash.
- Deep experience administering Linux (CentOS, Ubuntu) systems.
- Thorough understanding of configuration management concepts. Experience with tools like Puppet and Chef are a plus but not required – concept over technology.
- Experience with monitoring, metrics, and visualization tools for network, server, and application status (Zabbix, CloudWatch, ELK, etc.)
- Experience with hardware and software firewalls, IPS, WAF, and additional security layers (LDAP, SSO, 2Factor)
- Experience with continuous integration, testing, and deployment.
- Experience with RDBMS (MySQL and MS SQL). Bonus points for NoSQL (DynamoDB). Extra credit for MarkLogic experience.
- A desire to automate yourself out of a job. We will always have new challenges and problems to solve.
- Understanding of ITIL terminology like incident and problem.
- Familiar with agile development processes and experienced working with development teams throught the software development lifecycle.
Must have Expert working knowledge of the following technical skills:
- AWS Technologies: Cloud Formation, EC2, Elastic Load Balancing, VPC and any other AWS technologies.
- Scripting Languages: Bash, Ruby, PowerShell
Must demonstrate expertise the following skills.
- RDBMS: MySQL and MS SQL
- Data Structures: JSON, XML, YAML
- Operating Systems: CentOS, Ubuntu
- Virtualization Systems: Docker, ECS
- Image Automation Tools: Packer, Vagrant
- Version Control: Git or other version control tools.
- Marginal Functions: (Duties that are likely to be assigned to this person, unless he/she proves unable to perform them after receiving training and/or accommodations that The Company judges appropriate).
- Assists with Quality Assurance and Client Support as needed.
- Assists other team members and other development teams as needed.
- Perform other job related duties as assigned.
Experience and Education Requirements:
- A minimum of Three (3) years of experience as a developer or systems administrator or a mix of the two. Prior experience must include building automated deployment and configuration systems using infrastructure-as-a-service offerings and infrastructure-as-code patterns.
- Bachelors or Master’s degree in Computer Science or relevant industry experience.
- Knowledge of healthcare data safety regulations (HIPAA/HiTECH) a plus.
- A combination of experience and advanced education may be substituted. Background checks and drug screen required.