Featured image of post Stack Overflow Bounties: The developer's "Get Out of Jail Free Card"

Stack Overflow Bounties: The developer's "Get Out of Jail Free Card"

A proven way of getting your questions the attention and answers you need

Stack Overflow has been with me since the beginning of my engineering career. I made an account in my first coding internship, where I got the communities’ help to solve some sticky problems.

Years later, I still use it regularly and have slowly gained some reputation which has granted me different privileges, such as commenting on posts, up/down voting and what I’ve found most helpful, setting bounties.

At the time of writing, I’ve used bounties twice, and it truly has felt like a ‘Get Out of Jail Free Card’. It helped me get the answer I needed at the time I needed it.

So let’s go through what they are, if they are actually helpful and the times I’ve used them.

To help show my thoughts here aren’t just anecdotal, I’ve found a fantastic research paper Bounties on technical Q&A sites: a case study of Stack Overflow bounties (2020)1 which looked at ~130k bounty questions. They found some very interesting insights which I’ll share alongside my thoughts.

What is a Stack Overflow bounty?

Bounties were first introduced on January 27, 20092 and looking at questions asked between September 23, 2011 and August 27, 2017, bounty questions accounted for 129,202/12,359,663 (just 1%!) of all questions1. This is seemingly small, but as we will discuss in the next sections, their impact is big. So what is a bounty?

“A bounty is a special reputation award given to answers. It is funded by the personal reputation of the user who offers it, and is non-refundable.”

Stack Overflow - What is a bounty? How can I start one?

The above from Stack Overflow explains it really well and contains other helpful info about it which is worth a read alongside this. For me, though, here is how I like to think about bounties.

“A bounty is a straight-forward way of getting more eyes (and hopefully answers) on your question than you’d otherwise get.”

– Troy Poulter (Me)

How much rep do I need to set a bounty?

Take a look at the set bounties privilege, you need to have at least 75 reputation to set one.

This can be tough for new starters but once you get there, as you’ll see below, it’s worth the time investment.

A bounty can sometimes repay itself!

When I’ve put up a bounty, I have usually recouped the reputation through increased traffic, votes, comments, answers etc.

If your question is in a popular tag like C# or a common UI framework like MUI, the higher the chance you’ll get back the reputation you put in (and maybe more).

What impact does a bounty have on your question getting answered?

Now, the important part, which is why we are here. “How much does a bounty actually help my question get answered?”. In short, a lot.

Overall, a bounty question is 66% likely to be solved compared to a non-bounty question at 49%. That’s a 30% higher chance of a question being answered1. But this is just the overall figure, the paper is fascinating and delves into the different factors like bounty amount, no. of people subscribed to the question’s tags etc.

Let’s go through some questions which come to mind and see how the research can help us answer them.

Does a higher bounty mean a higher solving likelihood?

Fig. 1 A chart adapted from the research paper1 showing the correlation between bounty value and solving-likelihood.

Yes it does, the paper found that the lowest bounty value 50 has a solve rate of 62% with the highest having 87%.

Does a higher bounty mean a quicker solve time?

Fig. 2 A chart directly from the research paper1 showing the correlation between bounty value and solving-time.

Note: I wasn’t able to find the raw data so no interactive chart sadly.

You’d think with a higher bounty that the question would be solved sooner, but the paper found the bounty value has no material impact on it being solved quicker.

As I thought about this and dived into the paper more, it does make sense.

The higher bounty questions I’ve seen are usually quite long with obvious amounts of research done to answer them so well. Which means they’d need more time to write it.

Other potential factors

We are mainly interested in whether a bounty does impact your question positively, and the above covers that. I also want to highlight that the paper discusses other factors impacting success of a bounty.

Here are the general themes for simple digestion:

  • Tags: The larger the community behind the tag, the higher the likelihood of an answer. For example, a tag community between 10,000 and 100,000 has a bounty question solving-likelihood of 70% compared to 55% for non-bounty questions.
  • Quality of the question: Things such as no. of code snippets, length of question, how many votes/answers a question had already received etc. For example, a bounty question without an answer has a solving-likelihood of 59% while if it has more than three answers, this goes up to 90%.

Halfway point takeaways!

  • Bounties get questions solved more.
  • The higher the bounty, the higher the solve-likelihood.
  • A higher bounty does not mean a faster solve time.

How I used bounties

I’ve used bounties twice so far, where both have been to help me solve a work project challenge I didn’t have the time or skills for. I’ll share a bit more info about each of them and may in the future do a post about how to implement them in a more thorough example, but for now, let’s get into it.

Example 1 - React Material UI nav tabs issue

Stack Overflow Question - React Material UI - Handle nav tabs when no children match the provided value.

I was starting a new project at work where I was building a brand-new React website for an internal tool. Trying to use the latest versions of packages, such as React Material UI v5 which released around the same time (September 2021), was great as the new version tackled a lot of previous gripes with MUI as a UI framework.

I had just built the first two pages and was implementing the header with the handy Nav tabs component, so the tab would highlight based on the page selected. I was hoping to get this done soon, so I could show a more complete POC for the early project.

But for the life of me, I couldn’t get it to work the way I wanted (check out the question for implementation info).

So I posted the question, waited the two days you need to, but still had zero, zilch, traction. I then decided to place a 50 reputation bounty.

Less than a day later, I had two quality answers where one of them solved it perfectly.

I was able to implement it, finish off the POC and keep moving forward, it was great!

Now this stemmed from the docs themselves not covering every different scenario and one day I may raise a PR and add a scenario like this to their docs, but the beauty of Stack Overflow is other people with the same question can very easily be led to your question.

At the time of writing, this question has 586 views along with this very kind comment:

“Great question, I had a similar issue but there were no questions in SO matching with the keywords I was using to search for this issue.”

@neelmeg

Example 2 - Creating a custom nested object based on a list of file paths

Stack Overflow Question - Create nested object from array of objects based on path property.

This question title wasn’t quite as good, and I may update it if I can think of something better (am open to suggestions) but this problem came up on the same work project.

One of my team members was using the MUI TreeView component to build a file tree, and this required us to organise our data into a hierarchy for it to work. Seemed like not too big of a problem, needing some sort of leetcode-esque algorithm.

We found fantastic answers like this which put us on the right track, but we had an additional requirement. We needed to add metadata depending on where in the tree it is, for example either a file or a folder. Our data looked somewhat like this:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
interface FileInfo {
    id: string;
    path: string;
}

let files: FileInfo[] = [
  {id: '1', path: '/root/library/Folder 1/Document.docx'},
  {id: '2', path: '/root/library/Folder 1/Document 2.docx'},
  {id: '3', path: '/root/library/Folder 2/Document 3.docx'},
  {id: '4', path: '/root/library/Document 4.docx'}
];

This required a more complex approach and at the time, the team had other priorities than to build this out. So thinking back to the earlier success I had with bounties, we put together the question, waited the two days with no traction, thought it was more complex on a less popular topic so put 100 rep behind it and posted it.

And again, less than a day later, I had a quality answer.

Their answer was fantastic.

After some slight modifications, clarifications and the team doing some more tweaking, we had a fully working solution which is now running like a charm.

For us to write this ourselves, where our team wasn’t strong on algorithms as they were deep in building out a website, would have really set this component back. Using bounties saved us quite a lot here and though not as popular as my previous bounty question, it currently has 116 views and if any of those other viewers can solve their problem because of this, it was even more worth it.

Wrap up

We’ve gone through what Stack Overflow bounties are, the absolutely huge impact they can have on your question getting answered, and some of my experiences using them. I’d encourage you to make sure you have a Stack Overflow account, get some reputation and have the minimum 75 ready for a time you may need help from the community and need that extra push to get it solved.

Finally, a big thank you to the research paper Bounties on technical Q&A sites: a case study of Stack Overflow bounties (2020)1. The research these authors did made writing this article a lot simpler and more insightful.

I hope you enjoyed reading this post as much as I did writing it. This is my first go at a proper blog post and hopefully there’s more to come!


  1. Zhou, J., Wang, S., Bezemer, CP. et al. Bounties on technical Q&A sites: a case study of Stack Overflow bounties. Empir Software Eng 25, 139–177 (2020). https://doi.org/10.1007/s10664-019-09744-3 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  2. https://stackoverflow.blog/2009/01/27/reputation-bounty-for-unanswered-questions/ [^0] : Photo by Unsplash ↩︎

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.
Built with Hugo
Theme Stack designed by Jimmy