Senior Software Engineer
Job description
About the role
This role shapes how critical identity and access management capabilities evolve for agentic workloads and sensitive enterprise workloads on Snowflake. You partner with product and security teams to define authentication and authorization surfaces that underpin customer trust. The focus is on delivering secure, scalable infrastructure for identity, access, and AI security features.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
What you'll do
Construct identity and access management primitives, including next generation identity providers and protocol integrations, to support modern authentication and authorization patterns.
Lead large scale project planning and execution to deliver complex identity and access features on schedule.
Set quality and speed benchmarks for code and design deliverables, ensuring solutions meet high standards for reliability and performance.
Guide technical direction through high quality code and design reviews that align with security and scalability goals.
Requirements
Bring 7+ years of industry experience designing, building, and operating large scale distributed systems in production, with recent cloud service delivery experience.
Demonstrate deep knowledge in one or more identity and access management domains such as authentication, authorization, federation, and protocols like SAML, SCIM, OAuth, OIDC, and RBAC.
Show strong mastery of database systems and database internals, including query engines and optimizer concepts.
Apply extremely strong fundamental computer science skills to solve complex problems in distributed environments.
Write robust backend services using Java, C#, or C++ with production grade quality and performance.
Hold an advanced degree in Computer Science or a related discipline.
Practical notes
This role operates in a fast growing, highly collaborative environment that emphasizes mentorship from Principal engineers.
Work is executed in the United States with adherence to Snowflake policies and local regulations.
Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
Identity and access management work underpins security, trust, and compliance for large scale cloud platforms.
Engineers in this domain work with protocols such as OAuth, OIDC, SAML, and SCIM to enable secure access patterns.
Building scalable authorization systems requires deep understanding of distributed systems and data models.
Security sensitive features demand rigorous code reviews, quality benchmarks, and sound technical decisions.
Collaboration with principal engineers and cross functional partners accelerates delivery of critical platform capabilities.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.