Live data from Hacker News

Friction Between Programming Professionals and Beginners

programmingforbeginnersbook.com

151–160 of 187 posts

Re: Friction Between Programming Professionals and Beginners

#151

Earlier quoted context omitted.

> No, just no. There is no point to any of all this search technology and this accumulated knowledge if no one uses it. And here we have a prime example of why beginners find the programming community to be so abrasive, and worse, it's sitting at the top of this comment thread. Ask yourself, would this be the answer you give to a 12 year old girl who's taken an early interest in programming? Or a single mother who's…

> Ever go to a gym and ask someone how to do a basic lift only to be scoffed at? Ever been to a foreign country and have someone berate you for not understanding how to navigate through some strange process or not knowing how to speak their language well enough? That's not asking, that's demanding that someone teach you. Its a brazen form of entitlement that completely disregards the state of the other person. In reg…

On one hand the going to the gym example is not a perfect analogy - the gym is a public place, and being accosted by some random person asking for help could be off-putting. Someone posting on stack overflow is not directed at anyone and is like a classified ad, it's not directed at you. You can easily ignore it as opposed to someone walking over to you explicitly asking for help.

However 2 things - #1 the bile you have for those asking for help is off-putting. #2 It takes more effort for someone to respond to a question and tell them off than it does to ignore it. And some of us in the programmer community would rather take the time to make a derogatory comment instead of either ignoring the comment or actually helping that person. THAT is the sign of a bully.

Re: Friction Between Programming Professionals and Beginners

#152
I suppose I have a hard time empathizing with the archetype of the beginner as presented in this article due to just how markedly different my own experiences developing as a programmer were.

I have never relied on the generosity of others to take their time to teach me - nor have I seen it as the responsibility of anyone to carry me along. I'm not dead weight, I'm independent and I have things I want to do.

One of my first experiences with programming was automating a menial task at my first internship. I was studying mechanical engineering at the time and my older brother had gotten me an internship at the company he worked for in the QA department. I was given the task of testing their in house search engine and recording the results in an Excel spreadsheet. When I got tired of doing it by hand I wrote a script to do it for me - a horrific mashup of PHP and awk and sed and all sorts of other gristle. But it worked. And it was mine. And I put it together by piecing together man pages, internet documentation, and trial and error.

After I switched my major in college to CS I was working on a personal project and when my professor couldn't give me an answer (he rightly expected me to figure it out for myself) I eventually ended up trawling though Java reference books at the local Barnes and Nobel to find a solution because nothing freely available gave enough detail.

The barrier to entry to programming is incredibly low. Anyone with a personal computer or laptop has an unbelievable treasure trove of incredibly high quality and FREE tools and resources to do absolutely amazing things...but that does not lessen the inherent complexity or difficulty of what programming is.

I think the attitude that many hobbyists or beginners bring to programming would be unheard of in practically any other sort of hobbyist field.

Build a basic knowledge and grow it. Yes. That means making an investment of time and possibly money. I have bought many supplemental educational resources (at first foundational algorithm and data structures and eventually technology and framework specific) because I want to learn. If you do not want to learn no one can teach you. And learning requires effort and engagement that are altogether lacking in many individuals.

Re: Friction Between Programming Professionals and Beginners

#153
post #8

> Attempt to answer the question, or don’t comment at all. Don’t tell them to RTFM, Google it, No, just no. There is no point to any of all this search technology and this accumulated knowledge if no one uses it. Someone asking a question that is answered in the documentation or has been asked and answered over and over should be pointed at those sources. One of the most important skills anyone is going to learn in a…

> No, just no. There is no point to any of all this search technology and this accumulated knowledge if no one uses it. And here we have a prime example of why beginners find the programming community to be so abrasive, and worse, it's sitting at the top of this comment thread. Ask yourself, would this be the answer you give to a 12 year old girl who's taken an early interest in programming? Or a single mother who's…

Not sure why you chose girls/women for all of the examples here as if to cast them as extremely delicate butterflies that can't cope with the toughness that is real life.

As a father of 3 (11 yo girl, 9 yo boy, 6 yo girl) who actively works to teach all of my children programming (yes even the six year old); if someone is that delicate whether male or female then programming is not the right field. Any real programmer is going to eventually venture into unknown territory where they are unable to find an answer and they must learn to overcome.

My 11 year old daughter and 9 year old son are both currently learning Java (so they can do Minecraft mods). Our process looks like this.

1) Dad assigns chapter or chapters to read and implement lessons.

2) Child reads chapter twice. Then child reads chapter a third time while working through the exercises.

3) If child encounters and issue they are told to search the book for an answer.

4) If at this point they still have a problem they can't solve they are allowed to ask me. At that point I NEVER tell them what is wrong. Instead I ask leading questions that helps them to find the answer on their own.

Personally I wouldn't leave a RTFM comment because it is a waste of time and effort for all parties involved. However, if people leave the field due to these types of responses I think they are not well suited to being a programmer and the world has plenty of other great jobs to fill so they should consider pursuing a different passion.

Re: Friction Between Programming Professionals and Beginners

#154
post #145

I am surprised that no one linked the What Have You Tried article by Matt Gemmell. http://mattgemmell.com/what-have-you-tried/ This is how I almost never got my SO topics closed. I state beforehand what I have tried, how certain SO questions may look related but are still not giving me enough knowledge to solve my problem. I do my best to make a convincing argument that I need help and can't make it on my own. A few…

StackOverflow serves a dual purpose: (1) to answer the immediate question of the original poster, and (2) to serve as a reference for anyone encountering the same problem in the future. I'd say that (2) is more important - good question/answer pairs on SO have helped hundreds or even thousands of developers beyond the original poster. Answering "what have you tried" may help with purpose (1), but is often just distra…

I forgot a bit about purpose 2, good point.

"And this whole notion of making someone "struggle a bit" is entirely misplaced when you keep purpose (2) in mind."

I didn't mean it that way. Struggling a bit also implies Googling an answer or looking things up on StackOverflow, it's part of the struggle before you ask someone (online or IRL). Specifically, querying Google, querying SO and typing in the question on SO and then clicking on the suggestions first are all part of the struggle since you haven't asked a person yet.

"Compare this to spending 15min to write a precisely-worded question (but without "steps you've tried"), and an expert spending 15min to write up an answer. "

When I think about it, a precisely worded question implicitly shows the struggle. Implicitly showing it is more effective than telling a whole story about it.

Re: Friction Between Programming Professionals and Beginners

#155
post #145

I am surprised that no one linked the What Have You Tried article by Matt Gemmell. http://mattgemmell.com/what-have-you-tried/ This is how I almost never got my SO topics closed. I state beforehand what I have tried, how certain SO questions may look related but are still not giving me enough knowledge to solve my problem. I do my best to make a convincing argument that I need help and can't make it on my own. A few…

StackOverflow serves a dual purpose: (1) to answer the immediate question of the original poster, and (2) to serve as a reference for anyone encountering the same problem in the future. I'd say that (2) is more important - good question/answer pairs on SO have helped hundreds or even thousands of developers beyond the original poster. Answering "what have you tried" may help with purpose (1), but is often just distra…

"What you've tried" often provides the missing context that allows a) someone to actually answer the question correctly and b) for later searchers to find it.

I detest busy work, but in this case it actually often needs to be done unless you're relying on ESP.

Re: Friction Between Programming Professionals and Beginners

#156
I appreciate the discussion this article is bringing to the table, and I mostly agree with it. I'm going to pick on the one thing that I disagree with.

The article said that professionals should not say: “why would you want to do that?”

I think this question is quite possibly the best thing about asking for help in a programming community. What better way is there to learn about programming than the Socratic Method?

What this question means is that the professional is dedicated, not to simply finding the short term answer to the beginner's question, but to helping the beginner actually understand the problem, and what the range of solutions are, and what the best solution might be. It teaches the beginner to not get stuck in a rabbit hole and look at the big picture. It teaches the beginner to do it the right way instead of the easiest most obvious way.

Re: Friction Between Programming Professionals and Beginners

#157
post #130

Earlier quoted context omitted.

>You can get blocked on SO from asking questions if you ask too many heavily downvoted and/or closed questions without a lot of positive contributions, but accounts aren't deleted just because someone asks a few bad questions Yes, that was it. I asked two questions, and was banned for it.

Here's what SE has to say about auto-blocking: http://stackoverflow.com/help/question-bans > ... The exact formula for the bans is not disclosed, but users are only banned if they have a significant number of heavily down-voted, zero-voted, or deleted posts. One or two bad posts will not cause you to be blocked from using the site. So what happened is definitely against current SO policy and auto-banning rules. If yo…

I can't find those questions and I don't much remember the account name, this was over 5 years ago, and even then it was my first account. So I don't really know.

Re: Friction Between Programming Professionals and Beginners

#159
post #30

Earlier quoted context omitted.

I'm not GP, but I often still go there via Google searches that turn up questions, and then discover that a useful question with a great answer has been closed as off-topic to the programming forum. 90% of the time it seems like a legitimate programming question.

Yes, I turn to google as well. That's what over 30 years of development experience give you: You know how to use google to turn up the correct answers. And as I use Java for a living - there's a great decompiler in my IDE. Use the source, Luke. By the way, showing a talented beginner where good documentation is - I think that's frequently the best way to help them along.

Most of the time Stack Overflow answers are top of my Google hits.

Re: Friction Between Programming Professionals and Beginners

#160
post #8

> Attempt to answer the question, or don’t comment at all. Don’t tell them to RTFM, Google it, No, just no. There is no point to any of all this search technology and this accumulated knowledge if no one uses it. Someone asking a question that is answered in the documentation or has been asked and answered over and over should be pointed at those sources. One of the most important skills anyone is going to learn in a…

Except what I find tends to happen is:

1. You google the problem and find results from stack overflow and some out-of-date blog posts from 4 years ago.

2. You choose stack overflow!

3. The stack overflow question most related to the one you have is closed as a duplicate. The duplicate's answer is: "look at this manual: link" but the link is to some .edu website that doesn't exist anymore, or is for version 0.7 on a unix system and you're working on version 2.5 on windows.

In conclusion:

1. The world changes, so the same question may have different answers depending on when you ask it.

2. Having multiple different representations of a problem makes it easier to search for it correctly the first time, not harder (even if they all just link to one answer.)

Post reply on HN