Beer & Servers Don't Mix

The Survey Paradox: Why Less Is More in Developer Feedback

“The art of being wise is knowing what to overlook.” — William James

If you’ve ever watched a developer’s face glaze over at the mention of “just one more quick survey, it’s short I promise” you’ve witnessed survey fatigue in its natural occurrence. We’ve all been there — sitting in leadership meetings, questioning the subjective survey data, convinced that if we just ask developers more questions next time, we’ll finally crack the code to engineering productivity problems. But here’s the uncomfortable truth: more survey data doesn’t equal better insights. In fact, they often achieve the opposite.

The Data Trap We All Fall Into

At Agoda, we’re obsessed with data. Perhaps too obsessed. When you’re running a platform that handles millions of travel bookings, data-driven decisions aren’t just preferred — they’re survival. But somewhere along the way, we discovered that our hunger for metrics was creating a different kind of problem: survey fatigue to the point that our feedback quality was plummeting faster than a poorly optimized database query.

“In the beginner’s mind there are many possibilities, but in the expert’s mind there are few.” — Shunryu Suzuki

This zen principle applies perfectly to survey design. When we approach feedback collection with a beginner’s mind — focusing on what truly matters rather than what we think we need to measure — we often discover that less really is more.

The LinkedIn Lesson: Context Is Everything

LinkedIn’s engineering team discovered something fascinating when they ditched their quarterly developer surveys in favour of real-time feedback. They found that over 90% of people rating specific tools hadn’t used those tools in the 6 months before the survey was released. Imagine making architectural decisions based on feedback from developers who hadn’t touched your CI/CD pipeline since the last major version update.

But here’s where it gets interesting: LinkedIn managed to double their survey participation population from roughly 15% to over 30% with their real-time approach. They achieved this not by asking more questions, but by asking the right questions at the right time.

The Four Pillars of Effective Developer Surveys

1. Keep Them Small

You know that feeling when you see a 47-question survey about “developer experience optimization”? That’s your users’ exact feeling too. Every additional question is a tax on participation. We’ve found that surveys with 5 questions or fewer consistently outperform longer ones, even fewer questions down to micro-survey foramt, get even better submission results. In one survey we started with a thumbs up/down, which we immediately send data, if they choose thumbs down we prompt for one more multi choice question, that is optional that they can dismiss, this was the smallest and highest submission rate we have, it’s also a common pattern these days for feedback, people are copying the “like” buttons from social media as it’s become more ubiquitous and therefore familiar to users.

2. Remove the Friction

If your survey requires three login steps and a CAPTCHA, you’ve already lost. Fast-loading pages, no authentication hoops, and mobile-friendly designs aren’t nice-to-haves — they’re requirements. We started using Slack forms for internal surveys and saw response rates jump 40% overnight. Why? Because developers live in Slack anyway. Another effective one is anonymous google forms, they load “fast” unlike office 365 forms, which I would shy away from due to login/loading times.

3. Strike While the Iron’s Hot

Memory is unreliable, especially when you’re context-switching between seven different microservices. Ask about the deployment experience right after the deployment, not three weeks later during your quarterly review cycle. LinkedIn’s real-time feedback approach worked because they captured sentiment when it was fresh, not when it was convenient. We configured gitlab webhooks to send to an event stream, then consuming from this are able to trigger surveys based on global event types, like Merged MRs, then set conditional logic on it like “When Merged MR, and User has not contributed to the Repo before”, to do things like get feedback on first time contributing experience from engineers.

4. Use Familiar Tools

Don’t make developers learn a new platform just to complain about your platform. If they’re comfortable with Slack, use Slack. If they live in Jira, meet them there. The goal is feedback, not user adoption of your survey tool.

The Anti-Patterns That Kill Response Rates

The Forced March

Picture this: It’s 3:47 PM on a Friday. Your Product Owner has been breathing down your neck all week about getting that critical feature into production and the experimented turned on. You’ve finally got your code reviewed, tests passing, and you’re about to hit merge when suddenly — boom — a mandatory survey blocks your deployment: “Please help us improve your developer experience!”

In that moment of pressure and stress, how much do you really care about thoughtfully rating your CI/CD pipeline experience? You care about exactly one thing: getting past this obstacle so you can deploy and go home.

We once made the mistake of making a survey mandatory before you could merge your changes. The results were useless. Nearly 90% of respondents gave us the feedback equivalent of “next, next, next, finish” — responses were essentially blank, just to get through the requirement. Forcing feedback is like forcing creativity; you’ll get compliance, not quality.

Encouraging feedback is better though, doing things like giving away t-shirts or coffee cups for contribution is better.

The Survey Spam

Survey fatigue is real, and it’s measurable. We tracked one internal survey that started with a 20% response rate. After a year of no visible action and no communication back to responders, it dropped to 4%. People don’t just ignore surveys — they actively avoid them when they feel like they’re speaking into the void.

The Australian Wisdom: A Segment Is Good Enough

Here’s a fact that might surprise you: Newspoll surveys approximately 1,500–1,800 Australians to represent the views of 26 million people. That’s roughly 0.007% of the population, yet it consistently predicts election outcomes with remarkable accuracy.

The principle applies to engineering teams too. You don’t need to hear from every developer to understand your pain points. If you have a representative sample and you’re asking the right questions, 30% participation can tell you more than 90% participation of people who are just clicking through.

Close the Loop or Lose the Game

The most critical aspect of any feedback system isn’t the collection — it’s the action. When people see their feedback materialize into actual improvements, they become invested in the process. When they see it disappear into a requirements backlog, they check out.

Survey fatigue is real, and it’s measurable. We tracked one internal survey that started with a 20% response rate. After a year of no visible action and no communication back to responders, it dropped to 4%. People don’t just ignore surveys — they actively avoid them when they feel like they’re speaking into the void.

We learned this lesson the hard way. One of our repository feedback surveys went from hero to zero in twelve months. The decline wasn’t gradual — it was precipitous. Developers stop caring about giving feedback when they realize leadership doesn’t care about acting on it.

Actions Speak Louder Than Surveys

Before we dive into the path forward, let’s address the elephant in the room: sometimes the best survey is no survey at all. While objective data can’t capture everything, it often tells a more honest story than subjective feedback for behavioral questions.

Think about it — if you want to know whether developers are struggling with test friction, why ask them when you can measure it? At Agoda, we built telemetry into our test runners to collect this data automatically. Using plugins like our open-source devfeedback-js for Jest and Vitest, and dotnet-build-metrics for NUnit and xUnit, we can track what tests developers actually run locally and compare that to what runs in CI for the same branch. If developers consistently skip running tests locally and rely entirely on CI feedback loops, that tells you everything you need to know about local test friction. And sometimes it’ll be more honest and accurate than the answer to the question “do you run tests locally?”.

Want to identify flaky tests? Don’t survey developers about their “test reliability experience.” Set up scheduled runs on your master branch and measure the success rates. In theory, master should be 100% green. The further any test deviates from that, the flakier it is. Hard data, no opinion required.

Similarly, when we rolled out test containers to make local testing easier, we didn’t ask developers if they found it useful — we measured adoption. We compared the unique users actually running tests locally against unique users creating merge requests per repository. The gap between those numbers told the real story about whether our test containers investment was working, we knew exactly how many people were running locally, and saw it increase.

We can even measure our shift from unreliable QA systems to mocks by analyzing merge request diffs looking at if people are touching/using mock code. Are teams writing more unit tests with mocks, or are they still depending on integration tests against flaky QA environments?

But here’s the crucial nuance — not everything should be measured objectively. When we ask developers “How confident are you that our integration tests catch real-world issues before code reaches production?”, we’re measuring something far more valuable than test coverage or mutation scores: trust. You can infer confidence from usage patterns and coverage metrics, but at some point, you need to ask the human question. A developer might have 90% test coverage and perfect mutation scores, but if they still push to production with their fingers crossed, that confidence gap is worth understanding through direct feedback.

The key is knowing when to measure and when to ask. Behavior is best measured. Feelings — especially trust, confidence, and satisfaction — sometimes require the subjective approach. Trust in software engineering is particularly important, especially when it comes to tests and CI.

“Trust is built in drops and lost in buckets.” — Kevin Plank

The Path Forward

The next time you’re tempted to add “just one more question” to your survey, remember William James’s wisdom about overlooking the unimportant. Ask yourself: Is this question helping me understand what’s broken, or am I just feeding my data addiction?

Good surveys are like good code — they do one thing well. They capture the insight you need to make the next decision, not every piece of data you might ever want to analyze.

The goal isn’t to survey developers into submission. The goal is to create feedback loops that actually loop back into better experiences. Because at the end of the day, the best survey is the one you don’t need to send twice.

“The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge.” — Stephen Hawking

Don’t let survey volume create the illusion of understanding. Sometimes the most profound insights come from the simplest questions, asked at exactly the right moment.

Have you experienced survey fatigue in your organization? What strategies have worked for you in gathering meaningful developer feedback? The conversation continues — and hopefully, with fewer surveys involved.