Open role
Full Stack Developer (C#/.NET & JavaScript)
San Francisco, CA (On-site)
- Full-time [data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3" aria-label="Role summary">
- ]:w-full [&>.sr-only]:w-auto">
As a Full Stack Developer, you will work across the entire stack to implement features end-to-end. One day you might extend our C# backend APIs or tweak the database schema, and the next day build a dynamic front-end component for the web app. This role is ideal for a generalist who enjoys working on all parts of the system and ensuring that everything works together seamlessly for our clients.
Responsibilities
[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 gap-3" aria-label="Role responsibilities">
- ]:w-full [&>.sr-only]:w-auto">
Develop features across the full stack: design database schemas, write efficient C#/.NET backend logic, and create the corresponding front-end components (in React/Angular or similar) that bring the feature to life for users.
- ]:w-full [&>.sr-only]:w-auto">
Ensure seamless integration between front-end and back-end, debugging issues that span multiple layers (for example, tracing a data inconsistency from the UI through to the API and database).
- ]:w-full [&>.sr-only]:w-auto">
Work closely with product managers to understand end-user needs and translate them into technical solutions that cover all layers of the application.
- ]:w-full [&>.sr-only]:w-auto">
Implement appropriate tests (unit, integration, UI tests) for full-stack features to maintain end-to-end quality.
- ]:w-full [&>.sr-only]:w-auto">
Optimize interactions between client and server for performance and responsiveness, minimizing latency for real-time operations (such as live updates on dashboards).
- ]:w-full [&>.sr-only]:w-auto">
Collaborate with specialists on the team (front-end, backend, DevOps) to ensure your implementations follow best practices in each area and fit into the overall architecture.
Requirements
[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 gap-3" aria-label="Role requirements">
- ]:w-full [&>.sr-only]:w-auto">
4 years of software development experience, with significant hands-on work in both back-end (ideally C#/.NET or similar) and front-end (JavaScript/TypeScript and a modern framework).
- ]:w-full [&>.sr-only]:w-auto">
Proficiency in designing and using web APIs and understanding how web applications are structured.
- ]:w-full [&>.sr-only]:w-auto">
Solid knowledge of databases (SQL and/or NoSQL) including designing schemas and writing queries.
- ]:w-full [&>.sr-only]:w-auto">
Versatility in switching between different technologies and tackling whatever part of the stack is needed.
- ]:w-full [&>.sr-only]:w-auto">
Basic sense of UI/UX design to build front-end components that are not only functional but user-friendly.
- ]:w-full [&>.sr-only]:w-auto">
Strong debugging skills across the stack; ability to pinpoint issues whether they originate in the client, the server, or in-between.
- ]:w-full [&>.sr-only]:w-auto">
Self-driven and adaptable, comfortable with a fast-paced environment where priorities can shift as we learn and grow.
Submit your application
Provide a few details and our hiring team will reach out with next steps.
[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 gap-5"> Candidate details
- ]:w-full [&>.sr-only]:w-auto"> [data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4 has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10" data-slot="field-label" for="name">Full name
- ]:w-full [&>.sr-only]:w-auto"> [data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4 has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10" data-slot="field-label" for="email">Email address
- ]:w-full [&>.sr-only]:w-auto"> [data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4 has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10" data-slot="field-label" for="phone">Phone number (optional)
- ]:w-full [&>.sr-only]:w-auto"> [data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4 has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10" data-slot="field-label" for="linkedin">LinkedIn / Portfolio (optional)
- ]:w-full [&>.sr-only]:w-auto"> [data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4 has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10" data-slot="field-label" for="notes">Notes
- ]:w-full [&>.sr-only]:w-auto"> [data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4 has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10" data-slot="field-label" for="resume">Resume (PDF)
a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4">Optional, max 5MB.
- ]:w-full [&>.sr-only]:w-auto sr-only" aria-hidden="true"> [data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4 has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10" data-slot="field-label" for="contact_reference">Leave this field empty
- ]:w-full [&>.sr-only]:w-auto">
a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4 md:ml-3 md:text-left">We email a confirmation to the hiring team.