Senior Software Engineer(Amsterdam)
Role details
Job location
Tech stack
Job description
You'll work with a good deal of autonomy, owning meaningful pieces of our identity and access platform end-to-end, spotting problems worth solving, and contributing to the team's technical direction. You'll also help raise the bar around you through code and design review and by supporting more junior engineers., * Design and own authentication and authorisation systems end-to-end: SSO, OAuth/OIDC, SAML, organizations, projects, API keys, and role-based / attribute-based access control
- Make and document the technical decisions that shape how identity works across every Together product
- Build across the stack - Elixir/Phoenix services on the backend and TypeScript/Next.js on the frontend - and the APIs other teams build on
- Contribute directly to our Next.js product surface and the API layers behind it
- Run the Elixir/Erlang VM (BEAM) in production
- Identify and address technical debt and security risk in our area with sound judgment
- Treat code and design review as a core part of your contribution, and mentor more junior engineers
- Represent the team in cross-functional discussions on identity and security
- Maintain our systems to a high standard of code quality, documentation, automated testing, and continuous delivery
- Work with relational (PostgreSQL) and non-relational (MongoDB) data
Requirements
Do you have experience in TypeScript?, * Around 4-5 years of professional experience building production software (a mid-to-senior role rather than a staff-level one)
- Experience with authentication and authorization in production - OIDC, SAML, OAuth, JWT, RBAC, ABAC, and SSO - with a real understanding of the security tradeoffs involved
- Strength in at least one of: functional backend (Elixir/Phoenix or another functional language such as Erlang, Scala, Clojure, Haskell, F#, or OCaml) or TypeScript (backend and/or frontend, for example with Next.js)
- Strong technical judgment, with a track record of maintainable, well-crafted solutions
- Comfortable breaking ambiguous problems into executable work and using prototypes and demos to de-risk
- Treats code and design review as a core part of their contribution, and helps develop the engineers around them
- A clear communicator who influences peers through strong technical output
- Willing to become proficient in Elixir and Phoenix if not already
Benefits & conditions
Pulled from the full job description
- Flexible schedule, We offer competitive compensation, startup equity, and other competitive benefits. Our salary ranges are determined by location, level and role. Individual compensation will be determined by experience, skills, and job-related knowledge.