Editorial note: This post began a year ago in October 2012, prior to my acceptance of employment with Stack Exchange, Inc. The views expressed in this post are my own, from the perspective of a Stack Overflow community moderator, and not of my employer.
Geert Hofstede is one of my personal heroes as a cultural anthropology nerd. He defined and articulated something extremely abstract, the measurable factors of a culture that influence the behavior of those within it. By identifying these factors, you gain an understanding of how they can affect cross-cultural interactions and can take steps to ensure these interactions are positive.
If you deal with communities of human beings in any capacity, you really should at least familiarize yourself with his theory of cultural dimensions. Communities are very much a business, even if no monetary profit is gained. When people come together to get something done, they’re doing business. Whatever facilitates their interactions should eliminate as much friction as possible, or at least try to avoid adding more.
With 80% of almost 4.5 million questions answered, Stack Overflow gets stuff done. Our collective mission is to ensure that the crème de la crème of programming knowledge rises to the top for all to find when they need to get something done.
Near the middle of last year, some patterns emerged in the way that people use the system that we, your moderators, could not quite understand. An increasing number of users from very specific parts of the world seemed to be participating in ‘open air’ cross voting rings in a manner that was so obvious that users without moderation tools were quick to spot it. We’d dealt with sock puppet accounts being used to artificially inflate someone’s reputation in the past, but nothing on this scale and not nearly as blatant. While Stack Overflow is primarily about sharing knowledge, many people take the game around it quite seriously. People were getting increasingly angry, we were getting a little worried. This was far from a few isolated incidents. Continue reading
Something I really like to do is cook, and a few strokes of good fortune have recently given me the opportunity to do a lot more of it; a new job and a new kitchen. Occasionally, I’ll post recipes for anyone that might make use of them. I tend to cook simple, flavorful meals; I’m a hedonist, not a nutritionist.
Without further adieu …
Classic Cheesy Potatoes
Have you ever tried to explain your technical job to someone that isn’t technical? I hate doing that too, so to every question asking me what I do for a living, my first response is “I telecommute from home“. I suppose that’s wrong, because they aren’t asking me how I get to work, but the whole idea of telecommuting is such a fantastic bike shed that I almost never have to try to explain my actual job. The conversation quickly shifts to how I work, not what I actually do. Ironically, the topic is anything but trivial.
When most people hear the term telecommute, they envision someone wearing pajamas and fuzzy slippers sipping coffee while reading e-mail. Or, they envision me in the club house by our pool soaking up some sun while playing with a computer. They express their envy for my morning commute and make jokes about working while wearing only underwear. Some people do work like that, but they typically don’t keep that up for long. They either get fired for productivity issues or decide that structure was actually a good thing.
I’ve been working from home for just over ten years now, seven of which while also being an at-home parent. Here’s some of the things I learned that anyone new to working from home needs to know. Continue reading
This post has been in draft for months. It’s been in draft for months while watching me go stark raving mad paragraph by paragraph, day by day, for far too long. This needs to see the light of day right now or the world is going to come to an end.
Alright, yeah, I’m a little dramatic. I’m not really going crazy, but I’m really annoyed. The last year of my professional life has been spent on creating a system that ties many dissimilar systems together conveniently for customers. That might not sound like it’s extremely difficult since you’ve probably mashed Twitter and news feeds together with the most popular fainbruck questions on Stack Overflow in the past.
It wasn’t just difficult, it was downright freaking painful. Why was it painful? Because in 2012 programmers working for big companies still have no understanding of REST. That’s a problem that won’t be fixed in the foreseeable future, and we’re to blame.
If you’re short on time, the
tl;dr; version of this is simple. HTTP/1.1 has some awesome verbs in its vocabulary like GET, POST, HEAD, PUT and DELETE. It’s also got neat things like headers. The modern world has this thing called JSON. Objects you offer have life cycles from birth, modification and eventual deletion. Combining this knowledge into an API that doesn’t suck is hard, and you need to think carefully before writing a single line of code.
Wow, still here? You’re a sucker for a long winded rant. Let’s start with a bit of background. I spend my days toiling away in the web hosting industry. My job, loosely translated boils down to this:
Come up with and implement unique, useful features and services that make us better than our competition.
I came upon what is probably the laziest homework question ever asked on Stack Overflow recently. Instead of typing a question, the user just uploaded a scan of their textbook to a file hosting site and asked a question that pointed to the link. You can see it here if you have 10k+ reputation on Stack Overflow.
It’s also conceivable that the student was trying to evade their teacher running searches on Stack Overflow to find students getting other people to do their homework for them. I suspect both.
Homework has always been a problematic tag, way beyond it being a meta tag. It’s a problem because: Continue reading
The second 2011 moderator election is closing in a couple of days, if you have not yet voted and are eligible to do so, please do so. Interestingly, I’m in the same dilemma that I found myself in earlier this year. My first vote was easy, the other two are costing quite a bit of thought.
I strongly feel that one of the candidates should have been elected as a result of the last election. I’ve watched as they voted and flagged in favor of the same action that I would take literally hundreds of times over the last nine months and I’d be very happy if they could just go about maintaining the site without needing to ask for our help. I’m not naming the candidate directly, but I will after the election.
What’s different is that I don’t need to discount half serious or outright joke nominations this year. Additionally, there are quite a few solid candidates from many backgrounds and reputation levels who decided they had enough fun answering lots of questions and would rather work on keeping the site healthy. Every single one of these candidates in my opinion would do a fine job as a moderator. At this point, the whole question of who would make a good moderator? has been answered, everyone running would. I almost feel like I’m now selecting based solely on who I want to work with the most, and I find that extremely difficult. Continue reading
I love getting paid, but I hate contracts. I hate reading them, I hate the trepidation that I feel when I sign them because I always feel like I might have missed something and most of all I hate it when a document comes back to haunt me. Sometimes I wonder if lawyers boast the growth they achieved during puberty by the number of indecipherable paragraphs they can write.
I love challenges, so long as I’m not forced to meet them in solitary confinement. I was recently approached with a very interesting opportunity that will put every ounce of knowledge and experience that I have to the test. Accepting this offer would ultimately show me if I’m worth my salt as a systems programmer. I can’t say too much about it other than the fact that I’d be starting with the Linux kernel and not much else, while building a very task specific operating system.
The problem is the non-disclosure agreement, which is on the order of centimeters thicker than anything I’ve ever signed before. The agreement would effectively alienate resources like Stack Overflow while I try to meet a very awesome challenge in a very short amount of time. I’m just not comfortable with that. Continue reading
I don’t make a big secret out of being a Zen Buddhist. I’m not always a good Buddhist and I tend to refuse to follow things in some doctrine that I think won’t work, but for the most part the term sufficiently describes me.
This isn’t strictly inspired from my bird’s eye view of Stack Overflow, or even Meta – it’s something I’ve been noticing for quite some time at many places and the wisdom to articulate it just hit me, so I’m writing this. I could be completely wrong, I might have failed to follow this very advice in the past and perhaps my frequent travels to far away and strange places might be providing some insight that simply can’t be obtained elsewhere.
What I see, is People seem to be growing increasingly intolerant and that is a major problem.
What I know is, tolerant people are generally happy, productive peaceful people who get every ounce of joy that they can out of life. They love waking up early, they love doing whatever it is that they do, from programming to waxing a floor. They smile when you accidentally bump into them and they give you a few bucks at the cashier if they notice you are holding up the line and tossing your pockets.
They don’t honk their horns in anger when stuck in traffic, they make a serious effort to be pleasant even when they would really rather pull out their hair and they love the satisfaction that they receive by making someone else’s day or life just a little bit better. They aren’t too quick to judge and they seldom interrupt you even when you might be wrong.
I’ve finally found a few minutes to sit down with the last Stack Exchange podcast and something that was discussed has really tickled my brain. How do you determine if a job applicant is a competent Internet user? I’m not speaking of a test to determine how well someone could use Google spreadsheet, Producteev or other web applications, I’m talking about testing someone’s ability to use the Internet successfully and safely.
What, precisely would define “successful” net use? That’s simple – getting exactly what you need quickly. That might be easy for someone who wants to find a recipe for biscuits, but have a look at the following scenarios and you’ll realize that there is an art to getting things done:
A site such as Stack Overflow is only as good as its contributions. There have been a number of discussions regarding the quality of contributions, which caused me to spend some time reflecting on my own personal experiences with the site and community. This brought back memories of my own experiences at being on the low side of the quality fence while conversing face to face in places where I did not speak the local language.
I’m sharing this not just to provide advice and insight, but also to show why having users that are willing to help people become better communicators is essential to maintain the quality of a growing community.
About two and a half years ago, I finally got up the nerve to become a registered user on Stack Overflow and start participating by asking and answering questions. I had been lurking for a while – I found Stack Overflow through some obscure searches and learned about the buzz Jeff and Joel were building around it later. The first thing that struck me was how intimidating the site really was.
It wasn’t all of the numbers, arrows, tags and buttons. Most of that stuff instantly made sense to me. What intimidated me the most out of everything was the sheer quality of the questions and answers there. If I was going to make any use out of this resource, I would need to dust off my writing skills and work on my problem a little harder so I could really show people where I was stuck.
My first few attempts went over like a lead balloon, but I quickly caught on. I could now pick the brains of people who had been working with C much longer than me, and build up my own reputation by answering questions that I could. It was helpful, it was fun and I was hooked. I remember thinking to myself “How do they keep the quality bar so high here?”, coming from a mess of forums the difference was absolutely amazing.