Senior Software Engineer

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

Senior Software Engineer focused on building fundamental security services, addressing identity and authorization challenges for Apple's services. The role involves designing and implementing client libraries and SDKs in multiple languages (Java, Go, Swift, Rust, TypeScript) to bolster security posture, including request verification, token issuance, authentication, authorization, and policy management.

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
  • high-performant client SDKs and libraries
  • caching
  • online and offline configuration updates
  • major version releases
  • breaking changes
  • feature flagging
  • securing APIs
  • input validation
  • mTLS
  • authentication
  • authorization
  • RESTful APIs
  • gRPC APIs

Nice to have

  • SDK architecture patterns
  • dependency injection
  • plugin systems
  • retry logic
  • error handling strategies
  • Identity and Access Management (IAM) concepts
  • RBAC
  • ABAC
  • OAuth
  • OpenID Connect
  • Policy-as-Code systems
  • Open Policy Agent
  • Rego
  • client-side security best practices
  • secure credential storage
  • token refresh patterns
  • protection against common attacks (CSRF, XSS, token leakage)
  • cross-platform SDK development
  • maintaining API consistency across different programming languages and runtime environments
  • backward compatibility strategies for SDK versioning
  • deprecation policies
  • migration paths for breaking changes
  • 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
  • Knowledge of securing APIs, including input validation, mTLS, authentication, and authorization mechanisms for RESTful and gRPC APIs