Senior Software Engineer

Apple Apple · Big Tech · Seattle, WA · Software and Services

Senior Software Engineer on the ASE Security Frameworks team at Apple, focusing on building fundamental security services for identity and authorization. The role involves designing and implementing client libraries and SDKs in multiple languages (Java, Go, Swift, Rust, TypeScript) to enhance security posture, including request verification, token issuance/exchange, authentication, authorization, logging, and policy management. Requires strong programming skills, experience in large-scale operations, and knowledge of API security.

What you'd actually do

  1. designing and implementing client libraries and SDKs to bolster our overall security posture throughout the organization
  2. building Security Frameworks in multiple languages (Java, Go, Swift, Rust, TypeScript)
  3. working with our partner engineering team to ensure that these frameworks are integrated into our partner team’s services to perform request verification, token issuance and exchange, authentication, authorization, durable decision logging, policy updates and caching
  4. set high standards and deliver on ASE’s vision for our security protocols
  5. working with engineering teams as they incorporate secure practices and tools into their development processes

Skills

Required

  • Golang
  • Java
  • Swift
  • Rust
  • TypeScript
  • Python
  • API security
  • input validation
  • mTLS
  • authentication
  • authorization
  • RESTful APIs
  • gRPC APIs
  • large-scale environment experience

Nice to have

  • SDK architecture patterns
  • dependency injection
  • plugin systems
  • retry logic
  • error handling strategies
  • Identity and Access Management (IAM)
  • RBAC
  • ABAC
  • OAuth
  • OpenID Connect
  • Policy-as-Code systems
  • Open Policy Agent
  • Rego
  • client-side security best practices
  • secure credential storage
  • token refresh patterns
  • CSRF
  • XSS
  • token leakage
  • cross-platform SDK development
  • backward compatibility strategies
  • SDK versioning
  • deprecation policies
  • migration paths
  • monitoring and telemetry in client libraries
  • error reporting
  • usage analytics
  • performance metrics collection

What the JD emphasized

  • 8+ years of software development or production operations experience in a large-scale environment
  • Strong programming skills in Golang and Java
  • Knowledge of securing APIs, including input validation, mTLS, authentication, and authorization mechanisms for RESTful and gRPC APIs