Senior Software Engineer, Identity Security (Golang)
Apple · Denver, Colorado, United States
Computers and Electronics Manufacturing · 10,001+ employees
About the role
The role involves creating fundamental security services to manage identities for software applications and containers at scale. The engineer will define and drive the adoption of standardized security requirements and guide teams in incorporating secure practices.
What they look for
Requirements
Requires over 7 years of software development experience with at least 5 years of production code in Golang. Candidates must have proven expertise in building large-scale distributed systems and a strong understanding of containerization and API security.
Full description
We are the Workload Identity team in the Apple Services Engineering Security org. Our team’s primary responsibility is to manage and establish identities for software applications, services, and containers to securely access cloud resources, ensuring proper authentication and authorization for these workloads without requiring manual credential management. We are expanding our team and looking to add a Senior Software Engineer who will play a critical role in ensuring our customers adhere to the latest and most effective security practices for addressing identity. We are looking for a passionate and talented technical lead software engineer who will focus on creating fundamental security services, addressing identity challenges on a large scale within the ASE organization. Success in this role requires individuals to possess a blend of profound technical expertise, extensive knowledge in security, and substantial experience in large-scale operations.
Description
Your duties in this role will include defining, advocating, and driving the adoption of a standardized set of minimum security requirements while monitoring progress. You will have direct influence on the future of our security protocols, guiding engineering teams as they incorporate secure practices and tools into their development processes.
Minimum Qualifications
7+ years of software development or production operations experience in a large-scale environment 5 + years of experience writing production code in Golang, as you’ll be working extensively with Go-based applications Proven experience building and operating large scale, highly available, distributed, and fault tolerant systems Excellent understanding of operating systems concepts including multi-threading, memory management, networking and storage, performance and scale Experience with Kubernetes, Docker, and containerization (CNCF Kubernetes Developer or equivalent) Knowledge of securing APIs, including input validation, authentication, and authorization mechanisms for RESTful and gRPC APIs BS/MS in Computer Science or equivalent experience
Preferred Qualifications
Knowledge of policy-based authorization mechanisms and engines, including Open Policy Agent/Rego or Zanzibar, policy lifecycle management principles and patterns Knowledge of authentication mechanisms, including OAuth, JWT, other identity management protocols Familiarity with incident response processes and the ability to respond to security incidents effectively Knowledge of cryptographic algorithms and protocols for securing data, including TLS/SSL, digital signatures, hashing, and encryption Hands-on experience with Systems, including the ability to configure and troubleshoot system initialization processes