Description
Reporting to the Director of Production Engineering, the Senior Production Engineer is responsible for architecting, automating, provisioning, monitoring, and maintaining applications and infrastructure.
Essential Duties/Responsibilities
- Work closely with Engineering and Product teams to identify and implement solutions that meet production, QA, development, and administrative needs in Linux-based environments
- Identify changes for the product architecture from the reliability, performance, and availability perspective with a data driven approach
- Architect and maintain multi-site, high-availability solutions
- Own and suggest improvements to our deployment process and tools
- Identify technical debt and provide plans to remediate
- Diagnose and resolve production system issues
- Participate in rotating on-call schedule
- Other duties as assigned
The above statements are neither intended to be an all-inclusive list of the duties and responsibilities of the job described, nor are they intended to be a listing of all of the skills and abilities required to do the job. Rather, they are intended only to describe the general nature of the job. This job description is not a contract of employment, either express or implied. Employment with Cofense will be voluntarily entered into and your employment is considered at will. Cofense reserves the right to alter the job description at any time without notice.
Knowledge, Skills and Abilities Required
- A self-starter who is willing to take a task from gathering requirements to deployment and maintenance
- Able to work effectively and be pragmatic as part of a remote team in a dynamic business environment
- Know a domain well and be able to share that knowledge
- Comfortable working independently and able to escalate problems when necessary
- Able to take charge of a nebulous requirement and drive it through design to completion
- Can identify problem or opportunity areas, develop and implement fixes and changes as necessary
- Able to communicate effectively with developers, engineers and upper management
- Eager to learn; able to understand and apply new things relatively quickly
- Willing to mentor and guide fellow team members effectively and constructively in a wide variety of disciplines, both technical and business-like in nature
- Happy to travel occasionally for team meetings and events
- Can manage and support cloud (AWS) production environments
- Are proficient with configuration management tools (Ansible preferred)
- Have acted in a technical leadership capacity (lead engineer) to provide services/functions in a production setting
- Have championed new technologies/processes, and architected their design, implementation and delivery to production
- Familiar with managing and maintaining Route53 configurations
- Can implement and manage high-availability infrastructure solutions with automatic failover
- Managed PostgreSQL, AWS Aurora and/or MySQL in production environments
- Able to coordinate large feature development
- Polyglot programming expertise
- Stay on top of current DevOps and infrastructure news
- Have used Docker in a production environment as part of the "product", not just in the CI workflow.
- Preferably have used Docker in a remote environment (think appliance)
Education and/or Experience:
- Bachelor’s degree is preferred
- Have experience with Ubuntu and Red Hat/CentOS in production environments
- Have experience supporting full stack Java applications (Maven/Artifactory)
- Have experience using and supporting CI environments (Jenkins/Docker)
- Have experience with infrastructure as code, preferably Terraform or Cloudformation
- Have experience with docker orchestration - eg. ECS/Fargate, Kubernetes, Rancher etc.