Sr. Software Engineer, Apple Pay

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted:
Weekly Hours: 40
Role Number: 200105618
Imagine what you could do here. At Apple, great ideas have a way of becoming phenomenal products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Do you have a proven ability to create a complex, multi-dimensional application bridging personal devices and cloud services? Are you adept envisioning distributed state and how to manage it across millions or hundreds of millions of devices? Can you negotiate and drive the realization of features from business requirements, to high level designs, to functional specifications, to actual coding implementation; while including negotiation with external partners, SREs, QA, performance testing, and end-to-end testing? Can you do this coordinating with remote locations, even internationally? Are you a strong team player that enjoys a highly collaborative environment? If you answered yes to many of the questions above, the Apple Pay Server engineering team wants to hear from you.

Key Qualifications

  • Architect and implement new features for Apple Pay
  • Write solid Java code, fitting into extensive frameworks and services, that is extremely clear, elegant, and testable
  • Design specifications and protocols to tackle novel problems
  • Support ongoing development efforts
  • Work on overall team’s efforts to fix bugs and diagnose existing issues
  • Embrace test-driven development

Description

Apple Pay brought mobile payment to millions of customers and it’s just the beginning. We are looking for engineers who are equally comfortable working at the bits and bytes level and designing state of the art objected-oriented web-services. Imagine the freedom of a startup but with the funding and focus of the most valuable company in the world. Desired Experience: - Java request handling frameworks (Tomcat, Jetty, Netty, etc.) - Relational, NoSQL, and streaming (e.g. Kafka) persistence - Caching frameworks (Memcached, Redis, etc.) - JSON, Spring dependency injection, Object-relational mappers - Threading, concurrency, scalability - Ability to use both object-oriented and functional coding techniques Great-to-have Experience: - Encryption TDES/AES, RSA/ECC, PKI - GlobalPlatform 2.2.1 - BSI Technical Guideline TR-03111 - NIST Special Publication 800-38B - EMV Tokenization - APDU/JavaCard - Asn.1 - HSM (Thales)

Education & Experience

BS degree in computer science or equivalent field plus 3-4 years software development experience or MS degree plus 1-2 years software development experience, or equivalent

Additional Requirements