profile for Kathryn at Stack Overflow, Q&A for
professional and enthusiast programmers

Meet Kathryn, an experienced C programmer who has mostly worked in Unix/Linux environments. In the course of that work, Kathryn developed some fairly sophisticated shell scripting skills. Lately, Kathryn has been trying to learn Ruby and, at the same time, start participating on Stack Overflow. Kathryn is also my sockpuppet.1

From May to June some employees of Stack Overflow participated in a "Race to 1K'. The idea is to create new and anonymous accounts on a site and try to earn 1,000 reputation in two months. Along the way, we recorded our experiences so that we can understand the challenges ordinary users face. I've done this with my main account several times, but not for the sake of the points. Instead, I've gotten interested in a topic or a new site has opened up for a topic I'm already proficient in. So the points have always been an afterthought and a pleasant reward for doing something I already enjoyed doing.

For the sake of The Race, I decided to learn a new programming language.2 Since I'd done some work with Ruby, I thought it might be a good choice. In retrospect, I'm sure it was. Ruby is a lot of fun and I will have some reasons to use it in the next few months to automate bits of my job. In addition, there are always a fresh supply of unanswered questions waiting for me. I wouldn't have been successful with anything more obscure.

Another goal I had was to test out the Documentation reputation system. Initially, the system was too permissive and gave too many points for too little contribution. We adjusted the system to a large degree and while I think the system is fair, I wasn't really sure. While I didn't know it at the time, Ruby was a good choice in this respect too. Our Documentation section wasn't (and still isn't) great for Ruby and the existing resources are, um, inconsistent. I'll have more to say later in the series, but it was a lot easier to learn Ruby by writing documentation than by reading it.

The third thing I hoped to learn was what it's like for a woman trying to use Stack Overflow for the first time. Obviously, I'm not a woman and I'll never replicate the experience of being a minority within the programming profession. I can't change that. But with a new profile, I can change the way other users perceive me. So I picked a name that signals "female" and left all other parts of my profile blank. Then I wrote exactly as I would normally. I didn't intend to trick or entrap anyone, but I was curious if my sock's name would draw out different responses than a male-sounding name.

In the next few posts, I'll go into more depth on my experience simulating a user new to the site. It turned out to be an incredibly valuable experience, an exciting challenge and (hopefully) a source for a series of posts. Experience really is the best teacher and there's no better way to experience the site than to start with a blank account and work your way to 1,000 reputation.

Next time: I find out how many extra steps it takes to get an account these days.


  1. Sockpuppeting typically signals nefarious behavior, such as voting up your own answers to cheat. But sockpuppets are allowed if they follow the rules. In essence, if you don't use your extra account to bypass the limits of the system and don't care too much if it gets deleted, you should be fine.

  2. For the record, I've learned GW-BASIC, Pascal, C, C++, shell scripting, Perl, LaTeX, SQL and Lua fairly well. I've also played around with Python, Haskell, Lisp, ancient Visual Basic, R and JavaScript. With the possible exception of Perl, I don't think I've progressed beyond "journeyman".