Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This question already has an answer here:

When it comes to programming most people (non-programmers or sys_eng) react like you're calling them to publicly speak in front of 10^6 people. How would you as a programmer convince someone at least interested but fearful that the art of programming can be accomplished just as any other skill, with motivation, faith & practice, practice, practice :)

share|improve this question

migrated from stackoverflow.com May 27 '11 at 9:37

This question came from our site for professional and enthusiast programmers.

marked as duplicate by gnat, Kilian Foth, BЈовић, MichaelT, Jalayn May 21 '13 at 12:23

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

6  
You forgot ability and desire –  KevinDTimm May 27 '11 at 9:27
1  
True. I used to work with a guy who claimed that anyone could write code if they bothered to learn - whilst this is true to a point, not anyone can write good code. There are certain concepts that some people just have difficulty grasping, we can't all be good at the same things! –  Anonymous May 27 '11 at 9:32
    
I wouldn't say so, you're limited only by time and willpower. Without this elements I suppose there is so much more time for building fear and laziness. We have every single book/reference/hint on topic and still it seems like its declining, less and less skilled people year after year –  Anonymous May 27 '11 at 9:36
1  
I think more people would fear performing open-heart surgery than typing a few commands into a computer. I think it's more a fear of screwing up and looking stupid than the actual act of programming. I've never met someone who has an interest in learning to program, and an inate fear in doing the same. –  TZHX May 27 '11 at 9:53
9  
Why make them fearless? Why not simply charge them money and do the work for them? –  S.Lott May 27 '11 at 9:55
show 4 more comments

11 Answers

The same way you convince another person to fall in love with you: have a conversation and make your case. There's no recipe for it.

share|improve this answer
add comment

Most non-techy people probably view things like programming as geeky and requiring higher than average intelligence, whereas other skills/jobs like plumbing for example, are seen as things that "normal" people do, even if they are just as complex and still require a lot of training/learning.

share|improve this answer
    
Well I know quite a lot Java coders who're e.g. fearful of going back to roots of C/C++ –  Anonymous May 27 '11 at 9:32
1  
And as a techy, I find hard arts (like plumbing) to be far more difficult than programming. –  KevinDTimm May 27 '11 at 9:34
    
I agree with plumbing ;) –  Anonymous May 27 '11 at 9:37
    
I'm afraid of plumbing, myself... –  configurator Jul 6 '11 at 23:46
add comment

First and foremost thing is are they interested in learning or least to give a try for it.

If yes then great then you should give them up some lucid tutorial which they could read to get a grasp of the things(some basic ideas so that it ain't some alien form to them). Then to start off you should pair of with them for some simple procedures or implementations (in short handholding). If they still have the interest and enthusiasm left after this then its highly likely they would start off with their baby steps and maybe turn into programming.

share|improve this answer
add comment

Actually the reverse seems to be true in my country at least. Everybody thinks they can code. (And people believe them!)

Having said that, I run into this kind of situations whenever I meet some bright kids who want career advice. My usual modus operandi is to get the a company tour (with perms from your company) and show them the stuff we do. The moment any computer inclined kid walks into a real test bed lab with 100s of racks / data centers, they are usually smitten. I also try and show them what scales we run at. (Terabytes of data / multi-giga flops of operations / network bandwidths measured in TB per seconds and so on). And there is the creative vent that programming languages can provide you. Asking someone to describe a small game they wanna play and coding it up in front of them works too!

share|improve this answer
add comment

Programming sounds like mathematics to most, they dont like it, they dont use it, and whatever you dont use is new and fearful.

Give them easy tasks and let them learn by doing. The more success they have by doing easy things with actual nice outcome, the more likely is that they get involved themselves and actually love doing what you want them to do. Think of what person they are and what they like and build your examples on that, roses, cars, food, etc ..

share|improve this answer
1  
Programming sounds like mathematics Isn't that because programming is math? –  Yannis Rizos May 27 '11 at 10:38
add comment

All very interesting cases. But just because YOU're a programmer,it doesn't mean everybody else needs to program or even want-to-program! [When I say "you",i mean in general]

Also,there are like a million other jobs you can do which don't require even basic knowledge or even the existence of programming! :D

So if they fear programming,it's only because they haven't felt the need to do it thus far and the thought of the unknown scares them :) Easy-peasy :)

[Just,fyi,I'm a die-hard programmer. And I love it from the 'bit' up]

share|improve this answer
add comment

Well, I have a slightly different view - e.g. why would you convince anyone that they should practice law/medicine/politics, or for that matter, programming ? The best talent in any industry are people genuinely interested, not the "converted" ones.

share|improve this answer
add comment

I like the opinion you should first figure out if the person even wants to learn. I've seen plenty of folks say things like "programming is hard", or "I'd be afraid of screwing something up" because they really aren't interested in it. I think it takes a special kind of personality to find this stuff fun.

If you think you really do have a potential programmer on your hands, then I suggest finding ways of getting into programming topics that reduce risk. Here's a few that were used on me, pretty successfully:

  • Keep it on paper - you can write pseudocode, encode bytes of ASCII, and play with the concepts of memory allocation without ever getting near a computer. The worst you will risk is a case of boredom.

  • Work in a reassuring environment - teaching environments are often ways to write code that doesn't get close enough to the core of the computer to really screw things up. Web development, Java development, etc - this stuff can all be taught with abstracting a lot of the harder setup stuff (make build files, set up the web server), so that the student can focus on the act of creation. For me, the act of making code that does something is the light bulb of "aha! I can do this!!! Programing isn't scary!" that I need to get past the fear.

  • Plan on recovery methods and low risk systems if you are working close enough to the hardware to really do a number on the OS. This is like running OS classes on out of date workstations that no one else uses, or having a spare computer or host device for deploying code - don't do it on the computer that is your one lifeline to the outside world. That way if sometihng goes hideously wrong and you need to rebuild the OS - no big deal.

I don't think fear is totally irrational when you're talking about programming. Computers aren't cheap, and we depend on them for alot. Telling someone that programming is awesome because it means you get to change the fundamental nature of how a computer works is inspiring, but it's also terrifying for someone who knows that they don't know much about the topic.

So accept the fear and figure out ways to approach the topic that mitigate the fear.

share|improve this answer
add comment

You can't

Its a path that they ultimately must choose to walk. The best you can do is show them the way.

Take for example a topic that you yourself fear (because you are unable to understand it despite your best efforts). Most likely you will make some kind of excuse to avoid tackling it (after all we are human).

Now no-one will be able to make you "fear-less" in tackling your fear, the best they can do is show you how to approach solving it.

However ultimately the burden will be yours to carry.

share|improve this answer
add comment

Most people may view programming as magic that is beyond their understanding. Given what computers can do, I don't find that surprising for people to have a sense of awe for all the things that a computer can do.

As for conquering this, first start with what is this person's learning style. If they are a visual learner then giving them pictures may work better than someone that would prefer reading a bunch of text. Some may prefer concrete examples that they could then generalize and others would want the general solution first then concrete examples. Another point is to get them past the first few programs they want to have so that they have some confidence and can see, "Yes this isn't that hard to do after all."

Lastly, there is something to be said for non-computer programming. Recreational places and schools may have "programs" that depending on whom you are having a discussion the term program may be interpreted quite differently. "Get with the program!" isn't usually talking about software to give a pop culture phrase using the term in another context. I'll acknowledge this is being more than a little nit-picky.

share|improve this answer
add comment

I don't know about most people but there are 2 things that trepidate me going into a project:

  • encountering an algorithmic problem that I just can't wrap my head around no matter how hard I try. That is such an ego killer (not that ego is a good thing).
  • getting completely blocked by bug in a third party module that you have no control over. Especially after a huge amount of work has been done integrating it.

Basically, fear of the unknown and the amount of your time it could potentially waste.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.