Software Engineer, Production Development - Wallet & Payments
Job Description
Summary
Are you passionate about solving problems? Always looking for opportunities to avoid a production problem even before it happens? If yes, Let’s talk. At Apple, the opportunities are endless for creative and passionate minds! Apple Pay is looking for Software Engineer for Applications who is hands on at solving problems and nurtures a cross functional team to keep apple products up and available at high reliability. You would lead/work with a team of exceptional engineers who work in Apple Pay Products.
The Wallet and Payments Production Development team is looking for a Software Development Engineer to help design, implement and maintain various tools to streamline and automate Engineering Operations processes. You must be a proactive, motivated self-starter with strong development and scripting skills in various development disciplines. In this position, you will have the opportunity to collaborate with cross-functional engineering and EPM teams to ensure the level of stability, quality, and security that our customers entrust in Apple.
The Wallet and Payments Production Development team is looking for a Software Development Engineer to help design, implement and maintain various tools to streamline and automate Engineering Operations processes. You must be a proactive, motivated self-starter with strong development and scripting skills in various development disciplines. In this position, you will have the opportunity to collaborate with cross-functional engineering and EPM teams to ensure the level of stability, quality, and security that our customers entrust in Apple.
Description
Software Engineering Applications is an engineering field that combines software and systems engineering to build and run large-scale, massively distributed, fault-tolerant systems. This position requires a highly motivated individual who loves complex challenges in a fast-paced environment. You will support payments services to ensure the services are functional, work on improving reliability and availability, will think creatively, and come up with innovative solutions to automate the manual support activities.
Minimum Qualifications
- B.S. in Computer Science or equivalent.
- Application development experience in object-oriented and functional programming languages, with strong skills in code debugging, optimization, and analytical problem-solving, preferably in Java or Python.
- Experience designing, analyzing, and troubleshooting large-scale distributed systems.
- Proven track record of taking ownership of complex problems and successfully delivering results in critical "follow-the-sun" environments.
- Excellent communication and collaboration skills, with experience working cross-functionally to plan and deploy releases.
Preferred Qualifications
- Acute drive to automate processes and replace manual operations with automated solutions.
- Proficiency in event-based and log-based monitoring systems, deployment tools, and cloud computing.
- Self-directed, demonstrating leadership potential and teamwork, with a strong desire to learn new technologies and stay updated on the distributed computing landscape.
- Experience with container orchestration systems like Kubernetes and Continuous Integration/Continuous Deployment (CI/CD) platforms like Spinnaker, Jenkins, or TeamCity.
- Strong foundation in computer science fundamentals, including object-oriented design, data structures, algorithm design, and complexity analysis.
- Experience or knowledge of implementing REST APIs in languages such as Python, Java, or Golang.
- Experience working with AWS Cloud or similar cloud environments.
- Fast learner who is generous with their knowledge and skilled at driving engagement through discovery sessions and solution positioning with executives and technical partners.