Job Summary:
Join DEEP&T as a Senior Software Engineer, where you will analyze, design, program, debug, and modify software enhancements and new products for use in local, networked, cloud-based, or Internet-related computer programs. This role delivers large or highly complex software programs and systems that are critical to the organization’s technology platforms and commercial applications.
By leveraging in-depth knowledge of current programming languages and technologies, the Senior Software Engineer will write code, complete programming tasks, and perform testing and debugging of applications. The individual will interact with users to define system requirements and necessary modifications, conceive and implement software components, fixes, enhancements, and new systems. Their work directly impacts the organization by driving improvements in product quality, operational efficiency, and technical innovation, influencing future projects and technical direction
We’re looking for an individual who can apply software engineering principles to database engineering and administration to build processes and automation to help deliver infrastructure faster, safer, more consistently and with the right level of observability required to operate at scale.
Responsibilities and Duties of the Role:
- Responsible for building, deploying, and ensuring all DEEP&T database infrastructure is available 24/7/365.
- Leverage software development and automation to design, modernize, and deliver database infrastructure.
- Participates in setting the architectural direction for database platforms and projects.
- Manage multiple competing priorities in a fast-paced, deadline-oriented environment.
- Analyze, design, and deploy fault-tolerant, distributed, and highly available database infrastructure.
- Proactively plan and implement infrastructure changes through capacity forecasting, software release cycles, and right sizing.
- Provide database expertise through performance tuning, troubleshooting and administration.
- Develop, enhance, and adhere to engineering and administration standards.
- Develop automation and tooling to increase operational efficiency while ensuring system reliability and security.
- Build infrastructure and systems for scalability, resiliency, availability, and recovery though infrastructure as code and configuration management.
- Provide relevant insights of data store infrastructure through metrics, monitoring, and alerting.
- Maintain thorough and well-written documentation.
- Participate in live event support and on-call rotation.
- May provide oversight and direction to junior team members.
- Builds relationships with engineering teams and leads.
Required Education, Experience/Skills/Training:
Basic Experience
- 5+ years of related work experience with relational database systems such as PostgreSQL, MySQL, Amazon RDS, and Amazon RDS Aurora.
- BA/BS degree in Computer Science or equivalent technical experience
- Fundamental understanding of database internals for at least one of the above database engines.
- Experience working in Agile software development.
- Experience with source control management tools (Git, GitLab, GitHub).
- Intermediate to advanced level of expertise in one or more programming languages such as Python, Java, or Go.
- Experience running, deploying, and maintaining production cloud infrastructure in Amazon Web Services.
- General understanding and experience with Linux operating system, network, and containers.
- Experience with infrastructure as code (Terraform, CloudFormation).
- Excellent verbal and written communication skills.
- Experience designing and deploying fault-tolerant, distributed, and highly available database infrastructure.
- Experience with disaster recovery planning and implementation.
- Carries out assignments with little coaching or guidance from others.
Preferred Experience
- Experience operating within a database reliability engineering (DRE) and/or systems reliability engineering (SRE) role.
- Experience building a proper path to production leveraging multiple lifecycles, testing, integration, and CI/CD pipelines.
- Experience running, deploying, and maintaining production cloud infrastructure in Azure and GCP.
- Experience with configuration management (Ansible, Chef).