Software Engineer - Applications
Role details
Job location
Tech stack
Job description
APPLE INC has the following available in Austin, Texas. Assume ownership for fast-paced, complex, and distributed database environments (300+ Oracle, Aurora Postgres, and Aurora MySQL databases) supporting OLTP and OLAP systems across on-premises and AWS. Design, build, and continuously maintain high performance and highly available database and change data capture (CDC) infrastructure. Migrate mission-critical database applications leveraging on-prem Oracle to using AWS Aurora Postgres. Work closely with development engineering teams in advancing their strategic initiatives, operational readiness, engineering standards, designs, and performance. Support various database maintenance activities like database upgrades, patch management, user management, and backup and recovery. Set up and maintain Oracle GoldenGate Active-Active environments for databases and big data; configure Oracle Data Guard and RAC for high availability; implement zero data loss solutions. Implement infrastructure automation and scripting using tools like Python, Shell, and Terraform. Troubleshoot and resolve database performance issues and tune SQL queries proficiently. Database on-call for production and non-production during US hours as part of a 12x7 rotation. 40 hours/week.
Requirements
Bachelor's degree or foreign equivalent in Information Technology, Communications Engineering, Computer and Information Technology, Computer Science or a related field and 3 years of experience in the job offered or related occupation.
3 years of experience with each of the following skills is required:
Design and management of Oracle, Postgres, and MySQL databases
Implementing and managing RDS and Aurora databases in AWS
Migrating of on-prem databases to AWS
Implementing and maintaining Change Data Capture (CDC) solutions using GoldenGate or similar for real-time replication
Writing complex SQL queries and optimizing performance for application to database interactions
Designing and implementing database backup, replication, and disaster recovery strategies
Using Infrastructure as Code (IaC) tools such as Terraform, CloudFormation, or similar for database infrastructure automation
Automating database operations and tasks using Python, Go, Shell, or similar
Configuring monitoring and alerting for databases using tools like CloudWatch, Prometheus, Grafana, OEM, or similar