Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Can Anyone Become a Programmer?

samzenpus posted more than 2 years ago | from the special-and-unique-snowflakes dept.

Education 767

another random user writes "A Q&A on Ars Technica asks about an old adage that many programmers stick to: 'It takes a certain type of mind to learn programming, and not everyone can do it.' Users at Stack Exchange are wading in with their answers, but what do Slashdot users think?"

Sorry! There are no comments related to the filter you selected.

There is nothing special about programming (1, Interesting)

Designersa (2731523) | more than 2 years ago | (#41354603)

I don't know where this self-importance stance comes from, but there really is nothing special in being a programmer. It doesn't really require much, nor does it require anything special. In fact it's probably the lowest of the low jobs related to IT. There is a reason why programmers are called code monkeys.

There might have been something about it when computers were so new and ancient that programming efficiently actually mattered. That was the age of John Romano and highly efficient code actually produced neat things. Now computers have developed into so powerful that such things just aren't required anymore.

What is the programmers job in reality? To put out code as fast as possible. It's often very boring, too. 99% of programming is just putting together function calls and libraries others have already coded. There hardly is any "challenge" as so many programmers on Slashdot like to put it. In reality it's boring as hell.

And you know what? Every programmer will get to the point where they don't want to programmers anymore. They start to see how monkey-like programming as a profession is. Then they want to be designers, those who actually need to think of the bigger picture than just putting together basic pieces of code in Visual Studio.

Programming itself doesn't require anything special. Designing does.

Re:There is nothing special about programming (4, Insightful)

wdef (1050680) | more than 2 years ago | (#41354715)

I think it requires a certain level of intelligence as a minimum. Nothing incredibly special but above average and an interest in learning how to control that box. Interest can drive aptitude. But a low IQ is going to hamper working in, say, C. Object-oriented and the workings of inheritance in C++ are going to be hard to work with if you're plain dumb.

Documentation for libraries is not infrequently poor or even wrong and there seems to be some tacit assumption that programmers will work out how things work anyway, even if that just means knowing where to get help.

And it depends what you call "programming". If that includes designing solutions to complex or novel (hence no off-the-shelf libraries) solutions, then you have to design complex algorithms, which requires creativity. You need to be able to evaluate and select the right solution, too, something even very smart programmers get wrong.

Re:There is nothing special about programming (4, Insightful)

TheRealMindChild (743925) | more than 2 years ago | (#41354727)

Your whole post left my mouth agape. The standpoint that you are coming from, all programming can be simplified into dragging and dropping visual widgets and throwing in a bit of high-level platform code to tie it all together. If that is your view of what programming is, no wonder you think it isn't special. You aren't always programming on Windows. You don't always have desktop-sized amounts of memory. Sometimes YOU need to write one of those libraries that are NOT "already coded".

And no, an astronaut doesn't just "drive the shuttle"

Re:There is nothing special about programming (3, Insightful)

Joce640k (829181) | more than 2 years ago | (#41354749)

Your whole post left my mouth agape.

It's called "trolling"...

Re:There is nothing special about programming (4, Insightful)

kelemvor4 (1980226) | more than 2 years ago | (#41354769)

Your whole post left my mouth agape. The standpoint that you are coming from, all programming can be simplified into dragging and dropping visual widgets and throwing in a bit of high-level platform code to tie it all together. If that is your view of what programming is, no wonder you think it isn't special. You aren't always programming on Windows. You don't always have desktop-sized amounts of memory. Sometimes YOU need to write one of those libraries that are NOT "already coded". And no, an astronaut doesn't just "drive the shuttle"

You have to keep in mind, the post seems to have come from a designer. It just sounds like a lot of sour grapes to me.

Re:There is nothing special about programming (0)

Anonymous Coward | more than 2 years ago | (#41354899)

Designers are good at dreaming, but then anyone can dream. Many designers couldn't actually build what they think of.

Re:There is nothing special about programming (2)

Designersa (2731523) | more than 2 years ago | (#41355009)

Designers are good at dreaming, but then anyone can dream. Many designers couldn't actually build what they think of.

Some people can dream better than others. Dreaming can be turned into movies, tv shows, and is especially turned into music. It's also something some people have much more and better than others.

Hell, good dreaming can even fix design problems if you happen to come up with them in your dreams or daydreams. It's hugely influenced into creativity.

Re:There is nothing special about programming (1)

Anonymous Coward | more than 2 years ago | (#41355065)

Hey, I've got this cool idea for a book and am looking for someone to write it for me. I figure we'll split the proceeds fifty-fifty.

Re:There is nothing special about programming (5, Interesting)

Anonymous Coward | more than 2 years ago | (#41354901)

I don't know about sour grapes, since it is a reasonable a priori position, but it is wrong as far as I can tell from the literature [mdx.ac.uk] .

Abstract. A test was designed that apparently examined a student’s knowledge of assignment
and sequence before a first course in programming but in fact was designed to capture their rea-
soning strategies. An experiment found two distinct populations of students: one could build and
consistently apply a mental model of program execution; the other appeared either unable to build
a model or to apply one consistently.
The first group performed very much better in their end-of-
course examination than the second in terms of success or failure. The test does not very accurately
predict levels of performance, but by combining the result of six replications of the experiment,
five in UK and one in Australia. we show that consistency does have a strong effect on success in
early learning to program but background programming experience, on the other hand, has little
or no effect.

Re:There is nothing special about programming (3, Interesting)

eggstasy (458692) | more than 2 years ago | (#41354801)

You must have a very interesting job. I think I've designed an actual algorithm once a year, on average.
The rest is mindless factory work.

Re:There is nothing special about programming (1)

Anonymous Coward | more than 2 years ago | (#41354751)

Really, because I just spent the last month doing absolutely nothing except try to make various parts of code operate faster and faster. Perhaps you were just not competent enough to land the level of job where the interesting stuff is?

Re:There is nothing special about programming (1)

Bieeanda (961632) | more than 2 years ago | (#41354795)

At the risk of wallowing in stereotypes, moving deeper and deeper into the morass, up past my pocket protector and almost to my chin...

It's what makes us special, and separates us from the jocks, and with the increasing ubiquity of programmable appliances with increasingly easy to use interfaces, our self-styled role as the high priests of high technology is losing its mysterious cachet.

Re:There is nothing special about programming (2)

Anrego (830717) | more than 2 years ago | (#41354807)

Even in larger shops I don't see the same kind of heavy architect / programmer seperation as much. It's still there, but a lot of the mindless code has been replaced by libraries, and most entry level coding positions still have a design component to them. Of course the natural progression is as you said, focusing more on design and less on the lower level nuts and bolts, but you make it sound like some kind of line you jump over one day. I see it more as natural career evolution, and at minimum I would still consider myself a "programmer".

It requires a logical mind for a start. (1)

rstanley (758673) | more than 2 years ago | (#41354815)

Not everyone does think logically! We all can think of things we experience every day that were NOT logically designed or planned!!! ;^)

Anyone can learn a language and write some simple small programs, (many times badly, even by those WITH a CS degree!) but There is a lot more to programming than just learning the syntax. I myself am self-taught for the most part, but there is a lot missing that would make me much better had I obtained a CS degree.

Michael Bloomberg, Mayor of NYC is supposedly learning to program. I would be curious to evaluate his programs, whatever language he has chosen! ;^)

Re:It requires a logical mind for a start. (2)

fwarren (579763) | more than 2 years ago | (#41355093)

Give me a 32 ounce big gulp and I will tell you of his progress.

Re:There is nothing special about programming (4, Insightful)

rolfwind (528248) | more than 2 years ago | (#41354833)

Just like anybody can learn to draw. Or to swim.

But that doesn't mean anybody can be the next John Carmack, Leonardo Da Vinci, or Michael Phelps.

Even if we reduce it to the nonphysical work and remove the naturally talented aspect, there is the simple matter of time and drive -- which few people have.

You have removed all doubt (2, Insightful)

Zero__Kelvin (151819) | more than 2 years ago | (#41354841)

"I don't know where this self-importance stance comes from, but there really is nothing special in being a programmer. It doesn't really require much, nor does it require anything special."

Well, you hit the nail of the problem right on the head. We have met the enemy, and it is you and people like you. The fact that you make this statement shows that you are one of the 80+ percent in the industry that don't belong who are destroying the software ecosystem and making garbage software the norm.

"What is the programmers job in reality? To put out code as fast as possible."

You should have just put an end to your post after the first question, since you clearly don't know the answer.

"Programming itself doesn't require anything special. Designing does."

And there it is. The winning answer in this round of Final Stupidity. The fact that you don't think that designing everything from internal data structures to quality unit tests for your code shows how much you truly have no idea what you are talking about. Abraham Lincoln could have told you that tis' better to remain silent and be thought a fool than to speak and remove all doubt.

Re:There is nothing special about programming (2)

tnk1 (899206) | more than 2 years ago | (#41354883)

Designing does take some talent, so not arguing there.

However, having attempted to teach people to program before, I can tell you for a fact that you need at least a particular mindset for it. You certainly need one to be *good* at it. It's much like being a car hobbyist. You probably don't want to be an assembly line worker, or even a mechanic, but those who are good at putting cars together tend to have a mindset that is very in tune with putting stuff together and they tend to want to do it, even when it isn't their job.

Of course, nothing says that your job can't make you very tired of even something you might consider otherwise fun. There's probably only so many bolts you can tighten before you get sick of tightening bolts. In the case of the programmer, they probably now want to attack a new problem that they haven't rehashed 100 times over, but I wouldn't say that being a designer makes you special either. Its just another set of problems. The biggest advantage is that you get more control over how things work on your level and down.

We only consider programming to be something of an assembly line job today because we've optimized the hell out of compilers and made languages and tools into some sort of thing where you build your apps out of giant sized Duplo blocks. In the right fields, being a programmer is still a job for wizards, and not lesser skilled workers.

Re:There is nothing special about programming (1)

MindCheese (592005) | more than 2 years ago | (#41354903)

For what it's worth, we developers basically feel the same way about designers: clearly it doesn't take anything special to churn out UI mocks or web page layouts in Photoshop. Drop shadow here, lens flare there, all done! Oh, it can't be implemented that way in the current codebase? It's not technically feasible? Not my problem, it's time for my latte break! ;)

All kidding aside, if programming is boring to you, you just aren't doing it right.

Re:There is nothing special about programming (1)

iamwahoo2 (594922) | more than 2 years ago | (#41354905)

I see where your coming from. I am an engineer who has learned to program because I find it critical to doing my job. Lets face it. Nothing is built these days with just simple levers, pulleys, capacitors, and resistors. If you want to do something interesting, you better know how to make a digital computer do what you want it to do. One thing about programming is that you are always having to learn new things... learn new libraries, new platforms (8 years ago, everyone wanted .NET programmers, now everyone wants Android and IOS), and that takes a lot of self discipline and desire to improve one's self. Based on my observations in the work place, that is something special.

Re:There is nothing special about programming (1)

valentinas (2692229) | more than 2 years ago | (#41354951)

You are obviously not a programmer. At least not a good one.

Re:There is nothing special about programming (3, Interesting)

JaredOfEuropa (526365) | more than 2 years ago | (#41355001)

Unfortunately, many people think you are right. And even worse: those people are team leads, managers, executives. Small wonder that so few coding shops actually manage to push out code of high quality, and why the profession in general is more like a bunch of craftsmen than real professionals.

Programming well takes skill and experience. It is not an easy craft to learn, the devil is often in the myriad details and idiosyncrasies of the platform, the libraries, or the specification. What helps immensely is having access to senior programmers who can make sure you're not reinventing the wheel a thousand times over. Bad news there: because programming is "the lowest of the low of IT" and every programmer wants to get out, there are hardly any senior coders left. Most of them are to be found in the hobby or OSS arena; I find very, very few of them in the corporate world. By the way: I know a fair few people who would like to stay involved with coding (and they continue to do it in their free time), but they do not become our senior coders because that position has been eliminated in pretty much every company I've worked for.

Re:There is nothing special about programming (0)

Anonymous Coward | more than 2 years ago | (#41355119)

You've just redefined words - in your perspective programming is like being a secretary taking dictation from a designer. So you've taken the part of programming that is difficult and creative and separated it away from programming. If you do that then yes, programming is easy - by definition. But that's not what these words mean and designers are either just programmers who focus on the difficult parts of programming or they are just managers pretending to be programmers and probably impeding the development progress tremendously if they still want to be called designers. It sounds pretty likely that someone who desires to separate design and programming in this way is probably one of those managers-pretending-to-be-programmers which just means you've got a terrible manager on your hands who also can't program.

Answer (5, Insightful)

Anonymous Coward | more than 2 years ago | (#41354625)

No

Re:Answer (5, Funny)

Deep Esophagus (686515) | more than 2 years ago | (#41354947)

If you had what it takes to be a real programmer, your answer would have been:
0

Re:Answer (1)

tsa (15680) | more than 2 years ago | (#41355023)

Exactly. He isn't a real programmer, so no, not everyone can be a programmer. Take my parents, for instance. They will never program anything. They had a VCR for 10 years and didn't even try to program that.

Autists (0)

Anonymous Coward | more than 2 years ago | (#41354629)

Autists do very well in programming.

Re:Autists (1)

wdef (1050680) | more than 2 years ago | (#41354743)

Yes, but that's nothing to do with intelligence.

Absolutely not. (5, Insightful)

mark_reh (2015546) | more than 2 years ago | (#41354631)

Some people do not have the logical thinking skills that are required to be a successful programmer.

Re:Absolutely not. (5, Funny)

Designersa (2731523) | more than 2 years ago | (#41354655)

Most people also want to have romantic relationships in their lives, so becoming a programmer is a very bad choice for them.

Re:Absolutely not. (-1, Troll)

Ironhandx (1762146) | more than 2 years ago | (#41354707)

This. Majority of the population isn't capable of programming anything more than something very basic.

The logical and critical thinking skills needed are even actively discouraged by many major religions. As such a larger portion of strict adherents from these groups don't end up 'liking' programming.

IQ isn't exactly an exact science but as an off hand estimate the average IQ is ~100. Anyone below that might be able to eventually code-monkey a single language, or even two, but they'll never be able to pick it up easily, and with the rate things change this essentially means they can't do the job.

Programming classes at reputable colleges have an horrible attrition rate that can be largely laid at the door of people just not being able to grasp it.

They often start class sizes here at the local college at around 200 students and if they're lucky maybe 20 graduate.

Re:Absolutely not. (1)

Anonymous Coward | more than 2 years ago | (#41354735)

The logical and critical thinking skills needed are even actively discouraged by many major religions. As such a larger portion of strict adherents from these groups don't end up 'liking' programming.

What a nice load of BS. Find me a single major religion that isn't well represented among programmers.

Re:Absolutely not. (1)

guruevi (827432) | more than 2 years ago | (#41354857)

Any. Most programmers I have ever met are not religious at all. Then again, 90% of the population is not religious when it comes down to it but people in jobs that have college education have lower religious representation in general than jobs/education that doesn't require critical thinking.

Re:Absolutely not. (5, Informative)

Designersa (2731523) | more than 2 years ago | (#41354747)

IQ isn't exactly an exact science but as an off hand estimate the average IQ is ~100.

It's not freaking estimate. The average is fixed at 100. Sigh. And you complain about people being stupid. Sigh. SIGH.

Re:Absolutely not. (2, Informative)

Anonymous Coward | more than 2 years ago | (#41354843)

The 100 IQ is an estimate of an average for any given IQ test since not all people can be measured.

Re:Absolutely not. (0)

Anonymous Coward | more than 2 years ago | (#41354875)

Ignorance is not stupidity. Snark fail. Oh, and btw, that post of yours was pretty god damned stupid, I guess it's my turn to roll my eyes now?

disclaimer, I'm not the guy you're replying to, just someone too lazy to get an account.

Re:Absolutely not. (1)

MobileTatsu-NJG (946591) | more than 2 years ago | (#41355075)

Acting on ignorance is.

Re:Absolutely not. (-1)

Anonymous Coward | more than 2 years ago | (#41355047)

The average IQ is around 100 for white population. Other racial/ethnic groups can have a much higher/lower average IQ.

Re:Absolutely not. (1)

Zouden (232738) | more than 2 years ago | (#41355053)

What's the average IQ of prison inmates, or slashdot readers or CS students? All fixed at 100?

Re:Absolutely not. (5, Informative)

AK Marc (707885) | more than 2 years ago | (#41355115)

No, it is not. It is arbitrarily stated to be 100, but the re-balance of the IQ is not consistent across populations, nor time. So the defined mean is not absolute.

Also, if you knew about how they actually set it, they set it based on the middle people, with assumptions about the tails. As there is an absolute minimum, and no maximum, the long tail effect will push the "average" (mean) above 100. If it were actually a true normal curve as asserted, the mean and median would coincide at 100. As it is, the mean is, by definition, above 100, while the median is what's set to 100. But if you set the test based on middle aged white males in the US, then the world average is somewhere around 90-95, as was done with the first tests. 100 is, at best, an estimate, due to the problems of what it is and how it's set.

Re:Absolutely not. (2)

marsu_k (701360) | more than 2 years ago | (#41354781)

IQ isn't exactly an exact science but as an off hand estimate the average IQ is ~100.

By definition the average IQ is 100. Also by definition, half of the population is dumber than average, something I find having to remind myself of every now and then.

Re:Absolutely not. (0)

Anonymous Coward | more than 2 years ago | (#41354853)

Mean != Median. Take the set {1,2,3,4,500} - the mean is about 100 but 4 values are below it, which is 80% of the values. I don't see a reason for the distribution to be particularly symmetric though.

Re:Absolutely not. (0)

Anonymous Coward | more than 2 years ago | (#41354863)

Perhaps you should remind yourself what an average means.

What's the average of

70,110,110 and 110?

It's 100, but there are three times more people over 100 than under.

Median is what you are thinking of.

Re:Absolutely not. (0)

Anonymous Coward | more than 2 years ago | (#41354879)

half of the population is dumber than average

Not necessarily. If there are extreme outliers on one side, then that side will have less than half the population.

Re:Absolutely not. (1)

wdef (1050680) | more than 2 years ago | (#41354825)

Programming classes at reputable colleges have an horrible attrition rate that can be largely laid at the door of people just not being able to grasp it.

Citation required. There's also the level of interest of the student which goes to motivation. And a lot of boring, awful courses and teaching. I looked at some introductory CS course materials from a particular Harvard U program recently and was amazed at how good these were: readable, enjoyable, relevant stuff. By contrast, my alma mater did everything it could to kill any nascent interest in computing in general. I only got interested years later.

Bent of mind (0)

Spazmania (174582) | more than 2 years ago | (#41354823)

Lots of folks have strong logical thinking skills. Philosophers. Mathematicians. Lawyers. If logical thinking skills made a successful programmer these folks would be consistently good at it. They're usually not. In fact, mathematicians can be the worst: they think computer science is a subset of math and it really isn't.

There's a particular intuition, a bent of mind that makes for a successful programmer. If you have it, there's little about programming I can't teach you. If you don't have it, there's little about programming I *can* teach you.

Re:Absolutely not. (2)

AK Marc (707885) | more than 2 years ago | (#41355039)

Julia Childs picked up cooking late in life with no previous interest or apparent pre-disposition. Programming is like cooking. The only thing that stops old women from moving from cooking to programming is interest. Otherwise, writing and following a recipe is programming, even if not on a computer.

Re:Absolutely not. (0)

Anonymous Coward | more than 2 years ago | (#41355111)

Programming is like cooking.

Just like sitting there and drooling like a moron is like rocket science. Oh, wait... it's not.

Re:Absolutely not. (3, Informative)

u38cg (607297) | more than 2 years ago | (#41355121)

Citation: www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

Easy distinction... (1, Funny)

Andy Prough (2730467) | more than 2 years ago | (#41354635)

If you are interested in things like girls and personal grooming, you probably don't have the right kind of mind for programming...

Re:Easy distinction... (-1)

Anonymous Coward | more than 2 years ago | (#41354653)

or if you vote republican!

Re:Easy distinction... (2)

Zero__Kelvin (151819) | more than 2 years ago | (#41354887)

"If you are interested in things like girls and personal grooming, you probably don't have the right kind of mind for programming..."

I suppose you were going for humor, but I assure you that in 2012 it is entirely possible to both write code, and enjoy the aroma of a beautiful woman. Bonus points if you can do both simultaneously.

Re:Easy distinction... (1)

tftp (111690) | more than 2 years ago | (#41354985)

It's easy if both are programmers.

Re:Easy distinction... (2)

Zero__Kelvin (151819) | more than 2 years ago | (#41355049)

So you are saying that both programmers are enjoying the aroma of a beautiful woman while writing code? I like where this is going ...

I dunno (3, Insightful)

MightyMartian (840721) | more than 2 years ago | (#41354643)

I've had this conversation in many different formats over the years, and I keep coming back to the peculiar nature of programming, or at least good programming. There is no doubt that technical background or training is highly desirable, but there is also an intuitive aspect that makes it more than just fitting blocks together. Given the right tools, I think anyone can code, but programming beyond basic HTML form processing or Excel macros takes something more.

Re:I dunno (3, Insightful)

Joce640k (829181) | more than 2 years ago | (#41354811)

A bit like playing the guitar then. Anybody can learn a few chords but being a professional musician takes a thing called "talent".

(Or substitute any other skill for playing the guitar...)

To answer the original question: I refer you to Betteridge's Law [wikipedia.org]

Re:I dunno (1)

Zero__Kelvin (151819) | more than 2 years ago | (#41354919)

Actually, you hit the nail on the head. One way to help tell if someone is qualified to program or not is to ask them this question. If their answer is that anyone can do it, then they themselves cannot do it. If their answer is that not everyone can do it, then they make it to the next elimination round.

Re:I dunno (2)

Omnifarious (11933) | more than 2 years ago | (#41354929)

This is my general feeling on the matter too.

I used to spend a lot of time in the college computer lab trying to help people learn to program. Unlike many programmers, I actually kind of enjoy that sort of thing.

And there were some who understood, and many who didn't. No matter how you worked the angles or found different ways of explaining it, they just couldn't build an effective mental model of what the computer was doing in their head.

I would be really curious to watch the person in the article who claims that he can teach anybody to program and see his technique involving getting them away from a computer. Maybe he's found a way that I haven't.

But really, my personal feeling at this point is that no, not everybody can learn to program.

Anyone can Do It (0, Insightful)

Anonymous Coward | more than 2 years ago | (#41354659)

With simplified programming languages like Java, that take care of the "hard stuff", anyone can string together some code and do tasks.

It's just like anything else that can be learned. Everyone can do it, but few people can do it well.

Re:Anyone can Do It (2)

wdef (1050680) | more than 2 years ago | (#41354963)

With simplified programming languages like Java, that take care of the "hard stuff", anyone can string together some code and do tasks.

And anyone can also make a hell of a mess.

Anybody can program, but... (0)

Anonymous Coward | more than 2 years ago | (#41354665)

Anybody can program at some level, but it takes a certain amount of knowledge and skill to program well...especially in complex systems like "high end" device drivers and large databases or large scale applications. Add "security" into programming and you need to be paranoid to program well.

Programmer v.s. Developer (3, Insightful)

Anonymous Coward | more than 2 years ago | (#41354671)

Programming (a.k.a. Coding) has many levels, but yes, most people are able to handle the logic necessary and can acquire the skills in time.

Development is another level which many programmers either don't attain or are not willing to go to, but it is a step that makes a big difference in the code produced.

Unfortunately, the terms seem to be used interchangeably, thus diluting the developer's value and putting expectations on programmers that they cannot live up to.

Motivation (3, Insightful)

Tablizer (95088) | more than 2 years ago | (#41354673)

If you don't enjoy something, then usually you don't have motivation to learn and perfect the art. Perhaps anyone can be a satisfactory opera singer with enough training, but that doesn't mean they WANT to be an opera singer.

It's also true some pick up on programming and learning new languages faster. While anybody can probably learn with enough practice, it may not make economic sense to you and the company to take a long time to get into the flow of things. Possible, yes. Practical, no.

unfortunately (4, Insightful)

circletimessquare (444983) | more than 2 years ago | (#41354675)

the only answers you will find in this thread will answer a different question:

"what prejudicial preconceptions of yours about the field of programming tweaks your ego?"

Re:unfortunately (0)

Anonymous Coward | more than 2 years ago | (#41354697)

I knew someone was going to bring that up.

Re:unfortunately (4, Insightful)

Zero__Kelvin (151819) | more than 2 years ago | (#41354957)

Bullshit. I am aware that not everyone has what it takes to be a car mechanic. In fact a relatively small part of the population has what it takes. Does that mean you think I hero-worship car mechanics?

Ratatouille said it (1)

Anonymous Coward | more than 2 years ago | (#41354681)

Not everyone can do X, but a person who can do X amazingly well can come from anywhere. i.e. you don't have to go through a particular training to be good at X. nor is going through some training guaranteed make you good at X.

I believe it does take a certain kind of mind (2)

TheRealGrogan (1660825) | more than 2 years ago | (#41354683)

I've never had much aptitude for programming. The "programming" (code editing) I do is pretty chunky. I can look at a block of code, go find another example, somewhat understand what THAT block of code is doing and perhaps with a bit of trial and error, come up with the right thing to do. I don't understand the fundamentals. I remember being exposed to programming in earlier years and I just didn't get it. I didn't foresee myself needing it. Maybe if I'd have paid more attention to the preliminary exercises... I don't know, it just seemed pointless because it didn't make sense to me.

So basically, without examples, I'm fucked.

Re:I believe it does take a certain kind of mind (2)

dwillden (521345) | more than 2 years ago | (#41354783)

I agree, I was able to hack my way through the classes needed in my CS program but it was obvious my skills were more on the hardware, and networking side of the house. My code was always clunky and barely capable and took much more work than others. Not that I didn't try, but coding just wasn't where my brain worked.

Re:I believe it does take a certain kind of mind (1)

gestalt_n_pepper (991155) | more than 2 years ago | (#41354805)

Actually, almost anyone, without a code sample is fucked. Nobody learns coding these days without looking at, and/or re-purposing code found on the web (which of course, never does exactly what you want, but gets you started). There are worked problem in math books. There are coding samples in programming books. The trick, in either case, is to actually learn from the sample. Getting time and space to do that is the hard part.

programmer? (1)

gl4ss (559668) | more than 2 years ago | (#41354685)

turning one set of instructions into other set, yes anyone who couldn't be trained for(who wasn't protesting the process) it would probably officially qualify as retarded in some legal fashion and qualify for social security upkeep.

however I'm not so sure that "anyone" can churn out code just for the sake of it - or be able to turn vague phrases into something that's a real program that does something meaningful, that's the really hard part of the art of it anyhow, figuring out what the fuck the thing is supposed to do(that's sw r&d for you I suppose).

so true! (4, Interesting)

joocemann (1273720) | more than 2 years ago | (#41354705)

Being into computers since 1990, I had thought coding may be a career. In 1999, my first shot at college, and coding, I came to see it was not for me.

I aced the C Programming course, but it wasn't the technicalities of the language that repelled me... it was the environment.

I realized a day's work of coding meant sitting in one spot, staring at chars/text, thinking, and then more of the same. Even the 2-3 hours of coding "lab" was absurd, to me. I was NOT ok with this style of work.

I realized the CS path was clearly for someone else and moved on.

It's like anything. (0)

Anonymous Coward | more than 2 years ago | (#41354709)

Like anything, most people can manage to be OK at it, and a few people have the right brain to be good at it.

Like Algebra 1 (1)

DudeFromMars (1097893) | more than 2 years ago | (#41354717)

Less than half the kids in high school can grasp algebra 1. There is nothing you can do to make them "get it" - their brain either works that way, or it doesn't. Algebra, Geometry, and Programming seem self-evident to me. On the other hand, I can't draw, and dropped out of English 101 on six separate occasions. Metaphors, similes and analyzing literature are just a ridiculous to me - that stuff makes no sense at all.

Re:Like Algebra 1 (3, Insightful)

mark_reh (2015546) | more than 2 years ago | (#41354959)

Almost anyone can grasp algebra 1. The way you make them "get it" is to quit handing out medals just for showing up to class and reintroduce some competition for high grades among students. Kids need to do homework (AKA practice) just like any other endeavor. Right now, in schools, there is no consequence for doing poorly. You'll get passed to the next grade level whether you've mastered the current one or not. Teacher and parents keep patting you on the back just for showing up.

I estimate that maybe 80% of my adult patients born after 1975 are on some form of antidepressant drug. I'm starting to think that they were that early/first generation of kids whose self-esteem was made the prime importance in school, rather than learning and achievement. They finish school and get thrown out into the real world where they are expected to perform to some minimum standards and they can't do it and can't understand why, especially in light of the history of being patted on the back for underachievement. The next step is to get prescribed an antidepressant to help their bruised self-esteem cope with the fact that they never learned anything in school and are likely to remain unemployable for the rest of their lives.

Programmer vs Good Programmer (4, Insightful)

ryen (684684) | more than 2 years ago | (#41354719)

I think a distinction should be made between a programmer and a *good* programmer. My CS program had a number of *really* smart kids - 1600 SAT scores and the like - but many of them really struggled at the concepts and barely made it through the curriculum. I think a good programmer takes 1. Creativity to think about problems from different angles 2. Drive to hunker down and get through hard problems (be it starting a new language, that pesky compile error, starting a large project from scratch). 3. I'm sure fellow slashdotters can think of many more

Yes and No (1)

Chris453 (1092253) | more than 2 years ago | (#41354723)

In my experience over the last 10 years in a military programming shop, it does take a different mindset to be a good programmer. We have had several programmers that just didn't have what it takes to learn even the basics of programming. That doesn't mean they were dumb, in fact some were very smart and motivated. They just that they couldn't comprehend the concepts and reapply them to changing circumstances. Out of the 20-30 programmers over the years only 2-3 were actually good at programming and 3-4 were not able to function as programmers since they couldn't grasp the concepts. The others might have been classified as 'OK'. BTW the good ones were the enlisted programmers off the street, not the ones with degrees.

Anyone can do it; anyone can be good at it (1)

BlueCoder (223005) | more than 2 years ago | (#41354733)

I pay you enough money you will be motivated to get good at it. The question is how naturally will it come to you. The followup is how good you will get.

Those that it comes to naturally will need less money and will be better at it for that money. So your priced out of the market unless you have a natural interest and aptitude for it.

The vast majority of programmers start out as science types that have to learn programming out of necessity since can't afford to hire anyone else and they need their work done right. They are already procedure and process minded.

We're not all nerds (0)

Anonymous Coward | more than 2 years ago | (#41354741)

I'm a programmer, I throw parties and have a hot girlfriend. I'm actually good and have over 12 years in the field. Don't generalize. Just because someone is smart, has sound logic and problem solving skills and enjoys creating via programming does not make them lame.

It takes a certian type of drive (0)

Anonymous Coward | more than 2 years ago | (#41354755)

Yes, anyone can write software, not anyone can write good software.

Anyone can, and unfotunately, they often do. (1)

gestalt_n_pepper (991155) | more than 2 years ago | (#41354759)

Not that I'm in a position to criticize. Self-taught. Ignorant of many useful data structures and algorithms. I squeak by on clarity, organization, simplicity and extreme usability, but I could stand a lot more basic CS (and the time to study it).

Anyone... (4, Insightful)

Wattos (2268108) | more than 2 years ago | (#41354763)

Anyone can become a programmer, just like anyone can become a painter.

It does not mean that the person would be a good programmer though. I could be an artists, but I would not be a good painter if my life dependent on it.

Re:Anyone... (0)

Anonymous Coward | more than 2 years ago | (#41355091)

The parent post is exactly right. Almost anyone who can type can create very simple programs like "Hello World" or add two numbers together. With some training many people can make fairly simple input->processing->output programs. However, like any profession/hobby there are a small group of people who really excel at it and a large group of people who are just at it and many people who are terrible at it. I have encountered many people who could code, many of them at done so for years, but it is very rare I encounter someone who can do it well, to whom it appears to come almost naturally.

The answer would be the same if you were to talk about horse jumping. Almost anyone can be trained to take a horse over a small jump, but it's a rare few who reach a professional level.

Algebra (1)

m4053946 (2730985) | more than 2 years ago | (#41354767)

Not exactly answering the question, but just moving it back a little: folks who know algebra seem to be able to grasp the basic concepts. People who don't will usually just struggle. Another one besides algebra, but closely related, is Excel. If folks can't grasp the basics of formulas/functions in excel, then coding will most likely be beyond their grasp. (this is from ~10 years experience teaching adults the basics of writing code). Can all people get to the point of being proficient in Algebra and therefore code? Perhaps... But since 100% of the general population definitely does not know the basic concepts of algebra, I'd have to say that at this point, not all people will be able to learn to code.

"Hello World!" (1)

stevegee58 (1179505) | more than 2 years ago | (#41354771)

Yay! I'm a programmer!

(It's getting tiresome posting this same comment again.)

Re:"Hello World!" (1)

Mashiki (184564) | more than 2 years ago | (#41354839)

Yeah, but can you do it in Java? Or should we just nail you to the chair now that I've asked...

The question (3, Interesting)

DarkOx (621550) | more than 2 years ago | (#41354813)

Implicit in the question is the idea the programing is programing is programing.

I don't think this is case. I would say just about anyone, baring those individuals with some moderate to severe mental impairment can do some programing. Integration programing is usually nothing more than outlining the corrected steps and gluing that outline onto the required boiler plate. Application programing might get a bit more complex but even that should be attainable for anyone able to read and follow documentation.

Oh sure it can get very complicated when you get into ETL on big data sets and such certainly may require a specialist who makes it business to do it well but I do think its something *anyone* could learn. In the same way anyone can learn to be an accountant or an attorney. Getting past some of the hurdles can be tough but with enough time and resources most normally abled people should be able to get there.

When you get into lower level stuff its a different game. I am not so sure just anyone could be taught compiler design for example at least with the outcome they will be proficient and successful working in the field. As you move from programing for high level applications into programing for 'Computer Science', 'Computer Engineering' or 'Systems Programing' than there is a certain group that is able to follow the math, and think about problems with and without abstractions at the same time and other things not everyone has a facility for.

Depends on the programming... (1)

Pyrotech7 (1825500) | more than 2 years ago | (#41354829)

It took a different mindset to program in Fortran, C, Assembly and that age of programming. Accessing memory in a way to accomplish the task when there was very little memory (4-128k), and still provide UI was not for the feign of heart. Now we have OOPs programming, built with GUI programming environment using calls to the OS. Much simpler, but still requires a logical mindset. IMHO, just about anyone can do some programming these days.

Define 'programming' (1)

udachny (2454394) | more than 2 years ago | (#41354847)

Maybe programming should be defined first. I am almost certain that excluding people with various mental and cognitive problems, any person can put together a simple flow chart, with conditions in it (doesn't have to have loops, but any non-trivial problem sketched with a flow chart will likely have a loop or two, where a condition is used to split the next step into path A and path B).

However if we are talking about something else, like being able to hold a large piece of application in one's head while coming up with solutions to the problems, designing algorithms, working with fairly complex data structures, maybe working on with low level stuff, memory management, timing issues, multi threading, communications between components and between computers. Maybe in that case not everybody can become a programmer, it takes persistence, it takes good enough memory of the right kind, it takes ability to concentrate on a problem for hours at a time, it takes ability to be by yourself for an extended time period.

I don't think everybody can be a civil engineer for example for similar reasons.

Not everybody can be a doctor, it takes a different level of patience and ability to remember things that surpasses many people's abilities I think.

Not everybody can be a good 100 meter sprinter for obvious reasons.

Not everybody can be a psychiatrist.

Not everybody can be a kindergarten teacher.

etc., all of these things take a different mind set and different levels of patience, etc.

just do interviews and you'll see (2)

HappyEngineer (888000) | more than 2 years ago | (#41354867)

I've interviewed a lot of people for the position of senior engineer. This has taught me that most experienced programmers can't program. Most have trouble writing the simplest of code snippets despite claiming a decade or more of experience.

Given that, I'd say that anyone can become a senior engineer, but few people can learn to program even when given a decade of on the job experience.

I would agree with this assessment, but... (1)

AlphaWolf_HK (692722) | more than 2 years ago | (#41354923)

Not for the obvious implications. Personally I have a lot to do with computers. I am a network engineer, I understand fundamentally how programs work (and have even written my own bash scripts on many occasions) and even have a broad understanding of how a kernel works.

However I really don't care for writing code. I've tried on many occasions to learn GNU C, C++, and C#, wrote some basic programs that do little things, even tried writing an android app, but just couldn't get into it. Maybe there's another programming language out there for me, or perhaps a better way to learn the languages without getting bored with it (books really don't work for me) but I just haven't found it yet.

But I think the more realistic thing is that I am just not interested at some deeper level, even though I would like to learn it. I've actually been involved in an open source project where I was sort of a tester, and the coders implemented some of my ideas (which I conjectured at the low level side of things) that turned out to be a successful addition to the project.

There was a draft paper about this... (0)

Anonymous Coward | more than 2 years ago | (#41354933)

... floating around somewhere. From (hazy) memory, the gist was that among those who tried to acquire the basic skill, some fail to take the hurdles. The second one of them is grokking the indirection represented by pointers. Forgot what the first one was, but obviously a more basic abstraction.

For that is what programming amounts to: Pouring thought into abstractions so that computers might execute the resulting recipe. Seeing how plenty of humans need various crutches to sort our thoughts, it isn't strange that some never manage to clean up the mess enough that a computer might do something useful with the resulting programs. But some evidently do.

Even so, plenty of people who do seem to grok it still produce inferior code. Take, say, slashdot. So heavy on the ajax that writing comments is nearly undoable on slow hardware. And no, not all of us have the latest room heaters equipped with software accellerators to help churn sloppy javascript.

no (0)

Anonymous Coward | more than 2 years ago | (#41354969)

no way Obama can ever write code.

Apparently, yes! (1)

EGSonikku (519478) | more than 2 years ago | (#41355029)

10 PRINT "EGSonikku is a PROGRAMMER!"
20 END

Anyone can become a programmer (3, Insightful)

guruevi (827432) | more than 2 years ago | (#41355037)

But not everyone is going to be a good programmer. I think the 80/20 rule applies here too. 80% of programmers can program, 20% can do it efficiently.

I see examples of bad programming all the time (or you can just read thedailywtf.com) and currently it doesn't matter all that much whether you spend 100,000 extra cycles in a loop. But we're heading once again to a level where efficient programming is going to become more important (low-end, cheap devices like Arduino and Raspberry for the consumer-end and high-end multi-processor systems like GPGPU and shared clusters on a pay-per-cycle on the other end).

In a GPGPU scientific environment (where I work) shaving 10ms off a single looped calculation can easily end up giving you a result 7 days faster. Finding out that a buffer gets flushed every 64-bytes or every 100 microseconds and understanding why filling up a buffer with 0's (and how to do it efficiently) is faster than waiting for a timer to expire is real programmer's work but none of the documentation or even advanced classes on the subjects don't explain such things.

Can anyone become a musician? An artist? (2)

bfwebster (90513) | more than 2 years ago | (#41355041)

Short answer is: yes, in theory; in practice, though, actual results will vary. My observation is that the same is true with programming. Some people are natural talented, some people have good workman-like (workperson-like?) performance, some are pretty wretched no matter how much experience they may actually have, and some just can't grasp the basic concepts enough to really do anything. Note that I've taught computer science on a university level, and I've built software development teams from scratch, so this is based on direct personal observation. ..bruce..

There are people... (1)

xor.pt (882444) | more than 2 years ago | (#41355061)

There are people that will never be able to become programmers, as people that will never be able to become artists (many of them programmers).

What type of programmer? (4, Interesting)

TrumpetPower! (190615) | more than 2 years ago | (#41355089)

I like to think I'm a more-than-competent SQL programmer, and I don't hurt myself too badly at Web and Windows Forms programming.

I work with somebody who does some great stuff in C# who can't warp his head 'round set theory and therefore has real problems with SQL.

I know somebody else who's a real monster with Cisco stuff (a Cisco employee with certifications coming out his ears), and I'd argue that creating networking and firewall rulesets is every bit a form of programming as anything I do...but he'd need some serious handholding just to do a "Hello World" program in Visual Studio.

I know another guy who can make COBOL sing and is not bad at SQL (though he prefers to write his SQL with more procedural code and less set theory than is good), but he wouldn't have much luck doing more than tweaking a Web form.

We're all programmers, all of us good at what we do, some of us great at what we do...and, yet, making any one of us look like rank amateurs at huge swaths of basic programming tasks wouldn't be hard at all.

Could we become good programmers outside our areas of expertise? Probably. But it took me quite a while to figure out how to truly think in set theory, and I'm not sure I'm capable of more than a handful such masteries in any given field in my lifetime.

Cheers,

b&

From my 18yrs of experience I would say YES! (0)

Anonymous Coward | more than 2 years ago | (#41355095)

but not a good one....

who cares? (1)

ThorGod (456163) | more than 2 years ago | (#41355103)

Can all programmers raise milk cattle, teach elementary students, properly certify the general medical needs of a patient, manage a retail store, sell commercial real estate, design and print professional-grade advertisements, safely drive an 18-wheeler truck, AND captain a fishing boat?

Not everything in the world requires implementing algorithms in computer languages nor benefits from being automated. The human world is much larger than any one of it's professional disciplines (obviously), and the human world is tiny in comparison to the world that encompasses it and the universe even more.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?