13 comments

[ 4.8 ms ] story [ 35.3 ms ] thread
I wonder what these requests for help look like. I idle in a handful of IRC channels devoted to various frameworks and languages. There are a handful of people who get berated, but it's nearly always people who come in and demand answers and are unwilling to do any leg work to describe their problem.

If it's gotten to the point where every single time you ask for help you're being bullied or berated, the common denominator is you. How are you going about asking? What venues are you asking in? What do you do to properly describe your problem? When people ask you to try things do you do it or argue that whatever they're suggesting can't be related?

Some communities can be pretty hostile to newcomers. Not necessarily programming, but a lot of tech communities complain a lot about newbie questions, basically saying that they're not here to write config files for you, or things like that.

Some people revel in the 'secret clubhouse' mentality of being the only people to understand how some program works or something.

I think the number of people who enjoy being siloed experts is many orders of magnitude below what people think it is. I think in the tech community, most hacker types love helping others along. After all, somebody influenced us. I've met maybe one or two people my whole life who got sick enjoyment from watching people stumble, and even they eventually grew out of it. The problem is not that experts hate newbies, it's that they've already answered the exact same question fifty times. Were one to type that question into google, it would spit out hundreds of results saying the same things. The answer is already out there. As hackers, we follow the DRY rule, especially when giving help. If it's out there on the interweb, then please tell why we should explain it yet one more time.

In the end, it's a balance of efforts. While it would take the expert 15 minutes to craft a good explanatory reply, it would take the asker a few minutes to type it into Google and read the first few responses that pop up. For any good question, the burden of time should be on the asker.

The amount of help available online to aspiring programmers is, in my opinion, profound.

I cannot even begin to describe the amount of gratitude I feel toward others in this field who spend their free time answering questions and in writing useful blog posts and tutorials; not to mention the scores of free ebooks available from their authors along with the numerous open source projects that are freely available to everyone everywhere to study or use.

I can only guess that the author was having a bad day when he/she wrote this post. But despite some nasty mannerisms here and there; it seems apparent that the online tech community is comprised of a lot of people willing to share helpful information with others; without reservation or any expectation of compensation (other than rep points, perhaps).

What are you trying to say?
If you love programming there's no reason to let unhelpful online responses get you down. Keep looking for good people that can help you online, they do exist. And keep trying to improve the way you learn and the way you get information from others. Eric Raymond's "How To Ask Questions The Smart Way" might be helpful [1].

[1] http://www.catb.org/~esr/faqs/smart-questions.html

That one (and similar guides) really helps. When I started out programming and went to IRC for help people frequently pointed me to those tutorials. When I started to follow the gist of them, I got friendly answers all the time.

This goes both ways: If you're and expert annoyed by this moron who can't even state his question properly, point him to this tutorial and leave it at that.

I agree, but I've been berated in the past for linking this. Maybe it comes off as a bit harsh?
I think a lot of people can relate to your experience (I spent a lot of time in front of a QBasic window and Flash).

When I read this though, I think I started getting what was happening:

>despite me having implemented best coding practice, and having my plugin include over 30 major original classes created by me.

It sounds like you might not really get what we mean by design patterns. I don't think number of classes is ever an interesting metric to people, but the fact that you mention it makes it sound like you might not 'get' what people are complaining about.

But I think another problem you might have is the people you're talking to the wrong crowd. Stack Overflow, for example, has a great community, and the people there show the utmost patience. It's truly one of the best communities on the internet(despite endless complaining here on HN about the proactive moderation)

The flip side is that you might actually be fighting back a bit too hard, and you might actually be the "annoying guy who doesn't want to understand". Always difficult with one-sided stories.

I don't think of a large project by the number of classes it has, and I was actually hesitant to place this in the post, but I needed something people could to relate to for a size metric.
> I learned by copy and pasting novels of code, and did not read a single book, or take a single class

This is the problem. His story sounds familiar to mine at first, but a generation apart. I was taught to self-learn, read books, and first figure out the right question to ask. Then, and only then, ask the questions. Copy and pasting doesn't have to be terrible. Copy, paste, and then figure out what the heck it's doing, and then modify it to your own purposes. Iterate. Read books. Google stuff. I only mention the generational thing because the lack of opening a book seems to be just that. My generation did that, his does not. I can easily see how he probably gets shut down a lot without understanding why.

So, advice from someone who started by copying and pasting... Read the book. RTFM. Use google, and only ask questions when you're confident what the question is. If someone makes fun of your classes, don't whine, just go read about OO design and patterns and make them better. Above all, this is not acceptable:

> which has the code almost unchanged since then at gamebrave.com

You should always be improving. This is the statement that clued me in to wannabe syndrome. It's ok to want to be something. It's not ok to expect that something to get handed to you. Read the books, take the classes (these days with MOOCs there is no excuse). Put in the work, and soon you'll be the one ignoring the noobs.

I think you found they two week points in my post, just to clarify, I did modify the code I found, and I did write my own code. I just put that as a way to show that I went out, and learned in a naïve way, searching Google for almost everything I needed to know to do something.

Also, gamebrave was changed many times, and I improved it as much as I could, the layout changed many times as I learned more effective ways to write code. I just stopped working on it at one point because I wasn't getting anything out of improving the website, I wanted to move on, and try a new project. It wasn't going to ever be a really business, it was just a way for me to learn how to write web code.

Also, this is my early story, and was fed mainly by curiosity, and not a formal education plan. Based on a lot of advice I have received, I will be reading books on programming topics that interest me.

Absolutely understand. I've been close to there. Definitely read books, and take advantage of the fact you can get a 100% free CS education from MIT in the comfort of your home. I hope I didn't come across too abrasive, I've just seen a lot of symptoms lately in your generation of people who want to show up to work and get paid for stealing time from the rest of the team instead of doing some self-learning. Your learning track mirrors mine too much to let you fall into this trap. Learn how to learn.

I will suggest the following advice; take it with whatever worth you might... work on improving Gamebrave. A LOT of developers I hire and work with love to constantly move to something new, something that will challenge them in a new way, allow them to use their new abilities, new technologies, etc. Resist this desire, and you will find success. Those developers come and go, and I certainly spent my own time doing this. But starting new is easy. It's not difficult to get through the hello world phase and get something started. What's truly difficult is pushing something past that plateau feeling into something even better or more effective.

And it's that skill (of resisting newness) that will get you hired full time, and indeed what I look for. If someone says they get passionate about debugging or refactoring, it's worth a thousand people who like starting from scratch. So go and open up your old code, improve it, maybe figure out how to turn that sucker into some passive income, figure out a way to get people there. Trust me, learning this Zen of development will be much better for your future career (assuming you want to do this full time). There's a reason that old OS/2 and mainframe people get jobs worth twice what their peers get for slinging javascript.