S.O.S: Save Our Sanity

When I first got started in Rails, I was almost more amazed by the community than by the framework. Admittedly, at version 0.7 Rails wasn’t nearly the framework it is today, but it was still really incredible—or at least, you could tell it was going be really incredible. But the community was really something else.

After tooling around with the first tutorials Curt Hibbs-style, I stumbled into the online Rails community—the mailing list and IRC channel. This was the golden time, when you could get an exuberant answer to almost any question, be it trivial or deep, high-level or specific. People were eager to help and share their knowledge and excitement about Rails. David himself was there, and other folks who I later learned were Rails bigwigs, all helping people out.

If you’ve stopped by there lately, you’ll know it’s not like that any more.

Growing Pains

Why is the Ruby on Rails community nowhere near as good as it used to be? Why is it more and more unusual to find Rails committers in the main community help areas? Why does #rubyonrails resemble nothing so much as #php, only with a lot fewer ops? Why has the signal-to-noise ratio on the mailing lists dropped so sharply?

Well, you might say, the Rails community has exploded since you joined it, old timer. This is simple, undeniable fact. But I don’t think that the complaints I have stem from this newbie-splosion. Some of the problems, sure. But not all.

In theory, if people move from newbiedom to intermediatedom, and from intermediatedom to expertdom at even a quarter of the pace of newbie influx, then the balance of knowledge will remain the same. And certainly there are tons of educational resources that didn’t exist back when I came to the community—informational blogs, question and answer sites, online manuals, paper books. The number of people using Rails professionally has blossomed, so you know the expertise is there.

Growing pains are not the root of the problem, so what is?

The One True Answer

I wrote a really long article to answer this question. Long enough to exceed the reasonable limits for a blog posting, and also long enough to warrant its own date-independent place on my site. Continue onward to read my answer. Watch out for the fangs.

Props

Thanks to Marcel Molina for his help with the editing and direction of this piece.

Feedback

Now, Typo’s page system doesn’t allow for comments on pages. But you can comment, complain, or whatever, right here instead.

No Comments

  1. Colin Barrett says:

    Wow, what a great article. I’ve been trying to tell people this stuff in the Adium support community for a number of years, but I never thought of giving the help vampires their own name (I just called them users). This is extremely well written, Amy! I have a feeling I’ll be passing this link around for a long time!

  2. So Essentially... says:

    you’re saying that "help vampires" are people who only ever take from the community and rarely give anything back?

    Why didn’t you just say that?

    Maybe this growth really is the root of the problem. So many people new to Rails have started flooding the usual avenues of communication in the community that a huge weight has been put on the backs of the so-called "experts." Unable to deal with all of the questions, these "old timers" leave the mainstream areas, questions pile up, and it looks like all the channel is is a bunch of people demanding help.

    I guess what I’m trying to get across is that there will always be your "vampires" in a community, you can’t escape that. No matter how many help sites or resource wikis you make, there will always be that problem. The thing that makes the problem so bad in the Rails one specifically is purely volume.

    Oh, and one more thing, why is that article so long and flowery? Being concise, not repeating yourself, and keeping it simple don’t only apply to programming…

  3. Chris T says:

    Agree with pretty much all you say.

    As someone who’s a relative Rails and Ruby newbie, I’ve tried (and usually succeeded) to limit my requests to the mailing list, and have a personal rule: only ask when I’ve spent at <em>least</em> 2 hours trying to solve the problem — Googling, searching the wiki, searching my desktop (Thunderbird has the last 5 weeks RoR mailing list posts), reading the relevant bits of the Agile book really carefully, checking out the API. Even where I haven’t been able to find the answer, I’ve nearly always extended my understanding of the framework and/or ruby.

    However, it’s noticeable that the mailing list (even in the past 2 weeks) has exploded, to the extent that it’s impossible to read the posts anymore, and I’m sure if I feel like that after just 6 weeks or so, the core group must feel doubly so.

    We really need a place for newbies to ask dumb questions without it adding to the white noise, and I personally reckon a forum is a more suitable place for that than a mailing list. It’s more easily searched, older threads are more accessible if they need updating, there’s the possibility of sticky posts, etc, etc.

    Just my $0.02. p.s. Thanks for the how to posts on this site. Been a big help.

  4. Matthias says:

    Maybe you know it already. Eric Raymond wrote a similar piece.<br/> <a href="http://www.catb.org/~esr/faqs/smart-questions.html"&gt; How to ask questions the smart way</a>

  5. David says:

    In my Rails deployment at work we’ve solved some pretty puzzling things involving running Rails on Windows servers where the corporate environment requires using MS SQL Server and NTLM/Active Directory authentication.

    I used to monitor the Rails list for people asking about these things and chime in when I saw something we’d already solved. The thousands of daily posts, mostly repeated problems that have been solved and documented on the net or list already, forced me to unsubscribe just because I never had time to read through the posts.

    Great article Amy!!

  6. floyd says:

    Good article, and very clear and tactful. Like any hobbyist, I find it very difficult not to at least stray into vampdom on occassion. But as I actualy noted in a post about this subject recently, I have been really frustrated by the API and existing documentation. I was a php hobbyist for several years and I never strayed anywhere near #php–phpbuilder was more than enough of a resource.

    And so, I propose an addition to your vamp-reforming techniques: if some asks a simple question about implementing a method in a the API, don’t just paste the url. Follow it and check whether there is a clear example. If not, then instead of fixing the vamps problem, solve it as an example on a new wiki page and redirect them there.

    I think phpbuilder is a good paradigm for documentation. Not only the hard and fast mechanics of the language, but also examples and comments from developers who had already solved potential issues.

  7. Amy Hoy says:

    Thanks to everyone who’s taking the time to read my articles, and doubly so to anyone who comments :) I hope this will be useful to many online communities, not just Rails. (Even tho it feels like we own the universe sometimes, we do not, alas — yet.)

    I especially hope that by giving these folks a simple, memorable name, I’ll be helping the effort to reform them.

    To So Essentially…, humans are not computers, they are thinking beings whose thought processes operate largely on metaphor rather than cold, hard logic. I write the way I write, and humans seem to like it. You would probably more enjoy reading the ESR version linked to by Matthias.

    Matthias, of course I’ve read How To Ask Smart Questions. But like a lot of open source, it was written to serve the author, not actually solve the problem. People who will wade through all of that are not the people who cause the problems.

  8. doug says:

    Amy, thanks for the great article. I’m surprised there’s not more written on this–as you noted, it seems to affect most online software communities. I particularly enjoyed the part about ceasing the enabling behavior. That’s a great alternative to the two classical responses (ignoring the help vampire questions and/or flaming on the poster).

    Thanks and keep up the good work!

  9. Paul Hart says:

    I don’t have code to support this, but I think the following would be useful:

    Set up a Q&A forum, possibly something akin to "Ask Metafilter" (http://ask.metafilter.com/ for those playing at home). However, when someone posts a question, parse the question for unusual words or phrases that appear in other questions that have already been answered, and offer those to the poster, saying in a jedi-like way "are these the answers you’re looking for?" Make the poster read (and maybe even state through some AJAX-y goodness) whether or not the question is answered by the previous Q&A stuff.

    If the questioner ends up posting their screed, make sure they can go back and flag answers that work. Then the little answer-engine can scan those and add them to the Pool of Answer-y Goodness.

    Amazon does this kind of thing with their Statistically Improbable Phrases that then link between items they sell.

    I don’t have the free-text-search chops needed to code something like this, nor the free time as my blog might attest. However, it seems to me that it’d be a smart way to handle this.

  10. Great essay Amy! I have seen this whole thing you speak of transipre since I started rails when it was first released. The community has changed quite a bit since then.

  11. floyd says:

    11: if there’s any distinguishing feature of a help vampire, it’s that they’re not willing/able to trade on their own knowledge. This is even the case for total noobies. In this sense technoweenie is more of what amy called a ‘walled garden’

    We need a free/voluntary exchange.

  12. Andrea says:

    Amy, thanks for the great article! I’m so glad I’ve finally found an alternative to ESR’s text (which I don’t like — but I’ve pointed people there for lack of better alternatives). And I just love your description of the ESR text ;)

    For those people who think the text is too flowery and so on: Read <a href="http://workaround.org/moin/GettingHelpOnIrc">Getting Help on IRC</a>. It also lists a few points that Amy doesn’t mention in her vampire text, so it might be interesting for everyone else as well ;)

  13. Dave says:

    "It appears that male Help Vampire, drawn as it is to shiny technology, occupies an evolutionary niche that females of the species simply do not find desirable."

    This is only true because the female of the species has taken over every other form of Vampirism we humans have. Bloodsucking vultures of death and destruction they are… :)

  14. Sean Bryant says:

    It’s simple when something blows up things get messy. Rails is no exception. In fact Rails over shadows ruby. Which I think is funny, yet sad.

    I was talking to my friend and mentioned how ruby is a really neat and excites me. And he told me he refused to learn it because he thought frameworks were bullshit. Now this friend isn’t exactly the brightest guy, nor the most informed. Yet he does represent a large number of developers. It seems things will only get worse, with people making the same mistakes over and over again.

    I used to frequent the #ruybonrails channel, (anonuser) and did have fun chats with people. It quickly came to a halt as things got really messy. I did learn a lot, and in return I helped those who came after me. I wrote articles to help people. And it eventually became a chore to direct people to the wealth of information provided. I’m not sure if this is still true, but this was true.

    Glad to see someone else has vocalized their opinion on the degredation of community.

  15. Jake Tracey says:

    Great one, Amy! Really enjoyed this one!

  16. Amy Hoy says:

    I’ve just deleted a very off-topic comment.

    If anyone else would like to write me an essay dissing my writing style, claiming the Greeks abhorred metaphor in their literature, and so on, feel free to catch me on IRC.

    All other conversation, please continue :)

  17. Paul Hart says:

    court3nay, agreed, techno-weenie has good stuff… so does "snippets":http://www.bigbold.com/snippets/, though it runs the gamut of languages.

    I what was trying to get to was that it may be worth making the mailing list secondary to a more structured Q&A forum/system. r.t-w.net certainly has a lot of the characteristics that I’m suggesting.

    Splitting the single mailing list into a group of them with specific foci would be an improvement too, and requires very little work. Have domain-specific groups for installation woes, AJAX, habtm (lots of questions seem to crop up around that in particular), edge rails, etc etc.

  18. Amy Hoy says:

    Paul Hart, sounds like a forum would be better than mailing lists for that. :)

  19. Yvonne Adams says:

    Great article, Amy!

    This is something that’s frustrated me in so many communities I’ve been a part of.

    They might as well say "do it for me so I can call myself a developer without learning anything".

    In the meantime, they ask to make everything one-click and still call themselves "programmers".

    If you’re a designer looking to work with programming tools, that’s great. If you call yourself a developer or programmer, and you’re too lazy to learn how to do anything, then you’re a [email protected]#ned liar. Relabel yourself so the perceived market value of actual programmers doesn’t go into the toilet.

    The vampires exist in other communities as well. Most of the known CSS gurus don’t participate anymore on the css-d list because it would be too big of a time sink with no returned value to them.

  20. Eamon says:

    Absolutely facinating description of a general problem with forum communities with a useful intervention strategy. I wonder how much topic-weighting fixes this.

  21. Robin says:

    Great article and so true! I see them in every tech forum I’ve been to.

    BTW I just seeded the article on the vine on <a href="http://civ2boss.newsvine.com/_news/2006/03/24/144596-help-vampires-a-spotters-guide">Newvine</a&gt;

  22. anne says:

    The article rings completly false to me. How odd every one who posted a comment is full of praise.

    I am not arguing about the facts. With an increase of folks trying to use Rails, there will be an increase of messages.

    But calling us new users vampires who destroy cosy little kindoms is ridiculous. It is like saying the farmers who flock to cities are distroying the beautiful cities with their shanty towns. Sure they do. But life is change and as soon as a crop makes money, others try to grow it, and the prices crash… Blaming is just a comfortable way of bemoning the past and protecting one self from the pain of change.

    Right now, I am in debt to many people, Coming from a C background I don’t see the ruby solution to my problems until someone points it out. Each intervention moved me forward conceptually in a big way. And still the going is very slow and frustrating. There is no university training out there, only examples – in the more treaded areas – which are dead and do not offer the motivation of working on one own’s project.

    I have been getting the help I needed, even if I had to work on my problems for days or weeks and reformulate until my question made sense.

    You are saying hard questions are not being answered, and you mean questions from more worthy folks who are genuinely stopped by a specialized problem not resolved somewhere. the experts no longer have a forum to help those, you say.

    Instead of blaming us, the uncough who make the 10 or so books coming possible, why don’t you discuss ways to address this issue. Why not a garded community —americans love garded communities to keep the undesirable out—. Offer a puzzle, only those who solve it in a wonderful way can enter the garden of eden?

  23. Yvonne Adams says:

    Anne, where did you get the idea that amy was causing new users vampires?

    Newness or experience has nothing to do with it. The vast majority of new users aren’t vampires, and there are clearly examples of vampires that have being doing it for years. It’s a personality trait similar to trolldom.

    The increase in vampires is probably more due to the growth of the list in general than the number of new users.

  24. Yvonne Adams says:

    "amy was causing" s/b "Amy is calling". I make way too many typos.

  25. Derrick Spell says:

    Here, here! Amy, thanks for writing this. I just joined the rails community around Christmas, and I’ve heard the legends of which you speak. Unfortunately, I’ve been unable to use the mailing list or IRC effectively. Just too much noise.

    I have this sneaking suspision that the bigwigs have retreated into a secret irc channel – a safe haven from the dangers of our infested community. But alas, I have not been able to locate it. I wish them well, and hope they are safe.

    Oh, and pay no attention to these amateur writing critics. You are our resident Rails Right-Brainer, and we appreciate it.

  26. Amy Hoy says:

    Hi Anne, please read the full article before saying I’m calling new users vampires, because I’m doing nothing of the sort (as Yvonne also pointed out, but I thought I’d respond personally). The Help Vampires are people who take and take, do not give back, and certainly don’t spend much time formulating their questions like you described yourself doing.

    If you’re going to angry, you might as well put in the time to make sure you’re right.

    Yvonne, too true what you said about people’s imagined titles not jiving with their behavior. As an aside, I found most people in CSS communities to be small-minded individuals who get off on the idea that they’re demi-gods who validate and everyone else is worthless. I can’t stand them for that reason!

    Robin, thanks for the Newsvine thingy.

    Derrick, thanks for backing me up :) I don’t worry too much. Nobody who claims the Greeks abhorred metaphor can be taken seriously.

  27. Steve says:

    What I got from the article is not just that Help Vamps take and give nothing back, but they ask for the world (or at least can’t phrase a question properly).

    The beautiful example of "How do I build a forum in Rails?" is all too common, although sometimes, I think some people don’t mean to suck the life out of the party as much as they can’t ask something properly. Asking whether acts_as_tree or acts_as_nested_set is better for a comments section seems a little more reasonable to me. What I’ve seen is that many don’t really want someone else to do the work, but simply don’t come from a programming background and may have missed that book on good SQL practices.

    Help Vampires haven’t just made it hard on people like you, Amy. I’ve been finding it more than difficult just to ask a question (no matter how thought-out it is) on the IRC channels or other groups. Vamps aren’t just hurting those in the community, they’re hurting those who can’t get a reply from those now sick of answering questions. I don’t think Help Vampires are always lazy as much as uneducated in programming fundamentals and seeking advice on their database structure or whether something should go in the model or the controller (In other words, not everyone learns by reading snippets).

    Although in anne’s partial defense, I have to agree that some of my own questions have even been branded as vamp-ish because my previous experience makes ruby look so foreign that I don’t see the obvious solution.

  28. Steve says:

    While I do agree with the vast majority of your article on Help Vampires, I think Ruby, and Rails in particular, received far more Vampires than most programming communities do. I believe a good deal of that stems not just from the level of hype placed on Rails, but the nature of the hype itself. Nearly every tutorial and introduction I’d seen on Rails made everything look so automagic and wonderful that you didn’t have to think about anything– just come up with an idea, create a few scaffolds and everything will be taken care of.

    Only after people actually started building applications did they notice that there were one, two or maybe even three features that weren’t handled by some magical talking kittens in a distant galaxy ensuring that everything would be totally problem free. After discovering a fourth feature that those darling magic kittens had neglected, many would-be Rails adopters roamed the wastes in search of help for many of them may not have been entirely competent web developers to begin with.

    Forgive me if I sound jaded (it’s really not directed at anyone), but when screencasts abound made Rails seem so easy that you can teach grandma to do it before she learns how to check her email, one has to anticipate newcomers that would have, otherwise, never considered anything like programming. I think the biggest problem with Rails’ HV over-population was that (the majority of) the hype didn’t prepare people for the idea that Ruby is still programming. Rails is just a nifty way to package it for the web.

  29. Amy Hoy says:

    Hi Steve, the whole point of my article is that Help Vamps screw everyone (unintentionally), because they remove the will to help from the community at large. They lose the goodwill that was there.

    And really, Rails doesn’t have more obnoxiousness than, say, PHP… actually, it has a lot less. So, I disagree with you about the reason it has more, because I disagree with the assertion that it has more.

    Everyone saw the results of the scaffolding videos — a half-baked app. The promise was that you could get to half-baked a lot quicker than with any other solution. If they’d take the time to dig deeper at all they’d see how much there is to learn. So, I think again that the problem you describe stems from people’s unwillingness to do their own research.

  30. Steve says:

    Fair enough. I guess where I see history a little differently is that, from my observations, people saw that half-baked app and (as you correctly pointed out) didn’t bother thinking that a more complex program will require more effort. Where I’ve seen many people fall in Rails is that, unlike PHP’s beginnings, the videos demonstrated that Rails even produced views which showed immediate results.

    There were plenty of half-baked adopters to PHP without learning plenty of web development basics (SQL injection, anyone?), and for that we have a wealth of PHP security consulting firms and publications.

    From Rails, I’ve seen a wealth of people jump on the bandwagon because they figured if the framework (largely) got rid of monolithic SQL queries and created crude templates for you, well, then a full application would only require a little tweaking and a skin, right?

    In retrospect (of a whole hour), I suppose the hype wasn’t entirely the problem in my eyes, but the way early adopters perceived the hype (as you mention– lack of research). After the explosion of PHP and the massive security holes left in its wake due to that kind of unfocused enthusiasm (from which many still suffer), I’d assumed that people would have learned a lesson or two.

  31. Jenna Fox says:

    Awesome article! as an ex-php (yuck yuck yuck!) rails newbie myself, i am guilty of the occasional unresearched question… a central resource would be wonderful!

    Lets go change the world!

  32. jcasimir says:

    I think this problem started to become evident as early as last fall.

    The fact is that we’re lacking second-tier documentation. An expert can dig through the API and find what they need. A newbie can follow one of the intro tutorials and create something.

    What we’re missing is between the two. The problem is that second-tier stuff is HARD and it’s not very rewarding. The author of a great first-tier (beginner) tutorial can achieve a certain amount of fame and "value" from writing the material. An expert who is digging through the code, looking at patches, and augmenting the source is gratified by the technical challenge of implementing or fixing a feature.

    It’s just not that fun to explain stuff.

    Being in the business of teaching, I’ve thought a lot about this problem. Here are some ideas:

    1) Rails Weenie is a great idea and needs to be ramped up. Rick’s work is a good start, but it needs to be finished off. The search has to work better. As I’ve suggested to him, and someone mentioned above, there should be something like "Are you sure your question ‘blah blah’ isn’t answered in ‘how do I blah blah’?" TextDrive does this in their help requests and I think it is simple and effective.

    2) We need to discuss. There isn’t, right now, a place to discuss best practices. The mailing list is about solving specific problems. The IRC channel is about solving specific problems. Many of the community blogs are in the right direction, but we need to think about how to teach/discuss/learn techniques BEFORE we need them. The problem of the Help Vampire is that they ask uneducated questions. If we can broaden the pool of knowledge BEFORE problems come up, then they become easier to solve.

    For one realization, I would love to see a Rails magazine. I love dead trees, but realistically we’re talking an e-zine. A place for people to just learn in abscence of a specific problem or job. If you have time to read all the mailing list posts right now, I find it hard to believe you’re employed. We need a source where multiple contributers can talk about things they find interesting, techniques they use, and ask themselves and the reader interesting questions – broadening knowledge before it’s needed.

    3) We need better aggregation of what’s out there. There are a lot of tutorials, explainations, plugins, examples, blogs, and other resources on this digital Earth. Right now it is difficult to sort them out. Some things are on the Wiki, but in my opinion the wiki has thusfar been poorly managed (I personally liked it better when it was on Instiki just from an interface/usability perspective).

    Again, the "magazine" (whatever for that takes) idea comes back to me again. A place to index, categorize, rate, and critique resources. Even to do lame things like "Top Ten Things You Didn’t Know About Helpers" or something. Learning before it’s necessary.

    4) The experts can’t waste time trying to bring up the newbies – it won’t work. The experts need to help the middleground, and the middle needs to help the newbs. This is the only way the numbers and scale can work.

    Can you see a trend yet? Experts and "upper-middlers" collaborate on articles for the "magazine." Other moderates will blog about, react to, and post additional information about those articles. All of a suddent the article is the seed and there is a tree of information available on the topic. Googleability increases as more people use the language that THEY think applies to that problem. Ideally, the circle completes as the original article/resource can cite "For Further Reading" links to the subsidiaries.

    Are we too small to make something like this work? I really don’t think so. We just need the path and a first push.

    Thoughts?

  33. Danno says:

    I can’t help but wonder if the problem would be as severe if Rails’ docs were more fleshed out.

    They and the wiki seem to be a bit of a mess right now. Knowledge is present, but it requires archaelogical work, above and beyond Google.

    The "less code" way of handling this situation, I think, is to make the path of least resistance browsing official documentation instead of tittering midnlessly in the channel.

    Also, it might not hurt to establish a #rails-foremen (or similar train related pun) channel or something like that for people that have more experience with Rails.

  34. <b>jcasimir</b>: I agree with your initial point. But I really think you’ve got taxidermy syndrome. You’re trying to categorize and organize everyone into tiers and categories. Here’s what I’ve seen work: If you want to see change in a community, start with yourself. Do the things listed in Amy’s article. They’ll spread. Other people will start doing it too. All the kids these days are talking about "memes" and "social viruses." Well, where is it written that memes are limited to longcat and harbl. Who ever said being nice, helpful, and generally contributing to the well-being of the community (i.e. doing what the article in question describes), couldn’t be a meme? :)

  35. Steve says:

    I have to agree (mostly) with jcasimir.

    As a n00b on Rails, I’ve had my fair share of frustrations from a lack of mid-level knowledge on the subject. I don’t even bother with the IRC channel anymore, not because of HVs, but all the mentions to ‘check the wiki’ when the lack of help on the wiki and other places is what had led to the IRC channel in the first place.

    Either way, I’ll be working to add my knowledge, albiet limited, to Rails Weenie to start.

  36. Amy Hoy says:

    It’s so easy to add up all this stuff we should do "first," so that nothing ever changes at all. I’ve learned that lesson the hard way. Committees, teams, planning… it all spells "no change." Grand plans equal inaction.

    Plus, you know, I’m in the middle of writing a book. :) I’d like to make some money some day. That involves finishing it.

    I agree with Colin about the taxidermitis. And I agree with Jeff that there’s very little middle content.

    Perhaps an immediately achievable first step would be a modest "start page" as I described (already working on it with a few friends), and people pitching in on a Wiki Gardening Day.

  37. Adrian says:

    There are many problems, partly due to an influx of impatient and selfish people, partly to the hype and partly to the nature of Rails itself.

    1. I get the impression that many people with varying degrees of previous non-Rails dev experience are starting out creating commercial applications for their client/employer as their first (substantial) project. These people are impatient and will badger everyone with their insistent demands because if they don’t have a "solution" by 3pm, they’re going to get fired.

    By contrast, people that actually love learning and experimenting with new technologies will take them for numerous test drives, either as personal/throwaway projects or open source stuff that doesn’t have a punishing release schedule.

    Answer: relax, explore, and demonstrate a love of learning rather than a commercial imperative to hit ludicrous self-imposed deadlines.

    1. The hype really is a problem. Just because DHH can write a half-baked blog in fifteen minutes, doesn’t mean that you can. Consider: he’s a Ruby expert; he wrote the framework; he may very well be smarter than you. And after all that, as has been pointed out above, it’s still half-baked.

    Most of the rest of us, myself included, have only learned Ruby to use Rails and are average competent developers rather than world-class ones. Rails is powerful but I wouldn’t say it’s easy or quick to learn. It does have a substantial payoff once you’re up to speed, but I’d say the average dev will take weeks if not months to get there, not just an afternoon or a weekend.

    Answer: lower your expectations; learn Ruby; take your time.

    1. Rails’ power is paradoxically its weakness. Many devs can quickly get up to speed with new scripting languages for the web because they’re building on their knowledge of HTML and SQL. Rails doesn’t eliminate these entirely but moves them into the background. (And yes, I know that you can just use SQL and HTML exclusively, but it’s not the Rails way.) So this causes two problems: people that are good at SQL and HTML have to learn a new way of doing these things. People that aren’t good at SQL and HTML get even more confused as it adds a layer of abstraction on top of something they only understand weakly. There are a lot of devs whose SQL and HTML doesn’t really cut it.

    Rails cannot teach you how to design. That requires insight, experience and past a certain point, talent.

    Answer: learn the fundamental stuff first.

    Commercial support for Rails is very much needed. A service where people can get expert answers in a short timescale, for a price, would be a great place to redirect the help vampires that don’t show any signs of reciprocating to the community. It’d actually suit them much better, too.

    The Rails community problems will correct themselves in time. When someone flounces out saying, "Well if it can’t build a complete replica of eBay by Friday, I’m off!", it’s a good thing. Many people will try, fail, and give up for various reasons. As more average developers go through the pain of getting there with Rails, the stories of their experiences will provide a necessary antidote to the hype. Rails will succeed, but not for everyone, and the community will bounce back. Give it six months to a year, not least because Zend Framework for PHP will be taking off, giving PHP devs a much less painful route to approximately the same goal.

  38. eptron says:

    You know, I think a lot of this problem has to do with the fact that, in general, great programmers are very kind people. You’ve gotta have a very patient and generous personality to be a good programmer — open source programmers, doubly so!

    It’s sad that the force that motivates people to be generous is so easily perturbed by those who are greedy.

  39. Amy Hoy says:

    Adrian, you make some very excellent points. You’ve managed to articulate some of the things which we all feel on the edges, but haven’t been able to put our finger(s) on. I salute you, sir!

    eptron, yes, exactly. That’s why the first few steps I outlined are distancing yourself from the Vampires so that they don’t wear you down. We tend to give too much, without return, which will burn anyone’s spirit out after a while.

    Hopefully if people follow those steps, not only will being a Help Vampire suddenly not become a rewarding strategy (because people will do it as long as it pays), but we’ll all feel less run down.

  40. Pat K. says:

    There are plenty of female Help Vampires; it’s just that they tend to populate different habitats.

    Craft-related communities, for instance, are swarming with them.

  41. charlie says:

    Be careful not to come across so harsh. We want to keep this influx of newbies coming.

  42. Tomas Jogin says:

    Personally, I see these problems with the Rails community and support systems.

    • While there are plenty of Rails resources, they are decentralized. There should be a single support Resource which the community gets behind (building it and improving it could be a community effort). Rails Weenie might just be the closest thing we’ve got to this right now, but it does not get the focus and attention it needs. Were Rails Weenie to become this central resource, it would need to be fleshed out a bit, for instance with tips ordered by significance and/or frequency or some other rating system. (Becoming a FAQ we can point to.)

    • Most (not all) Rails developers of mid-to-high level experience have all but abandoned the open community in favor of Walled Gardens. This sucks.

    • The IRC channel is too big. Split it up into, for instance, #rails-help, #rails-discuss, #rails-edge, #rails-general, #rails-engines, #rails-newbies or whatever.

    Thanks for the great article, Amy.

  43. Sean Bryant says:

    Well said Adrian.

    Your first point is dead on the money. A lot of people are usually like "shiny technology let’s use it!" Which really not what you want to do especially since you’re most likely going to be pushing on things that need to work and not really have any gotcha’s These gotcha’s can occur from really not know the new technology too well. And this happens all the time. I know before I even pitched the idea that we start using this new technology in our company I sat down and took the time to learn my way around. Just basic things. Granted I picked up on ruby really fast. And I had learned it before ever setting foot in the rails arena so it wasn’t that big of a change. I wrote demo pages and showed them how to do all the traditional things using rails and a decent flow to go on. All the demo pages and the code snipts all layed out in front of them so they could see what’s going on. And then I pitched the idea. That way they won’t be shooting in the dark trying to learn this mysterous new technology.

  44. Mystery says:

    Ok, this is retarded. Your "List" of things common in vampires…dumb. I’m not a help vampire and yet I fit ever single thing on that list. Why don’t you just not waste peoples time with this crap…K?

  45. Saw your site designed on CSSMania – congrats Amy!

  46. Benjamin says:

    I was just going to mention Amy hoys article guide. It’s pretty useful.

  47. Brian says:

    Well, I see what Amy’s point is with the article, but I do think it is a bit of an unbalance viewpoint. We’ve all had experiecne in being a newcomer to a certain technology. Luckily, I haven’t seen the arrogance in the Ruby community (yet) that I’ve seen in the Linux community, (http://linux.slashdot.org/article.pl?sid=06/04/19/1235227)

    but I fear that unbalanced articles like this will fuel such arrogance in the future.

    I understand that people need to learn how to research things themselves. Honestly though, in terms of research, it logically makes sense to go directly to the chat room to ask questions. You will get your answers much more easily.

    As someone who has done tech support for many years, I have seen many "helpers" who get frustrated about having to help people. That mentality never made sense to me. Why do they sign up for the job?

    In fact, the question of "how do you make a forum in rails?" isn’t a ridiculous question to me. In fact, the answer is simple too. You simply (and nicely) explain that building a forum is a complex endeavor and it would take far too long to explain in a chat room. You explain some basics about the process and then you give them some tips on where to find further information if they are still interested. Why is that so hard?

    To me, the answer to "help vampires" is simple. No, really…and this is coming from someone who may have been a help vampire at some point recently (since I’m new to RoR and I’m still learning Linux). When someone asks a difficult and complex question when it is clear that they haven’t done much research…

    1.) Don’t get offended that they consider you to be a quality source of information on the topic.

    2.) Explain to them some overall basics about their question.

    3.) Without attitude, start teaching them on how to research further information on the topic.

    No matter what, if you are stepping up to offer help to people, then you know what to expect and how to deal with it. There really is no reason for snippy, condescending responses. The fact that you are a volunteer should not justify having that attitude toward people who just want to receive help.

    I think that is the other side of the coin to Amy’s article, which was well-written (typical of all of her articles), but I felt it was unbalanced.

  48. Steven says:

    Breaking the groups into subcategories like newbies, edge, etc. doesn’t really work because if people want answers to their questions, they’ll go where experts are, not where noobs are.

    "Why does a weaker person latch on to a stronger person?" – Cornelius/Rupert/Tyler

Hey, why not get a shiny
Freckle Time Tracking
account?