Software Engineer, Full Stack
Job description
About the role
Gamma creates AI features for content creation, and this role handles full-stack delivery from model integration to the frontend. Collaboration with product and design turns AI potential into polished, everyday user experiences.
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
The design and shipment of full-stack AI features use LLMs and image generation models to support content creation for millions of users.
AI workflows are built, optimized, and evaluated through Gamma's in-house JSX-based prompting framework to standardize behavior across products.
AI performance and cost at scale are balanced to maintain speed and reliability without sacrificing quality.
Requirements
At least 3 years of full-stack web application experience is required, with strong fundamentals in TypeScript, React, and Node.js or similar technologies. These skills underpin reliable feature development.
Production experience with LLMs, prompt engineering, or AI/ML systems is expected, along with genuine curiosity about new models and capabilities. This ensures thoughtful implementation of AI features.
Solid familiarity with frontend engineering, data models, state management, and API design is necessary to enable robust and maintainable integrations.
Strong product sense is needed to convert technical AI capabilities into clear user value and align engineering effort with user and business outcomes.
A self-driven, curious mindset that matches technical skill is mandatory because the field evolves quickly and requires continuous learning.
Hands-on experience building AI-powered consumer products or working with image generation models is a plus that accelerates delivery on complex features.
Practical notes
The team maintains an in-office culture with 4-5 days per week in San Francisco, while allowing flexibility to work from home for focused work. 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
AI features depend on large language models and image generation models to drive core user workflows. Prompt engineering shapes how models behave inside complex software systems. Modern frontend frameworks and Node.js power interactive, real-time user interfaces. Observability and cost monitoring are essential when serving millions of requests. Cross-functional collaboration with product and design creates user-centric experiences from technical AI capabilities.
Questions to ask
Worth asking in any interview: how the team measures success, who the role works with daily, what the onboarding looks like, and what the company is trying to achieve this year. Asking what past hires did well is a strong final question. Keep the list short and pick the questions that matter most to you.
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.