I just wanted to point out how poisonous our community is. It's something that I've been struggling with for a long time, and trying to slowly change.
The fact that people read this article, and don't feel the need to mention his fear of releasing software just shows how broken things are. It shouldn't be an accepted fact of open source that if you release new code that might be backwards incompatible, you get vitriol for it.
His quote:
... but I too cowardly to release it and make it mainstream, as Im afraid it'll destroy whatever good will for open source I have left when the flood of support questions inevitably comes in, followed by all the people who are unhappy with what I've built and feel obliged to tell me how bad I am at software.
I'm the author of a popular open-source project for my programming-language-of-choice. Before I launched it ~3 years ago, I reached out to a well-known OSS guy in the community. You would probably know his name.
I wrote to him asking if he had any feedback on my project, since I'm about to release it, and because he had a similar project that didn't get much traction. He didn't reply...fair enough, I'm sure he's a very busy guy.
Fast forward a few months, I launch the project and it blows up on HN for a few days, and on twitter for a few weeks. The majority of people love it! But sifting through the feedback online, I'm shocked and disappointed to see is the very person I reached out to trashing my project publicly in comment sections and on his twitter feed. No constructive feedback, only how the project itself was a horrible idea, and the code was disgusting. I was dumbfounded...before, I wasn't worth 2 minutes to reply to in an email, but now I am worth destructive criticism on social media by the same person?
I waited a few months and sent another email asking for advice on maintaining the project. No response still. Yet every now and then, to this day, I still see backhanded comments by him about my project whenever someone mentions it to him on twitter.
Some people are toxic, petty, and childish. I don't really have a lesson from this, but that's my little story.
Hey, I went through the same thing! It's funny how you can get a hundred positive comments, but one snarky asshole will get you down. I usually save the positive comments in a text file and re-read them later...that makes me feel better.
I completely agree. To new hackers, I always tell them that if they post something online, they should:
1. Focus on what people they actually know and respect think vastly more than anyone they hear from online.
2. Assume that anyone criticizing their effort is an armchair hacker who just likes to be better than others. It's not always true, but is better than assuming that everyone else is better than you.
3. Always be proud of what you've done -- just because we've gone to the moon doesn't mean you shouldn't be proud of making your Arduino blink the LED finally.
Gladwell always points out the 10,000 Hour Rule, which only becomes more depressing as you age. In my mid (almost late) thirties, I now sit down and think about all the things I don't have time to become an expert in, even if I want to.
Even if I could dedicate two hours every single day of the year to becoming an expert at something, I'll be 50+ before I'm an expert in it. If I could dedicate about 15% of my waking life to becoming an expert in new things, there is only enough time in my remaining life to become an expert in two things at most. And that's assuming it doesn't take more hours or become more difficult or even impossible to become an expert in new things when you're much older. And, frankly, what's the use of becoming an expert in something in your mid 60s?! Just in time to finish the last bit of your life.
If only I'd known the value of time much earlier in life, so I could have jumpstarted that in my 30s and focused on more than one thing to become an expert in . . . you only realize that sort of thing when it is too late.
I don't think that this rule (I don't know Gladwell's version, but I hear this often in Karate) is meant to say that nothing less than 10,000 hours is worth doing.
Why do you do anything, after all? Do you have to be an expert for it to be worth doing? If this were the case, certainly no one would be a parent. It's just a guideline to keep people from claiming expertise that they don't have yet, which is often a problem with people who have been doing things for a very short time.
Or for a specific example, I've been doing karate for 10 years very seriously. Overall, I've probably spent about 4,000 hours doing karate in classes. Of that, I've spent probably about 1,200 hours teaching, which I started doing after only maybe 800 hours of training. I've trained two students from white belt to black belt, and have introduced on the order of 100 students to karate.
But I'm not an expert. According to this rule I need about another 10 years to be one. Does that mean that I don't enjoy doing it? Or that me doing it doesn't contribute to the state of the art? Hardly. Being an expert and being able to contribute are not the same. I'm not going to have karate masters coming to me for advice. But I still have made the world a better place, in a small way, for ~100 people.
My father and mother both started new careers at 40, again at 45, again at 50, and now they're both moving to new things again at 53 (they were young when I was born). Neither of them will probably be experts at what they're working on in a technical sense, but they're still making substantial contributions to the world. Heck, my dad just got his very first journal article published this year in an area that he started working in at 50!
I find that in some ways Gladwell's book as the opposite effect of causing me to not not even want to start something due to this "10,000" hour rule.
At the end of the day, we don't need to be an expert in most things to be proficient. Josh's book lays this out in a nice way. On a more practical level, even 1 hour a day on something has tremendous accumulative effect.
I believe the biggest gift we can give ourselves is to not lose our learning mindset. For those of us who have gone through college/university and gained the discipline to study, we tend to throw it out when we are done. In hindsight, that is the best skill that one should retain in their life. The ability to be disciplined and focus on studying/learning/doing new skills is what I am trying to continue to cultivate and I hope that when I am 50 I still have this mindset and discipline.
10,000 hour rule is only a metaphor. I think at best it should be treated as something that requires a lot of effort to master.
But its not like you go and spend 10,000 hours and at then at the 10000 hour 1 second you become an expert.
If you are deeply involved in something working day and night. Within an year, you will be close enough to swimming with experts. Often that is all you need.
I can't comment on the poisonous nature of the community but what I have noticed is that at some point its taken for granted that the open source solution will be very stable and solid.
It seems (and this is just entirely my opinion) that it is forgotten that people are doing this out of their own goodwill and are not necessarily being paid for it and really have no contractual obligation to keep doing what they are doing.
It's almost the worst of both worlds. You get all the responsibility for having your open source project be considered at the same level as a commercial solution but without it actually being a commercial solution.
I got some good feedback, but more than my fair share of "this is the stupidest fucking idea I've ever heard of" and such. Luckily I know to ignore pretty much all that shit.
I'm gonna tell it like it is:
There are a lot of people in tech who don't have great social skills. They're awkward, feel withdrawn, and have trouble dealing with other people generally.
One quick and easy solution some of them hit upon is to just be an asshole. If you're an asshole, people sort of sometimes defer to you or steer clear of you. It creates the illusion of power and influence while shielding a person from having to do any real work to improve themselves in that area.
If you think it's bad online and with OSS projects, try delving into the meat-space startup scene itself.
In my opinion, it's ridiculous to excuse people somehow on the basis that they don't have great social skills. Maybe that was the problem in the 90s. That really has nothing to do with it today. There are a lot of people in this scene who have plenty of social skills, they just choose to act like raging assholes. Some fraternity brother type in the startup scene is not necessarily any better than a nerd in this regard.
You can disagree if you want, but I think that someone who chooses to act like a raging asshole has a definite lack of social skills.
I'm sick of these two types of assholes, really. The first type is the "I'm an asshole online -- it's my persona. "
The other is the hater / troll.
And I just have to think that both of those kinds of assholes result from a lack of social skills - as in, "I don't know how to get along with other people in society."
Damnit, I just want to code cool stuff and use other people's cool stuff. Can't we all just write cool stuff and help each other out?
Look closely. In many cases they don't actually have good social skills. That's the thing about being an asshole. It covers that up. Blind raging assertiveness is not good social skills anymore than banging on something really hard is craftsmanship.
I have little social skills, anxiety etc. I can't afford to be an asshole, in fact, it's quite risky for me to take a stand even when I think I should. Someone who is consistently a jerk to others and yet has a good job is unlikely to have low social skills.
I think one contributing factor is that discernment, critical thinking, and even applied pessimism are all good qualities for a programmer. Many of us get grumpy because we are on high alert for such extended periods. We are looking for bugs and issues. We are objecting to proposals, finding fault, raising negative points. It's a critical mode of thinking, so we accept being critical. Or grumpy.
So when some other human is the source of the bug or blocking issue then we don't take care to be social and delicate. That's broken, that's badly built, hey that sucks. Or just channeling other pent up annoyances onto whoever is around.
> I just wanted to point out how poisonous our community is. It's something that I've been struggling with for a long time, and trying to slowly change (from inside the python community).
Do you mean to say that the Python community is poisonous? Or that the Ruby community is poisonous from the perspective of a Python community member?
I didn't put too much weight on whether it was Python or Ruby. I felt it was a statement about the whole open source community rather than a particular group.
It's "Matz Is Nice And So We Are Nice", because MINASWAN is a joke on the Japanese word for "everyone" (minasan). The -swan is like a super-cutesy suffix honorific thing.
... And yeah, it sucks that it feels like it's died a bit. But keep it up anyway; https://twitter.com/tenderlove is a great example to follow. :)
I don't understand why he or anyone for that matter would care what other people think if they can't articulate it in a civilized manner. Nasty emails is what the delete button was made for.
Its a cumulative effect, the individual e-mails can be laughed off, but you are spending the energy to hit delete. Its e-mail without a spam filter of any sort. Its not the first e-mail that will get you, its the thousandth. No one survives being told they suck thousands of times unless they build a hell of a attitude and we get projects that are "mean to newbies". A lot of legitimate newbe questions are indistinguishable from the opening volley of a troll.
I can totally understand why someone would still be emotionally drained from receiving lots of criticism, whether they intellectually know it's silly or not. It's hard to have the self-confidence and restraint to maintain a good attitude when you're surrounded by criticism.
We're social animals and we care what others think, at the DNA level. We're also evolved, and we can recognize what should be paid attention and what should not. But we can't entirely escape our DNA, and we vary from individual to individual on how far we can each escape. We're not code, we're wolves.
You can dismiss the infrequent and brief squealing in your ears, but once it becomes tinnitus, the incessant, constant high pitched tone makes it impossible to focus on anything.
I can empathize with much of what he wrote. I built a fairly popular site back in the late nineties that I only finally terminated in 2010. It had a very dedicated community of about 100,000 people and did many millions of dollars in business (not for my benefit - the service itself was free, on principle).
I spent so much of my life working on it. I wrote the software behind it, designed the presentation, handled the customer service, mediated disputes, handled the promotion, and helped with user-founded real-world gatherings built around the community on the site.
It required so much of my attention and, unfortunately, often was so hostile and venomous that the only reason I stuck with it for many of the later years was out of a sense of obligation to the community (many people made friendships through the site, met spouses, established real world businesses, and even put themselves through school thanks to the site) and a sense of obligation to myself . . . I put in all of my 20s and part of my 30s dedicated to the site and service. Hours and hours every day. I put in enough time that it was a second full time job -- not counting the $25k of cash I put in over the years.
I had real life stalkers via the site. I had harassment via my email, IM, and even via local authorities (with such a large community, there are bound to be a few crazies). Hell, even just my email inbox was depressing. For the last 3-5 years of the project, I felt sick every time I would visit my own site. Sicker when I would check my own email for it. To the point that I would go months without going to my website . . . and more without checking my email. At one point, it was so bad that my inbox had 1.1m messages (that is AFTER filtering out spam).
The only thing worse was considering shutting it down. It was a part of me. It was probably my biggest accomplishment at the time. A lot of people dream of building such a huge successful community from top to bottom with their own hands for so long, but never get anywhere close to achieving it. How could I give that up, no matter how much grief it caused me?
I'm not exactly sure what pushed me over the edge, but in 2010, I finally shuttered it. I felt bad for it. I still felt obligated to them and to myself . . . but I sensed I had to move on. And since then, I have had this great sense of relief. I have time for myself and time for other potential future projects. I am no longer forced to dismiss other opportunities, because of the obligation I had to this project. I no longer felt sick thinking of my email. I no longer felt like a prisoner. I felt like I had more control over each day of my life and what I did with it.
I have never been one of those people who sticks in a relationship just because leaving it would make all the invested time "feel like it was wasted". When a relationship goes bad, I move on and don't look back or even keep in contact. I'm good with that. This experience, though, gave me a little insight into all the people out there who have a hard time leaving relationships. Even unsatisfactory ones. Life is short and you only have so much time and energy to put into things. When you have given so much into one thing, it can feel like moving on is a bigger loss than sticking around. I totally get that, now.
But, in the end . . . it was a great choice. For him, it might also be the right choice. All of the "if only things were different" thoughts and all of the motivation to take the reign to chance those things in the community are great, but . . . ultimately can become a way of simply keeping you tied down to the very things that make you regret what you're doing. When that becomes clear, the choice to move on has to be at the forefront.
I was just wondering why did you do all that without any benefit to yourself.
I have a feeling, anything that you offer for free will be often treated as worthless. Its an problem with us humans, we attach quality with price and we think if something is expensive its of superior quality. Going down this line of argument something that comes for free is always going be treated that way.
It also gives a good indication of how a person would spend his time. If you give away your work for free, how do you expect others to pay up or value your time? And look at this way- If you put up with crap, people will assume you are perfectly OK with crap thrown at you.
Take a tough stance and never climb down from there. At times that's harsh and rude to a lot of people. But ultimately that's the only thing that protects you.
The fact that people read this article, and don't feel the need to mention his fear of releasing software just shows how broken things are. It shouldn't be an accepted fact of open source that if you release new code that might be backwards incompatible, you get vitriol for it.
His quote:
... but I too cowardly to release it and make it mainstream, as Im afraid it'll destroy whatever good will for open source I have left when the flood of support questions inevitably comes in, followed by all the people who are unhappy with what I've built and feel obliged to tell me how bad I am at software.