On 2013-11-15, we were given a review about our beta progress. On 2014-04-10, we also got some feedback from Stack Exchange Community Managers @GraceNote and @Pops.

One of the concerns that was raised about the health of our community is that we have too many one-time contributors, and need more repeat customers.

So, I'd like to ask:

  • What ideas do you have to help turn one-time contributors into repeat customers?
  • Maybe don't know the answer to that, but most of you who are reading this are avid users of the site yourselves. Perhaps you could just speak for yourself — What brings you to Code Review today, and why do you keep coming back?
  • Is there anything we are doing that might be driving away the kind of user that we want to keep?
  • What Data Explorer queries could yield insight into the user-retention problem?

16 Answers 16


What ideas do you have to help turn one-time contributors into repeat customers?

More helpful, polite comments. More voting on their posts. Being more friendly to them. Personally inviting them to our chatroom. We also need to dispel the myth that you have to know the language inside & out to review code.

We need to stand out from other Stack Exchange sites. Those are just a few simple ways that we can do that.

What brings you to Code Review today, and why do you keep coming back?

Honestly, I just come around to have a friendly chat with people in the chat room.

Warning: the following may be a tear-jerker (but probably not)

When I first joined this site (back in the dark ages), I didn't really feel a sense of belonging. All I really wanted was to have some of my code reviewed, and then I reviewed a bit of Java code (which I wasn't that proficient in) so I wouldn't be considered a "one and done" user. Then I went on my merry way to another Stack Exchange site.

Fast forwarding periodically through time, I occasionally find myself back on Code Review. I would upvote a few of the questions from Code Review that appeared on the "Hot Network Questions", and note that some user named Jamal had edited the question. Then I would leave again.

One day I stumbled back onto the site, and noticed a meta post about the community voting on some new moderators. I saw Jamal had put himself up for the election, so I voted for him due to my past observations of his moderation patterns. I then left again.

Fast forward a bit (out of the dark ages), I again find myself on Code Review. For some reason, I decided to join the chat room. I had never really been in a Stack Exchange chat room before, so I'm not sure what made me decide to go join one right then and there. But I was glad I joined.

I was instantly greeted by Simon, rolfl, Jamal, and retailcoder (a little bit later I met Malachi). I was impressed by the improvement in quality that I had seen since Jamal had been elected as a moderator, and how friendly everyone was to me when I was just passing by.

Since then I committed, not just to getting this site out of graduation, but to making this the best damn Stack Exchange site on the network.

I quickly climbed up the reputation ladder, aiming to make my mark in peoples minds as the best programmer on Code Review. I focused on quality reviews over a large quantity of reviews, and rose up to be the 2d top reviewer on the site.

I'm terrible at conclusions. Anyways, as of recent my personal schedule has eaten up my time and I have not been able to review as much code. I still try to keep my presence in the chat room to bring that same friendliness that I received to others. Hopefully you can aid me in my commitment, and steer this great site out of beta and into the realm of graduation.

Is there anything we are doing that might be driving away the kind of user that we want to keep?

I can't think of anything that we are doing wrong, but I am biased since I am an addict to this site. One thing that may drive some people away is overwhelming them with information. All of the memes we use, all of the acronyms we say, all of the rules we abide by; it's a lot to take in all at once by "outsiders". And I'm not sure if that is something we can fix easily, or change at all.

  • 1
    \$\begingroup\$ So my editing is driving people away. It all makes sense! D: \$\endgroup\$ – Jamal Mod Apr 11 '14 at 2:48
  • 7
    \$\begingroup\$ @Jamal Good joke! People do notice the higher quality of the posts here over other Stack Exchange sites. You are the one that makes that happen! :) \$\endgroup\$ – syb0rg Apr 11 '14 at 2:54
  • 5
    \$\begingroup\$ Now you're really gonna make me cry. :'-) \$\endgroup\$ – Jamal Mod Apr 11 '14 at 2:55

Before I answer, I wonder how many programmers really understand the importance of code reviews in the lifecycle of software construction. It was not until I read this blog post that I realized the impressive evidence showing that code reviews significantly reduce bugs.

Doing code reviews saves developer time in many ways:

  • You catch more bugs: a lot easier than discovering later and tracking down from obscure side effects!
  • Keep all team members up to speed: if all commits/branches are code reviewed, then at least 2 programmers will know well every code change
  • Code reviews produce better code: more eyes see more, the resulting is the very best of at least 2 developers instead of one. Better code is easier to maintain, and so less work in the future

I'm spreading the practice everywhere, from work to personal projects. I use what I call the code-review workflow (the same thing probably exists by other names too): new development is on a non-master branch, and the author must ask another team member to review and merge the branch into master. That's it in a nutshell, simple and effective. Tools like GitHub and GitLab make this trivially easy to implement.

I wanted to clarify the above to stress that this site is very relevant, and in strong contrast with Stack Overflow. The special focus on improving and optimizing code that already works, and on validating good practices, makes this site unique and distinct from Stack Overflow.

What brings you here today?

Normally I come here to answer questions. Although I get plenty of practice doing code reviews at work and privately every day, it's always good to get exposed to a different audience. You learn more new things from outside of your regular circles, so it's good to come back here from time to time to sharpen the saw.

But today in particular, I happen to be here because of the kindness of the community. Yesterday I discovered the chat rooms (thanks again @syb0rg!), where I got a bunch of good tips for hunting questions and for building rep. This kind of reaching out by the community got me more interested.

What ideas do you have to help turn one-time contributors into repeat customers?

Keep doing what you're already doing:

  • Keep rewarding good contributions generously
  • Keep the quality up. Right now it's higher than Stack Overflow
  • Stay friendly to newcomers
  • Stay active, and engage the community with posts like this question and the ideas you're contemplating on the blog

... why do you keep coming back?

I feel more appreciated here compared to Stack Overflow. Maybe because of the smaller volume, it's more likely that good contributions don't get overlooked. This is a good place for programmers who pay attention to details.

Stack Overflow is overcrowded. By contrast, this site is still quite young, which implies some advantages:

  • Here, you can still stand out. It's a good opportunity for all.
  • The community is friendly and encouraging. SO can be pretty hostile sometimes...
  • The privilege levels are set lower (for now), so it's easier to reach the coveted trusted user level at 4000 rep as opposed to 20000

Is there anything we are doing that might be driving away the kind of user that we want to keep?

I'm still very new here. So far it's been all very great, no negative experiences whatsoever.

  • 11
    \$\begingroup\$ Thanks for your contributions! Don't worry, the fun doesn't stop at 4k - once you get there, you'll want to get to 10k and then to 20k, so you can keep your hard-earned privileges after the site's graduation! :) \$\endgroup\$ – Mathieu Guindon Apr 12 '14 at 17:24

What brings you to Code Review today, and why do you keep coming back?

I will, of course, answer this as a non-moderator (I have to stay active to perform my duties):

Besides the benefit as a CS student, I'm still here because this strongly-committed and encouraging community makes me smile. This is an important aspect of programming -- communicating with fellow programmers, even with ones who "speak" a different programming language.

I am always looking out for code that I can review (primarily C++, C, and some assembly), but I also want to support others by giving them my vote if I like their content. But this is not just for fellow answerers. When I see a user, new or old, coming in with some code for review, I know that they're looking to make their code better and to improve their craft. Programming doesn't just involve writing something to get the correct output. It's still based on language, and with any language, cleanliness helps get the point across better. That's what this site is for -- to promote clean and effective code.

I do still appreciate the fake Internet points, but I especially like to consider my questions, and especially my answers, as my own work. Another important aspect of programming is learning how to read others' code to not only help others become better, but to become better at reading code not written by yourself. If we all could judge our own code and clean it up ourselves, then why peer-review? You simply cannot get better if you just keep your code to yourself. I believe this site is very nurturing in this aspect, and this is something that really keeps me hooked.

Okay, fine, I'm just here to edit posts, but would prefer not to propose Edit Review SE... ;P

  • 10
    \$\begingroup\$ +1'd just for the last line. I knew it! ;) \$\endgroup\$ – Mathieu Guindon Apr 10 '14 at 23:22

What brings you to Code Review today

Self-centered post? All about me?

Last September & October were tough, at work. I was dealing with a performance problem in a large software application, and I needed to do repeated 1-hour runs, then analyze the results, fix/tune the system differently, then rinse & repeat. The 1-hour runs were the worst. Nothing to do except make sure the run does not fail.... and the solution was to browse the web with one eye monitoring the logs. Stack Overflow was where I went to dabble away at 'things'. It was fairly effective whack-a-moling the questions that come up there...

enter image description here

Then, an odd thing happened on Halloween '13. Someone posted a question to SO about an they were given, and I started writing up an answer for it, and ... curses ... the question got migrated to Code Review!!!

I found the concept of the site intriguing, and I pottered around for a week or so answered a few questions, and discovered the meta site in early November. Seems there was an election going on. Then GraceNote♪ reviewed the site, and in response, Mat's Mug started the Call of Duty. I figured I could help.... I am not sure what directed me to the chat room, but this was my first post there:

Nov 21 '13 at 1:25 , by rolfl

I can start ammo-unloading in the #java .... (just joining the fray)

And, it has looked good ever since:

enter image description here

Why do you keep coming back?

I like helping people, and I like people who like helping people.

It's a good crowd, and it makes a real difference in the real world. I like the task, the community, and the impact Code Review has.

Also, it appears I am addicted....

  • 434 answers

  • Average 135 rep per day since joining

  • 13.5K messages in the 2nd Monitor....

  • Never missed a day ... ever:

    enter image description here

  • 4
    \$\begingroup\$ I like helping people, and I like people who like helping people. This really sums it up. Even though the purpose of the site is to criticise, it is done in a wonderfully supportive way. \$\endgroup\$ – trichoplax Apr 14 '14 at 20:12

What ideas do you have to help turn one-time contributors into repeat customers?

I know this has been discussed a lot on Meta, so it might be beating a dead horse. But I think the biggest turnoff for potential contributors is the lack of voting. I know that when I first joined Code Review, I would put 30 minutes or more into a complex and detailed answer and garner maybe one or two upvotes for it.

By its very nature, performing a code review is a time-intensive process, and users expect (reasonably, in my opinion) to be compensated proportionately for that time and effort. And "proportionately" is defined in relation to other sites in the Stack Exchange network (even if that's not appropriate or a valid way of thinking, that's how it is). On other sites, even a one-minute, one-paragraph answer can garner 3+ upvotes, and a well thought-out one which really delves into the issues is pretty much guaranteed 5+.

If you want people to keep coming back, give them more upvote notifications and more of the meaningless points next to their name. :)

What brings you to Code Review today, and why do you keep coming back?

I come back for two reasons:

  1. I genuinely enjoy helping other people improve as programmers and consider myself (rightly or not) knowledgeable enough in Java to really contribute to that.
  2. I'm putting a lot of effort into improving at Python, and the feedback I get here is very helpful, especially for figuring out things like naming and formatting conventions (which, in Python especially, is hard to glean from just reading other peoples' scripts and all the conflicting styles in the APIs).

Is there anything we are doing that might be driving away the kind of user that we want to keep?

Actually, I think the community here at Code Review is one of the best on the Stack Exchange network. Whenever a new user comes and posts a question which isn't meant for this site, I've always seen them get a very kind welcome message and a likewise kind explanation of why their question doesn't belong here. And these almost always include an invitation to come back to the site once they get their code working. Really, that's very incredible for Stack Exchange, which is known for its brutality and, frankly, elitism. There's not much of that vibe here, and that's awesome.

The only thing that might drive away people is, like I said, people not getting compensated "proportionately" for their effort.

But seriously... even though I'm not one of the top users on this Stack Exchange site, I'm actually very glad to be part of the community here. On StackOverflow and other sites on the network, I feel like I have to combat the harsh brutality that others bring to newbies. Here, it really seems like a nice group of people, and the culture is great. Maybe that will change if and when Code Review becomes a lot bigger, but a guy can stave off disillusionment as long as possible, haha.

One more thing I just thought about: sometimes, one wants to contribute but can't find anything to contribute on. This is because most questions already have one or two very well-written answers, and it seems like that's completely sufficient for the OP. It would be good if we could encourage people to think about the site differently, so that multiple thorough answers on the same question didn't feel redundant or like you're stepping on the other answerer's toes.


I'm pretty new around here and I'm completely new to programming.

When I first started using stack overflow I ended up asking some pretty dumb questions (How to use Scanner LOL) which in turn resulted in me lacking any rep or in turn any help.

I feel here you can ask more generalised questions, stack overflow seems to be so specific and not really focused on any of the learning aspects of coding. I want to do this: give me this code that does it, is how it feels there.

Most people I've made contact with here via the 2nd Monitor or via questions have always approached me as a beginner, they always give me answers that in turn makes me ask more questions. Here I'm always learning, I'm not handed some code that works. I'm handed advice and alternatives that make me research and learn further.

My first question here Is what really sealed the deal, the answers were brilliant and really helped me.

The next day I joined the 2nd monitor and was instantly greeted by Simon and Vogel who both then continued to help me with my question. The 2nd monitor is great although I don't understand half of the technical stuff that is being discussed :P Its really good to see that you guys genuinely care about the questions, asking each other if their own answer is good enough etc.

So I'm here today because 1. The learning experience is unmatched. 2. The community is exceptional.


I'll also contribute my bit here. I started on CR not too long ago by sometimes putting up interesting pieces of my code on this site in order to get more interesting views (answers) upon them, such that I could improve my own mindset.

Then I got a very kind invite to the chatroom, and I decided to try it out, because why not? My recent internet chat activity had gone down, and I still would like to talk about interesting things and having an extra channel surely would help.

Now onto the asked questions, one of them being, what makes me come back, something I do need to say is that I am a quite active SO person, especially since , and that I like to help others and provide sufficiently detailed answers such that it actually attracts votes.

What makes me come back?

  • From time to time I have good pieces of code available which is dare to put up for review.
  • I'm a regular visitor of The 2nd Monitor, though this does not mean that I actually visit the site, but I at least visit the people of the site.
  • Sometimes questions appear in the Hot Questions tracker when I'm browsing on SO's tag.

A piece of advice

Lastly I'd like to add a piece of advice, namely the following one: It would be nice to have some form of default answers available, showing which general points of code you should address, such that there is a fundamental basis available for your answer. It should of course be filled with reviews of the code of the OP. I'm sure some users have such lists available, but it would help newcomers.

  • 1
    \$\begingroup\$ Having resources to link to in order to explain common problems in depth could be useful. I think we should be careful not to give canned responses, though, as that would hurt the user experience. \$\endgroup\$ – 200_success Apr 11 '14 at 18:17
  • 1
    \$\begingroup\$ @200_success Is there a possibility on showing a bulleted list of common things you should address close to the answering field? \$\endgroup\$ – skiwi Apr 11 '14 at 18:44
  • \$\begingroup\$ @skiwi - post that as a meta question... ;) \$\endgroup\$ – rolfl Apr 12 '14 at 1:56
  • \$\begingroup\$ Did that meta question ever happen? \$\endgroup\$ – RubberDuck Oct 8 '14 at 14:06
  • \$\begingroup\$ @RubberDuck I don't think so \$\endgroup\$ – skiwi Oct 8 '14 at 15:19

Whenever I would go to answer a question, I kept being greeted with a competing answer. Usually it was the same person, @retailcoder. It was actually starting to get on my nerves a little bit, along with long comment strings that were really giving everyone the wrong impression of each other. This is when the chat started up. If I remember right, it was @Jamal and @retailcoder setting me straight about some part of coding that I didn't quite understand; that really sparked the three of us chatting it up in what is now called The 2nd Monitor. This really cleared things up for me. In this clarity was born the star addict and other favorite characters like the Monkey and the Robot. Some have come and gone (they don't chat as much anymore) and we miss them, such as kleinfreund. Others seem to lurk in the shadows a bit (Loki Astari) and some would like us to think that they live in the shadows (Morwenn).

We have grown from a small community of chatters into a diverse group that probably sees more activity than most chat rooms on Stack Exchange. But it's a good thing because it helps us understand that we aren't horrible trolls calling other people's code trash because we are ornery being kept in the basement of a large office building. We all have a kind heart and are willing to help you understand whatever code questions you have.

And we might even create some fun internet memes that will last as long as the site while we pass the time.



I guess all of the above is just saying that I think of everyone there in chat as a friend. some more than others but all friends. There are Many that I haven't listed in this post either, and every single one of them has an expertise and an area that they have helped me grow in my coding experience, or even general experience.

  • 3
    \$\begingroup\$ I was getting on your nerves? lol.upvoted! ;) \$\endgroup\$ – Mathieu Guindon Apr 11 '14 at 18:45
  • 1
    \$\begingroup\$ you kept stealing votes from me, and telling me my answers were "wrong". but then I talked with you in chat about some of the subjects and it made it clear(er) what you were saying, and then I understood. \$\endgroup\$ – Malachi Mod Apr 11 '14 at 19:32
  • 1
    \$\begingroup\$ lol, apparently some things will never change ;) \$\endgroup\$ – Mathieu Guindon Apr 11 '14 at 19:53
  • \$\begingroup\$ lol.upvote.Mat's Mug....lol \$\endgroup\$ – Malachi Mod Apr 11 '14 at 20:41
  • \$\begingroup\$ I would like to do what? \$\endgroup\$ – Morwenn Apr 11 '14 at 21:34
  • \$\begingroup\$ you like some of the more dark things in this world. at least that is how I see you. not a bad thing... \$\endgroup\$ – Malachi Mod Apr 11 '14 at 21:49
  • \$\begingroup\$ @Malachi I think that I know what you mean :p \$\endgroup\$ – Morwenn Apr 12 '14 at 16:41

I feel like most things have already been said here so I'll just add a few small things.

What brings you to Code Review today, and why do you keep coming back?

I like the teaching-nature of reviewing code. In certain tags on SO like it takes a few minutes before the first answers arrive so I can more comfortably create a lengthy post with background information. Similarly, here on CR I even have one or two hours often.

Some might consider this a bad thing but I particularly like it. Considering the quality of answers here, often the first answer after some period of time is already very exhaustive. In that regard, I'd say that I appreciate the slower answer time (and fewer answers) as a tradeoff for high quality answers.

Is there anything we are doing that might be driving away the kind of user that we want to keep?

Not necessarily something you're doing, but the main problem is the amount of posts. I only follow the and tags and I get about one new question every 4 hours. This is not that much, certainly considering how popular the languages are. Following my remark about the one-exhaustive-answer-per-question note, often I find I can't add anything to an existing answer.

Something that does bother me though: can't the [on hold] questions be removed from the overview? It irritates me a lot that basically half of my result page has been put on hold which makes it harder to see what questions still need attention.

As a final note: reading through this topic has made me realize that I should probably pick up my voting activity. Being mainly active in SO, I have gotten used to only upvote questions/answers I find interesting and downvote poor quality answers/questions.

Obviously the concept of reviewing code makes it clear that downvoting questions should be rarely used (since they are "poor" quality by definition), but the notion of actually upvoting them was something I didn't consider at first.

Same goes for answers: here on CR I have to get in the mindset of upvoting answers that help the asker, not just me (I don't do it on SO because then every one-liner would get 50 upvotes. There I upvote high quality answers with extra background information).

  • 3
    \$\begingroup\$ That's a highly valuable post you've contributed here, thanks for taking the time! ..and happy voting! ;) \$\endgroup\$ – Mathieu Guindon Apr 11 '14 at 16:05

My story is similar to @Syb0rg's. I mean, I started off as a driver-by too. I joined April 4th, 2013, and posted 7 questions between April 10, 2013 and September 5, 2013, before I posted my first answer.

By then I had reached 2K on Stack Overflow, and felt more inclined to get into this "code review" beta site, and browsing through the meta site I eventually stumbled on the Area 51 stats page, and that's when it really all started for me - looking back at my meta history, September 5th is when I posted the 1000 days in beta post. Back then I wanted to get the community's pulse, see how alive that site was. A CRitter by the name of Jamal was the first to comment. The first answer came from Jonny Sooter and said it all: There's a reason why this site is still in beta: NOBODY VOTES.

Seeing that Jamal was always around and responding to whatever I posted on the meta site, and Malachi and other people joined the conversations, and at one point the meta-commenting got so ridiculous it spawned a meta-question asking Are we somehow misusing CR.Meta? (what's off-topic on meta?), and that's about when the chat room got revived.

On day 1,000, the site had 9.8K questions, 17K answers, ~10K visits/day. When the zombie-hunting mission started, we faced ~18 new questions/day.

Today is day 1,177, and the site has 13.4K questions, 23.3K answers, ~21K visits/day. ~30 new questions/day.

I keep coming back because I've developped some kind of a sense of ownership with this site, I feel dirty whenever I spend a vote on PCG and I think seeing this beta fail would be the worst thing that could happen to the Internet and to the World in general.

What ideas do you have to help turn one-time contributors into repeat customers?

What made me systematically come back here and answer the incoming questions, and keep doing that, is when I realized that this site needed me. Looking at our average number of answers per question, and looking at the voters page, this site needs you.

Drivers-by will ask a question, maybe upvote one or more answers on their post; they'll often accept an answer, and then they'll walk away. If more have a good first impression, more will come back.

If we put down torches and exploding bear traps, and greet new faces kindly and carefully craft close comments, we can work towards putting the odds on our side - basically, keep doing what we're doing.

By having catchy titles in the Community Bulletin (like this one), we can get more eyes onto our meta (and eventually, onto our blog), and get more people to know who we are and how we're different from better than the other Stack Exchange sites.

Is there anything we are doing that might be driving away the kind of user that we want to keep?

As @JeffGohlke said:

The only thing that might drive away people is, like I said, people not getting compensated "proportionately" for their effort.

People that write answers should all be in the list of voters. Code Review isn't Stack Overflow, and new visitors often come from [much] larger SE communities where it doesn't matter if you vote or not, because you're a drop in the ocean. If all answerers voted (up or down) on at least the question they're answering and other answers on that question, I'm sure it would make a huge difference.

  • 6
    \$\begingroup\$ I like that — "CRitter". \$\endgroup\$ – 200_success Apr 11 '14 at 5:07

Thought I might add my thoughts here as although I'm just a minor contributor on the site it is my most enjoyable of the network.

What brings you to Code Review today, and why do you keep coming back?

  1. I work for a small company and things like code review and decent discussions on code often doesn't occur. I find myself wanting peoples opinions on what I write but rarely get any advice. As well, I would love to read their code to try and learn off them but struggle to get that opportunity. This site has given me that chance!

  2. I learn mostly by reviewing and having real code reviewed. I have struggled when reading theoretical coding answers as I often can't see where I can put it into practice. This site gives me the opportunity to have my real-life code reviewed by great developers.

What ideas do you have to help turn one-time contributors into repeat customers?

Just reinforcing what others have already mentioned.

  1. Keeping comments friendly and not condescending. Many people already do this which I have found both refreshing and encouraging.
  2. I still find the format for posting and answering questions quite hard to follow when there is large amounts of code. If there was a better way to do this maybe this might encourage use?
  3. As others have mentioned, up-vote and give great positive feedback on their posts. The first thing that would put me off as a contributor would be if my answer was hammered and I was made to feel useless etc
  4. This is probably not possible but it would be great if the list of questions and answers only showed my favorite tags. Or if there was a tab that I could like on to show this. I personally know absolutely zilch about many of the languages here and so often when I come back I find that alot of the questions are already greyed out. I often have to scroll just to find one I can contribute on, or am interested in reading on.
  • 8
    \$\begingroup\$ I think you're too modest! Being on page 1 out of a thousand hardly qualifies you as a "minor" contributor. \$\endgroup\$ – 200_success Apr 13 '14 at 10:40
  • 3
    \$\begingroup\$ You can't show only your favorite tags, but you can hide your ignored tags. There's a setting in your user preferences: "Hide questions in your ignored tags". \$\endgroup\$ – 200_success Apr 13 '14 at 10:42
  • \$\begingroup\$ @200_success awesome that pretty much will do it. Will take a look thanks. \$\endgroup\$ – dreza Apr 13 '14 at 20:24
  • 1
    \$\begingroup\$ if you are feeling in the mood for a certain language you can click any language tag like this one c# and it will take you to the questions list of only questions with this tag \$\endgroup\$ – Malachi Mod Apr 14 '14 at 1:33
  • 1
    \$\begingroup\$ @Malachi Cheers for that. After 200_success commented I started playing around with that stuff and found that little trick. Very handy. \$\endgroup\$ – dreza Apr 14 '14 at 1:40

What ideas do you have to help turn one-time contributors into repeat customers?

Output Gallery

For instance, this "The Matrix" demo I made out of the OP's original version which is posted here. I still come back to it and do improvements bit by bit. If they were showcased, maybe it would generate interest. It could even fuel competition, by further reviewing and improving it. And presto! Returning customers!

CodeReview Dev Derby

We could put up something like Mozilla's Dev Derby, which is a monthly competition about a certain aspect of a language. I used to join this competition, but it's on hold at the moment. We could tweak the mechanics a bit to fit the Code Review spirit. We could name it "Perf Wars!" if it was about performance.

More Exposure!

Shirts, stickers, meet-ups, more word-of-mouth referrals, topping the search engines!

Programmers and StackOverflow get too much attention because they top search engines, first choice in word-of-mouth referrals and has been a defacto go-to-site when dealing with programming. If Code Review was just promoted excessively as well.

What brings you to Code Review today, and why do you keep coming back?

I just want to review code, especially in the languages I know. It's additional experience, plus it feels rewarding to improve unoptimized code, like the one I linked to above. It's just so rewarding...

Also, I feel like I belong more here than on StackOverflow. Back there, they "speed code", churning out answers. As long as it works, it's accepted without second thought. I even have an answer that was improved over time, but never got the accept. It felt like a drive-by question.

Here, everyone is in a slower pace. You can take a moment and do everything properly, write the answer legibly in a way that everyone understands.

Is there anything we are doing that might be driving away the kind of user that we want to keep?

  • Too little voting activity. Ain't reaching that 200 rep cap a day.
  • Very slow user activity. In StackOverflow, you get a vote in a matter of seconds.
  • Very slow response from the OP. I usually get OP responses the day after.
  • Very little posting activity. In StackOverflow, leave it on for 15 mins, and you get 150 new posts.
  • Those very long code to review just turns me off sometimes.
  • Code Review treads between StackOverflow and Programmers SE. One wrong detail could send a post migrating to either site.
  • Code Review is still a "Blue Site". It hasn't established an identity. It doesn't even top search engines, unlike StackOverflow and Programmers.
  • Same way how testing is often neglected, nobody reviews code. As long as code works, who cares?

What Data Explorer queries could yield insight into the user-retention problem?

Haven't used Data Explorer


What ideas do you have to help turn one-time contributors into repeat customers?

Post a comment to new users, like "Welcome to Code Review! Feel free to visit the chat room to meet some of the regulars, to chat, or to ask any questions you might have."

Many of the regular users feel a sense of community, in part because of the chat room.

Is there anything we are doing that might be driving away the kind of user that we want to keep?

  • Unfriendly comments to new answers (regular users have high/inflexible standards/expectations of what a "good" answer is)
  • Nothing-but-criticism in answers to new questions (code reviews often consist of finding fault, which is fine when it's collaborative; but new users who aren't used to code reviews may find that a turn-off, so try to add something encouraging and friendly too)

What Data Explorer queries could yield insight into the user-retention problem?

There may be two distinct kinds of user:

  • Those who post questions
  • Those who post answers

One order of business might be to think about how to understand what kind of user is not being retained. What's the median or mean profile of an un-retained user?


Two items:

  1. "All of the memes we use, all of the acronyms we say, all of the rules we abide by; it's a lot to take in all at once by "outsiders". And I'm not sure if that is something we can fix easily, or change at all."

    Is this info written down somewhere? I'm a relative newbie to CR and it would be helpful to me to have it all documented in one place. If it is, I haven't found it yet.

  2. I find it really frustrating that it's easier to pretend I know something and write an answer than it is to add a comment on a question. I tried to make the above comment on the original question to be less intrusive but I can't without 50 reputation. I have that much reputation on other SE sites, but not here. So I have to use the big hammer and pretend I know enough to provide a valid answer to the question in order to participate at all. It might be easier to get participation from new folk (and repeat visits) if the bar to participation weren't quite so high. That's not just directed at CR -- other SE sites are the same way and it has never made sense to me.

  • 3
    \$\begingroup\$ Welcome, and thank you for contributing! 1) We're a growing beta site, and we're working on our user guides. Watch for more improvements in our Help Center in the near future. 2) If you have 200 points on any Stack Exchange site, you will be awarded a +100 association bonus on all your linked accounts. (Anyway, I've just bumped you up over 50 on CR.) \$\endgroup\$ – 200_success Apr 16 '14 at 11:35
  • \$\begingroup\$ In addition to the Help Center, many of our norms are written in Meta posts, tagged faq. There's a lot of information there too, which may be equally overwhelming to newcomers. The most important rule, really, is that questions should be on-topic. Everything else we'll help you pick up as you go. \$\endgroup\$ – 200_success Apr 16 '14 at 11:42
  • \$\begingroup\$ Cool. Thanks. Sorry for grousing. \$\endgroup\$ – Tom Barron Apr 16 '14 at 17:31
  • 5
    \$\begingroup\$ No problem! Things that might be obvious to established members could very well be puzzling to newcomers. It's refreshing to hear from a relatively new member of our community. (And, even if you decide you don't want to stick around long term, we'd like to find out what we could have done better.) \$\endgroup\$ – 200_success Apr 16 '14 at 19:18
  • \$\begingroup\$ For the record, memes are now documented here. \$\endgroup\$ – Phrancis Oct 8 '14 at 19:03

(This answers is completely personal and may not apply to any other member.)

I came back here (to the 2nd Monitor to be clear) after around two months of absence. I was quite active before I left and enjoyed the time being here.

What made me leave? Nothing. It just happens. These things happen for me all the time. I start with a hobby, a project, whatever and may enjoy it for a few weeks, months or even years and then leave, sometimes in the matter of a few hours.

When I first visited Code Review and became more active, I knew already this would happen. It has nothing to do with how the site is growing and working. For me it's an excellent source and tool and I love it.


Brand loyalty?

I think that this question is a good starting point to know a little bit more about your customers. Is well know that any product/service can be improved by gathering relevant information about the consumer needs.

In my own case, I really enjoy DIY projects. I am not a professional programmer, but I figure out how to maintain some "programming independence" in order to run my own research projects. I am extremely proud that the work I have done is being used by others. But enjoying Do It Yourself projects, I mean, just Yourself, is not better than contributing to open source community. Any scientist should contribute to and benefit from open knowledge. I believe in open source.

Following Behavioral Principles

As a scientist of behavior, I could try to give some fundamental explanations to the question "How to increase the chances of the returning behavior of each member of the community?". Of course, such a broad question would require a lot of data. But let me explore my own case.

In my specific case, I am convinced that the community, especially Jamal, have been following an important behavioral principle: To present a consequence for the "post behavior" as contiguous as possible. The community do this by editing in a polite and useful fashion, commenting with teaching intentions, up-voting for evident or useful work, and so on, as soon as possible. Immediate feedback is the best.

But contiguity is not enough. You/we need contingency.

The very existence of the "outsider" or "beginner" terms, indicates that the community have in some degree an established and alive culture. This culture must be taught in order to keep the community growing and sustainable. Good commenting practices, asking question practices, answering practices, editing practices, and and so on. Consequences should target some specific behaviors in a predictable way; in summary (as metaphor for a technical term) that is what it is called "Behavioral Contingency". And some behavioral scientists (for example, my self) call themselves as "Contingency Programmers". As you can see, a lot of things to learn.

Hence, one could take advantage of informative well written and well presented Captions, Help Instructions. In my opinion, as someone concerned with usability issues, StackExchange platform/framework is pretty advanced on this. But it can be improved even more, an need to be adapted to the CodeReview community needs.

Further, now about the dark side of the force, punishments. I am afraid that the Down vote practices are not well established, please correct me if I am wrong on this. Down vote is a message to the "post": "As its current state, we do not want this post in our community". If I am reasoning well, avoid down votes completely should be the rule when the user is new.

Why? Because a lot of people with normal development in a Work Culture tends to recognize their behavior as themselves, and then tends to exchange the meaning to "We do not want you in our community". Hence, before any down vote, the user should be informed that the target is the POST and not him, and that it should not feel bad about committing mistakes. As soon as the mistakes were resolved the down vote should be reverted. Fortunately, I am quite persistent. This kind of approach could be applied to other similar circumstances.

So, I can say now that I am having a good learning experience as someone that wants/expect to learn with the community. I can say that the consequences the community have been presenting were reinforces to my "returning behavior" and punishments to my "bad returning behavior". I just keep returning with good intentions and will try to engage in the best way of learning as soon as I feel comfortable to do it. You know... teaching/answering is the best way of learning.

Teaching machines

How to design a teaching machine for humans with normal development? The behavioral science is pretty advanced in this issue. Unfortunately, the Politics around the world prefers to concentrate their investments in the "machine" side of the project. For instance, an illustration can be handy.

The South Korean efforts to provide a personal computer for each student without similar efforts to provide individualized teaching methods (providing well developed educational softwares, for example) results in a weird scenario: some students do not use the computers as intended. Some of they just prefers gaming, some with health risks involved.

As you can see, the "teaching" side is equally important, and should not be underestimated. The question remains. How to design teaching machines? Some important concepts:

  • If you can not control it, respect the diversity. Each person have their own time. Some will rush, some will not.

  • There is a lot of things to learn, a lot (the culture). Presentation Order and Unit information Length plays important rules. Each person should be presented to small pieces of information ordered by its complexity, from simple to complex ones.

  • Advance to a more complex step must be a self decision. One should learn that he/she is in charge of their own learning. Skip (cheating) a necessary step should be impossible or lead to non comprehensive information, just like math does.

  • Reading is not enough, unless you are learning how to read. You need to get your hands dirty in most cases. One should engage and exercise. You will only be aware that you indeed learned how to vote by voting. In this sense, the piece of information can be a single task that must be accomplished.

  • I will be updating this when time permits.

For a comprehensive introduction to the theme:

Sulzer-Azaroff, B. (2004). The Shaping of Behaviorists: BF Skinner’s Influential Paper on Teaching Machines1. European Journal of Behavior Analysis, 41(2), 129–135.

Lucky in the chaos

At the end, it is very important for any business, project, aim, to be aware that the world maintain a lot of uncertainty. It can avoid unnecessary frustration and minimize the unbeatable ones. CodeReview data should be interpreted considering this natural scope. It is a worldwide full of people enterprise.

Be excellent to each other!

  • 3
    \$\begingroup\$ Hey there, that's quite the introduction! You touch on three topical issues there, beginner tag, voting and help pages. Your insights in to the behavioural side of things are neat. I am pleased you are sticking around! (Oh, and yes, Jamal is a consistency machine!) \$\endgroup\$ – rolfl Mar 23 '15 at 4:22
  • \$\begingroup\$ ^^ What the monkey said ;) \$\endgroup\$ – Mathieu Guindon Mar 25 '15 at 17:04
  • 3
    \$\begingroup\$ As soon as the mistakes were resolved the down vote should be reverted. - we often use The 2nd Monitor to coordinate actions to be taken on new posts, such as voting to close, downvoting, voting to delete, -- and also upvoting, praising, and just showcasing awesome posts. This meta answer is one of 'em. Welcome aboard! \$\endgroup\$ – Mathieu Guindon Mar 25 '15 at 17:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .