Paul Brower bio photo

Paul Brower

Android development for fun and profit.

Email Twitter Github Stackoverflow Codementor

The users that make up the upper echelons of Stackoverflow have several hundred thousand reputation points, have answered tens of thousands of questions and have gained notoriety because of it. How did they get there? Let’s talk with a few of them.

Jonathan Leffler

Jonathan Leffler

Long-time Informix user and developer, experienced in C and Unix (many variants).

StackOverflow reputation: 326,300

How much time do you spend answering questions each day/week?
Far too much time.​ It is multiple hours a day. See "Rename the fanatic badge to something positive" http://meta.stackexchange.com/questions/38598/rename-the-fanatic-badge-to-something-positive/38624#38624 .
Did you start out with the intent to get such a high ranking?
No. I didn't know whether I'd get any up-votes (though it was easier in the beginning than it is now — I joined very swiftly after the site went public).​
Do you have a strategy for which questions you'll spend time answering?
Yes, no, maybe. I don't answer the questions for the points they'll bring — or, at least, not primarily. I answer the question because it is interesting to me, or because the ​existing answers miss what I think are important points, or because I think it is a valid question to which I know the answer and which I don't expect many other people to pay attention to (in some of the minority-interest tags). I spend quite a lot of time passing comments on existing answers to questions, to get them improved by the author. Sometimes those comments go after the answer is modified; sometimes they stay.
Do you have a particular answer that you are proud of? Maybe something really obscure that the questioner didn't think would get answered.
​Out of 9,000+ answers, it is hard to remember them all. Yes, there are some answers I'm ​proud of. For example, I've invested a lot of effort into my answer to http://stackoverflow.com/questions/1433204 (currently titled "How do I use extern to share variables between files in C?"). I also had quite a lot of fun, on several dimensions, answering http://stackoverflow.com/questions/13132270/how-to-select-similar-sets-in-sql. The term TDQD — test-driven query design — is something I invented for answering SQL questions. I think it is a valuable technique, and easily searched for.
What makes a good Stackoverflow answer? Anything to do or not do?
​A good answer provides a relevant set of information to the asker (and the follow-on readers) that is distinctively different from the other answers in some way. Sometimes the answer is encyclopedic; often it is to the point, and merely outlines some of the issues that would have to be addressed to make the answer encyclopedic. There's a query http://data.stackexchange.com/stackoverflow/query/8782/users-who-post-long-answers that indicates who posts the longest answers. I must have gotten terser recently; for a long time, I was top of the list and my average post length was over 2000 characters (threshold set at 5000 or so). Someone else is now the most verbose person on the site. That's not necessarily a recommendation; a good short answer can be vibrant (for example: http://stackoverflow.com/questions/3568052/where-to-document-functions-in-c/3568099#3568099). But extern variables is a complex topic, and even my massive answer there is not all-inclusive.

A good answer does try to address all the questions asked in the main question, or explains why some of them are not relevant (usually based on mistaken assumptions by the OP).

Often, a quick answer gets points, but later needs to be expanded. Classic case in point: http://stackoverflow.com/questions/227897/solve-the-memory-alignment-in-c-interview-question-that-stumped-me/227900#227900. I gave a quick answer, and got a lot of up-votes because it was basically right and succinct. Then I was asked for an explanation, so I added that, and the explanation has grown. And some valid nits were picked and the answer fixed. For a long time, it didn't benefit me much; I'd edited it enough that it became CW under the old stringent rules. Fortunately, they've agreed to allow such answers to be made non-CW and retrospectively credit the points (so I jumped several thousand points when that change was made).

Do you use any tools to help you? Other resources?
​I use a collection of scripts to do various common jobs. I have one called 'sscce' which generates two lines:

MCVE How to create a Minimal, Complete, and Verifiable Example? SSCCE Short, Self-Contained, Correct Example

​I can paste these into a comment when the question needs fixing. I have a pair of scripts 'posixfun' and 'posixcmd' that generate a reference to the POSIX specification for a command or function given its name:

 $ posixfun wait
[`wait()`](http://pubs.opengroup.org/onlinepubs/9699919799/functions/wait.html) 

 $ posixcmd wait
[`wait`](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/wait.html)​ 

These make it easy for me to paste suitable x-refs into my answers. And I use compilers, and git, and uncrustify, and valgrind, and various other commands to check code etc. I do keep a record of important answers in Git. For example, the 'extern variables' answer has its own branch and all the code in the question is in the branch, and has been compiled, linked and run.

Have you leveraged your stackoverflow reputation for anything? consulting leads? jobs? open-source exposure?
Let's say that it helped me get recruited by Google.​ It wasn't a deciding factor, but it got their recruiter's attention. No, I've not met the other famous Google employee (Mr Skeet), and there are some others too.
What are you currently excited about?
​I'm a caveman at times. I still look after the DBD::Informix module for Perl (http://search.cpan.org/perldoc?DBD%3A%3AInformix) — only 18 years or so at this point, but the labour has been low for the last decade or more. I also have a program SQLCMD, quite distinct from Microsoft's johnny-come-lately program of the same name, and also accessing the Informix database — available from http://www.iiug.org/software/index_ESQLC.html. That too has been around forever; it has its roots in code written in 1987. However, although they're Open Source, I haven't had a lot of community help with either of them. I've had bug reports and a few fixes for DBD::Informix. Ditto SQLCMD. However, DBD::Informix did earn me the opportunity to invest in VA Linux when it went public, which was wonderful (I'm still driving the car it helped me buy).

Alex Martelli

Alex Martelli

Since early 2005, Alex has been a "Über Tech Lead" for Google, Inc. in Mountain View, California. He is the author of Python in a Nutshell, co-editor of the Python Cookbook, and has written other (mostly Python-related) materials. Martelli won the 2002 Activators' Choice Award, and the 2006 Frank Willison award for outstanding contributions to the Python community.

StackOverflow reputation: 355,879

How much time do you spend answering questions each day/week?
Now: none at all, haven't answered any question in over 3 years. In 2011: 20 hours/week (which is why I stopped:-).
Did you start out with the intent to get such a high ranking?
I had no idea my answers would be so well-liked (and keep getting upvoted so many years later).
Do you have a strategy for which questions you'll spend time answering?
These days, "none at all". In 2011: any that looked interesting and didn't yet have a good answer.
Do you have a particular answer that you are proud of? Maybe something really obscure that the questioner didn't think would get answered.
Hard to say, perhaps my ever-top-voted one, http://stackoverflow.com/questions/952914/making-a-flat-list-out-of-list-of-lists-in-python/952952#952952 -- far from obscure, simple and straightforward.
What makes a good Stackoverflow answer? Anything to do or not do?
Concise but not TOO terse, complete but not TOO verbose. Give both code AND a clear explanation of the why and how.
Do you use any tools to help you? Other resources?
A browser w/web search, an ebook copy of my "Python in a Nutshell", and an open Python interepreter sometimes to try things out.
What are you currently excited about?
I just (last week) changed jobs (within my long-time employer, Google) from SW development to "Google for Work - Cloud" technical support, with the mission of organizing our "1 to many" support for Cloud (App Engine, Compute Engine, &c). And the primary channel for that is... Stack Overflow.

So, while I'll largely be organizing and coordinating other responders, possibly devising ad hoc programs to make them more efficient, &c, I'll likely also find some time to become moderately active again myself -- only it won't have to be all during evenings, weekends, and smoking breaks, but, part of my work (as long as I focus mostly on Google Cloud Platform components). I suspect the reason I was actually "internally head-hunted" for the new role may have something to do with my SO reputation, so that won't come as a surprise:-).

Allan Chandler (paxdiablo)

Allan Chandler (paxdiablo)

Allan runs a blog over at powerfield-software.com, which contains some of his expanded SO answers.

StackOverflow reputation: 371,327

How much time do you spend answering questions each day/week?
Generally about half an hour during lunch. My brain needs constant input and using it just to move my jaw up and down isn't really enough.

Also an hour or so after work, many days. Sometimes, I'll spend more time if I'm in the groove, one consequence of which my wife long ago started referring to it as "Dear Pax".

It's also not just a one-way thing. My answer-to-question ratio may be about 50-to-1 but those 150-odd questions I had answered were a great help to me.

Did you start out with the intent to get such a high ranking?
No, when I started, it was just a matter of helping out other people and inflicting my viewpoint on a large audience.

My employer at the time had a policy of give-back and getting their employees to contribute to social media so it was an easy way to demonstrate that I deserved more of the bonus pool.

There WAS a time in there, probably somewhere between 10K and 100K, when I considered ranking to be important. But not so much now. For one, once you hit 100K, there's not much difference in either ability to do stuff, or the attitude people take toward you. Secondly, once I realised the chance of reaching number one would mean passing Jon Skeet, I gave up :-) That guy is prolific.
Do you have a strategy for which questions you'll spend time answering?
Yes, stuff I know about. I've tried answering questions about things which I have no knowledge of, but that didn't work out too well.

Because of my educational bent, I like assisting newcomers but not handing them the answer on a silver platter. Rather, I'd prefer to give them just enough to get them thinking in the right direction. I also prefer tricky questions that require some thought and analysis. Language-lawyer questions (those that require specific references to the ISO C and C++ standards, for example) are an example of that. So are ones requiring that I think like the machine, the sort of stuff Raymond Chen refers to as psychic debugging.
Do you have a particular answer that you are proud of? Maybe something really obscure that the questioner didn't think would get answered.
Not really. There are maybe a COUPLE that may not have been answered but for my efforts. But my FAVOURITE ones are the many in which I've had to exercise the brain. Especially the ones where I've learnt something as part of the process, such as the intricacies of floating point or arbitrary precision arithmetic.
What makes a good Stackoverflow answer? Anything to do or not do?
Answer the question. Answer ALL of the points that you can, succinctly and clearly. Try to anticipate potential problems with your answer. Inject a little humour.
Do you use any tools to help you? Other resources?
My knowledge from a long career in the industry. A few books I have. The internet. That's about it.
What are you currently excited about?
I run a small blog at powerfield-software.com to which some of my more successful SO answers are migrated to and expanded on, among other things.

I'm also a big believer in animal welfare, having rescued a dog from the local shelter a couple of years back. It's been great for the kids but, more importantly, for the dog.

Jean-Baptiste Nizet (jb-nizet)

Jean-Baptiste Nizet (jb-nizet)

Java developer since 1997, and enthusiast scuba diver since 2001. Proud co-founder of Ninja Squad. Author of DbSetup and MemWords. He can be found on twitter at @jbnizet

StackOverflow reputation: 275,899

How much time do you spend answering questions each day/week?
It depends. If I have an interesting side-project going on I can spend days without answering. But usually, I can spend 1 hour, sometimes more on working days, and much more during the weekend finding, commenting and answering questions.
Did you start out with the intent to get such a high ranking?
No, not at all. As many I guess, I discovered stackoverflow by finding answers to questions I googled, then discovered how the site worked and wondered why I wouldn't answer questions, given that I'm passionate about programming and quite experimented.

I already answered questions during the good old days of nntp, in the comp.lang.java.programmer newsgroup, and thought I could start doing it again on stackoverflow, on various programming subjects. The high ranking came because I got caught in the game and addicted to the site, answering more and more questions, and coming back every day finding for questions to answer.

Do you have a strategy for which questions you'll spend time answering?
It really depends on my mood and on the effort spent on the question. If the question can be answered by simply reading the official documentation, I usually downvote and comment. If the question shows effort and is not trivially answered by the documentation, I try helping. Regarding questions I look at, I simply use favorite tags to have the interesting tab display questions about subjects I'm interested about. My main motivation is not to gain points (although I honestly admit I got caught by the game). My main motivation is to spend time doing something I like, learning and teaching at the same time. I often keep answering questions although I already reached the 200 reputation points cap for the day.
Do you have a particular answer that you are proud of? Maybe something really obscure that the questioner didn't think would get answered.
I don't have any particular answer in mind. I like it when I can guide the asker to the solution, rather than giving it on a plate.
What makes a good Stackoverflow answer? Anything to do or not do?
A good answer, in my opinion, starts by making sure you answer the right question, and guide the asker to the good direction. Many questions are looking for a solution that you should generally avoid, because the design or the tools used should be different.

Just as good questions, good answers usually contain explanations and code, not just explanations or code alone.

A good answer explains what the problem is with the original code or design before giving a solution or alternative. Simply explaining the problem is usually not enough, although it's the most important part of the answer. Simply giving a solution or alternative doesn't educate the asker. It simply shows you know better than him/her.

And finally, a good answer gives references to the documentation or specifications when possible, both to explain why the original code isn't correct and why the new code fixes the problem. But most importantly, to show the asker that reading the documentation is useful, and allows learning things and becoming autonomous.

Do you use any tools to help you? Other resources?
I use my browser and Google to find the relevant documentation and tutorials. Most of the questions can be answered that way: by googling and reading. I also use a garbage project in my IDE to try and find the mistakes in the code of the OP, and sometimes to test the code of my answer.
Have you leveraged your stackoverflow reputation for anything? consulting leads? jobs? open-source exposure?
It's mentioned in my personal description, on the web site of the small company I created with 3 other passionate friends: Ninja Squad, because it shows my passion, my experience, my competences and my ability and pleasure to teach and share.