This repository contains the public question bank, survey flow, validation schemas, preview tooling, and historical archive for the Stack Overflow Annual Developer Survey. The goal is to make the survey instrument easier to inspect, discuss, improve, and maintain over time.
You can view the current live survey preview at stackoverflow-survey-preview.netlify.app. It reflects the latest deployed copy of the survey preview from this repository.
You do not need to know GitHub, YAML, npm, or code to help shape the survey.
If you want to suggest a question, answer option, wording change, or insight for the 2026 survey, start a post in GitHub Discussions. You can write it in plain English. Comments, refinements, and upvotes on other suggestions are also helpful because they show where there is community interest or concern.
Stack Overflow reviews suggestions and community feedback, but inclusion in the final survey is at Stack Overflow's discretion. Some good ideas may not fit the survey's scope, timing, methodology, legal/privacy requirements, or need for year-over-year comparability.
Title: Ask whether developers are using AI agents in production workflows
Suggestion:
Add a question about whether respondents use AI agents for production work,
experimentation, learning, or not at all.
Why this matters:
The current AI conversation often mixes casual use with production use. This
would help readers understand how widely agentic tools are actually embedded
in day-to-day professional work.
Possible answers:
- Yes, for production work
- Yes, for experiments or prototypes
- Yes, for learning or personal projects
- No, but I plan to
- No, and I do not plan to
- questions/ — YAML source files for survey questions, plus the top-level
questions/survey.yamlflow definition. - packages/survey/ — Svelte/Vite tooling for previewing the survey, validating YAML, and preparing the survey for Qualtrics.
- packages/results/ — The results site for the current survey year, built from the question bank, the year's data export, and editorial copy.
- packages/archive/ — Historical survey releases, including results data, schemas, PDFs, and static result pages.
We welcome community recommendations for questions, answer choices, wording changes, and insights the survey should be able to produce this year.
For survey content ideas, please start with GitHub Discussions rather than opening a pull request right away. A good Discussion gives the community and maintainers room to refine the idea before anyone turns it into YAML.
Useful suggestions usually include:
- The question, answer option, or insight you want the survey to capture.
- Why it matters and who would use the result.
- Whether it is new, replaces an existing question, or changes wording/options.
- Any prior art, such as related research, other surveys, or past Stack Overflow survey results.
- For changes to recurring questions, how the change affects year-over-year comparability.
Comments and upvotes on suggestions are encouraged. They help signal interest, identify unclear wording, and surface tradeoffs. They are not votes that automatically determine the final survey; Stack Overflow is responsible for the final instrument.
Use issues for bugs and PRs for focused implementation or documentation changes. See CONTRIBUTING.md for more detail.
Questions live as individual YAML files under questions/{section}/{QuestionId}.yaml. Each file's question.id is the stable handle used for response data and cross-question references.
The survey order and branching live in questions/survey.yaml. The flow file defines blocks, pages, randomization, and if/then logic. Conditional visibility is centralized there rather than stored on individual question files.
See questions/README.md for the YAML format, option keys, validation descriptors, question type mapping, and survey flow syntax.
This project is an npm workspace. Install dependencies from the repo root:
npm installRun the live survey preview:
npm run dev -w surveyValidate the question files and survey flow:
npm run validate -w surveyCheck formatting:
npm run lintApply formatting:
npm run formatThe survey package also includes:
npm run check -w survey
npm run build -w survey
npm run gen:types -w surveyRun the live survey result site preview:
npm run dev -w results- Gather — Stack Overflow decides what ships, including suggestions in Discussions.
- Author —
questions/{section}/{QuestionId}.yaml, flow inquestions/survey.yaml. Dropped questions move toquestions/retired/rather than being deleted, so their IDs stay claimed. - Check —
npm run validate -w survey;npm run dev -w surveyto walk the flow;npm run gen:types -w surveyafter a schema change.
