If you can read this, either the style sheet didn't load or you have an older browser that doesn't support style sheets. Try clearing your browser cache and refreshing the page.

(The Register)   No surprise there: "Coding is suitable only for exceptionally dull weirdos"   (theregister.co.uk) divider line 31
    More: Obvious, line coding, I-CT, religious education, Algebra, programming languages  
•       •       •

4079 clicks; posted to Geek » on 28 Oct 2013 at 9:40 AM (51 weeks ago)   |  Favorite    |   share:  Share on Twitter share via Email Share on Facebook   more»



Voting Results (Smartest)
View Voting Results: Smartest and Funniest

2013-10-28 08:35:14 AM  
6 votes:
Coding is a niche, mechanical skill, a bit like plumbing or car repair.

In other words a really handy thing to know.
2013-10-28 09:27:42 PM  
2 votes:
I've coded for 20 years and have been managing programmers for the past five.   What can I conclude from my experience?

Most users are idiots.
2013-10-28 11:40:22 AM  
2 votes:

THE GREAT NAME: rumpelstiltskin: zyrian: Software engineering is a form of art coupled with a good bit of science.

What's interesting is, when people describe software engineering, they almost never seem to describe it as a form of engineering, as simply the practical application of knowledge.

You have a good point here. It is engineering. It just happens to be difficult because of the complexity, the abstractness, the immaturity of tools etc. People want it to be something else so they can hide from the difficultness. They pretend it's something left-field which they alone posess the magic fu to grok. Then they screw up.


There is probably almost no software engineering going on at most places people code.  We have the tools to do it, and we know how.  NASA's done it for decades.   It's just that nobody wants to spend the time to do so, because you can't be sued for most software, unlike a building that falls, a car that explodes, or any number of other things.  So there's no incentive.

Here are things that real software engineering does:

1) Testing.  Not just unit testing though.  Unit, integration, environmental, everything.  That "% code covered" metric?  Horseshiat.  You need a specific level of coverage (data usage, data path, execution path, etc.).
2) Load capacity, constraints, and expected throughput analysis.
3) Big O and constant factor analysis of all algorithms
4) Sorry Agile folks, but real problems require real analysis and real design.  If you think you don't need it, you're either building a toy project by yourself, or in a team of clones.  This isn't just class design.  This is information architecture and systems architecture.
5) Looks at the process you are trying to replace, and apply some basic industrial engineering to optimize the computer and human interface (i.e. your system is still a participant in a human organization, and therefore is constrained by it).  This isn't just HCI, this is how it fits in the process as a whole.

When is the last time you were asked or expected to do any of this?
2013-10-28 11:27:01 AM  
2 votes:
Software development, at a professional level, for all it's participants, is for people who can:

1) Hold a very detailed view of a very large domain in memory, all at once,
2) Using a system of layered, abstract symbolic description and notation
3) To produce proven, testable, and, when taken to the extreme, *logically provably correct* transformations of data.

All of this takes up space in your head, and takes a lot of dedicated, solitary time devoted to it.  Opportunity cost is a biatch, huh?
2013-10-28 10:47:36 AM  
2 votes:

duckpoopy: I am shocked by the number of programmers who don't have basic math skills. Sure they will brag about having a BSCS, but go ask your nearest code monkey about the chain rule or product rule for integration. It's basic calc, but they'll start whining about how they "don't write that kind of code".

 You're not very quick, are you?  You realize that these are two different fields, right?  And that it would make just as much sense for me to complain about mathematicians that write shiatty inefficient code?  And that the complaint would be retarded?  Almost as retarded as conflating "basic math" and "basic calc".
As a programmer, I've never once needed to implement analytic integration.  Spending the time to keep those skills up would mean I have less time to spend on other more relevant skills.  Ironically, I've implemented numerical integration numerous times but had to teach myself, as my mathematics professors never even mentioned them (with the exception of a fifteen minutes for riemann sums, which are just common sense and don't say much about efficient implementation).
2013-10-28 10:37:17 AM  
2 votes:
Software engineering is a form of art coupled with a good bit of science. If it's boring and mechanical - you are not doing it right.
2013-10-28 10:35:39 AM  
2 votes:

serial_crusher: not a way to give kids the basic info they need to fake their way through an entry level programming job


Guys with 5 years experience can't fake their way through the FizzBuzz test. Takes you an hour to finish what should be a 3 minute exercise? And you're asking for $80k? Nope. Most people just aren't programmers. Nothing is going to change that.

/yes, I am a dull weirdo.
2013-10-28 09:58:05 AM  
2 votes:

serial_crusher: Needs to be taught as a way of building logical thinking skills, not a way to give kids the basic info they need to fake their way through an entry level programming job.


The elephant in the room no one speaks of is that coding has a zero margin for error.  If you're a farmer, life's tough but nothing needs to be perfect (frankly if you're worried about perfection you're not going to last).  If you're a teacher, despite all the bullshiat you deal with it's pretty much an expectation that you're not going to make a difference to every student.  If you're a mechanic, there are tolerances for everything.  If you're a cop you can get away with just about anything.  Coding?  Something as simple as typing "=" instead of "==" and your program might break in spectacular fashion.

But every time they try to swell the ranks of programmers (and every damn time it's more to deflate wages than any real concerns about lack of qualified applicants), whether is through domestic recruiting or offshoring or H1-B visas, the industry hemorrhages money as they have to clean up the work of the thousands of people who grew up on a mantra of "close enough".

You HAVE be a stickler for detail if you're a coder.  More than anything, that's the #1 requirement.  All the logic in the world isn't going to help if your work isn't 99.99% accurate.  Consider even with that ratio, a million lines of code is going to average a hundred bugs.  You think Johnny Don't-Sweat-The-Little-Stuff is going to cut it?  Extroverts tend to shun details, so it's really no wonder that coding shops tend to accumulate people who tend to lack social skills as a group.
2013-10-28 09:49:48 AM  
2 votes:
That's hardly true. I've met many very interesting weirdos in my decades doing software development.
2013-10-28 09:02:48 AM  
2 votes:
Needs to be taught as a way of building logical thinking skills, not a way to give kids the basic info they need to fake their way through an entry level programming job.
2013-10-28 08:47:40 AM  
2 votes:
This probably explains why I suck at coding.  I'm just too damn interesting.

/or impatient.
2013-10-29 01:32:38 AM  
1 votes:
Coding is the only way the human race can move forward from where it stands now. Artificial intelligence, robots, interstellar space travel, and ultimately, immortality
These highly specialized tools that will get us to the singularity won't be built by a handful of humans, they will be built by millions over hundreds of years. You have to look at the bigger picture.
2013-10-29 01:25:12 AM  
1 votes:

dragonchild: Extroverts tend to shun details, so it's really no wonder that coding shops tend to accumulate people who tend to lack social skills as a group.


You imply that coding shops accumulate introverts, and then say that as a group they lack social skills.  Introversion != lacking social skills.  Introversion is just a word we give for brains with higher resting states of arousal.  In other words, introverts don't need to be stimulated by the environment because they're always stimulated.  Extroverts on the other hand get bored easily because they get their stimulus more exclusively from the environment and others because their brains have a lower resting state of arousal.

Not to belabor the point, but some of the worst social skills I've seen have come from interactions with extroverts.  I'm talking about those extroverts who are basically "energy vampires" and will sit there and tell you the same story over and over again, talk non-stop, derail the conversation to always be about themselves and completely miss all of the social cues you give them that they're making you uncomfortable, bored, or annoyed all because they need to use you to feed their unending appetite for stimulation.

I've seen just as bad come from introverts in their own way, but neither introverts nor extroverts have an inherent social advantage over the other.  In fact, I'd rather deal with a poorly socialized introvert because there's nothing to deal with, they'll just leave you alone.  A poorly socialized extrovert is unavoidable, all you can do is try not to make eye contact and hope someone else gets their attention when they start blabbering on and on about the mundane details of their lives.

Long story short, your stereotypes are bogus.
2013-10-28 07:46:48 PM  
1 votes:

Hyjamon: So, should we teach students "under the hood" stuff or just show them the objects that already do it?  Should we teach how to run a bubble sort or just tell them Array.Sort() will do it for them?


For 9 out of 10 programmers, knowing Array.Sort() exists is going to be good enough.

But thank god the tenth guy exists, because without him the standard library wouldn't have that generally efficient sorting function for the other nine to rely on in the first place.
2013-10-28 04:40:57 PM  
1 votes:

dragonchild: serial_crusher: Needs to be taught as a way of building logical thinking skills, not a way to give kids the basic info they need to fake their way through an entry level programming job.

The elephant in the room no one speaks of is that coding has a zero margin for error.


It astounds me that anyone can simultaneously:

1) Be a programmer
2) Use modern software in a professional and/or recreational manner
3) Believe what you just wrote to be true

Do you know what happens to the average programmer if he writes buggy code?  He gets paid to write it, the product ships, and then he gets paid to fix the bugs later (or not).

I can't imagine a single piece of software that appears to have been written with a zero margin for error.
2013-10-28 01:34:37 PM  
1 votes:
Stereotyping programmers as autistic zombies is a very useful and pragmatic tactic for salesmen, hucksters, marketers and bullshiat artists and other parasites in the industry, who draw very comfortable salaries riding on the back of products created by the brain people and the talent.  Particularly when the products are best in class in a niche market and often sell themselves.  Otherwise, people might look around and wonder why the fark are they there and what the fark do they do all day.
2013-10-28 01:21:39 PM  
1 votes:

Hyjamon: FormlessOne: Used to having those tasks done for them - object-oriented languages and lots of canned objects mean "never having to look under the hood." So, the basics get memorized, graded, and then forgotten. Tolerable if you're cranking out low-use, "hobbyist programmer" projects, useless if you're having to work in the corporate, academic, or scientific world.

This is something I ran into when I taught some intro to computer science courses.

After introducing the If-Then-Else Structure
Assignment:  Get two integers from the user and print the maximum integer.

What I wanted them to do is something akin to:  If (A>B) then print(A); else print B

most would use two separate if-then statements and some wouldn't account for the case where A=B (and program wouldn't print anything)

Then there was this kid's project:  Print(Math.Max(A,B))

How did he know about the math object? His Dad was a programmer.  Went rounds with the student (and eventually the father).  They couldn't understand why they had to program it with and if-then statement when the math object can already do that.  Well, fast-forward to the end of the course and this kid is struggling with more complicated structures and assignments.

So, should we teach students "under the hood" stuff or just show them the objects that already do it?  Should we teach how to run a bubble sort or just tell them Array.Sort() will do it for them?


I had the opposite experience in college.

It was an advanced level course, and the first project was a very simple multithreaded program that finds the maximum of a set of integers.

The professor marked students down that did not use the atoi function on the string input, and instead wrote their own function to convert string input into numbers.

"You have a standard library.  Learn to use it" is what he told people.

He also made it a point to tell students on the first day, and I quote, "You will hate me".  Paraphrasing the rest, because it has stuck with me "I count on it.  But by the end of this course, if you actually learn and understand the material, your hate will have changed into grudging respect".  He even had a power point slide with frowny and angry faces.

The guy wasn't an asshole so much (ok he was an asshole) as he really did expect excellence from all his students, and had no use for any excuses whatsoever in a senior level class.
2013-10-28 12:49:24 PM  
1 votes:

FormlessOne: Used to having those tasks done for them - object-oriented languages and lots of canned objects mean "never having to look under the hood." So, the basics get memorized, graded, and then forgotten. Tolerable if you're cranking out low-use, "hobbyist programmer" projects, useless if you're having to work in the corporate, academic, or scientific world.


This is something I ran into when I taught some intro to computer science courses.

After introducing the If-Then-Else Structure
Assignment:  Get two integers from the user and print the maximum integer.

What I wanted them to do is something akin to:  If (A>B) then print(A); else print B

most would use two separate if-then statements and some wouldn't account for the case where A=B (and program wouldn't print anything)

Then there was this kid's project:  Print(Math.Max(A,B))

How did he know about the math object? His Dad was a programmer.  Went rounds with the student (and eventually the father).  They couldn't understand why they had to program it with and if-then statement when the math object can already do that.  Well, fast-forward to the end of the course and this kid is struggling with more complicated structures and assignments.

So, should we teach students "under the hood" stuff or just show them the objects that already do it?  Should we teach how to run a bubble sort or just tell them Array.Sort() will do it for them?
2013-10-28 12:24:53 PM  
1 votes:

dittybopper: bmr68: My older brother loves to code. He just made his own Linux desktop OS. He also coaches Lacrosse and H.S. football. You can love to code and have other non-related hobbies.

Hell, I used to code just for the fun of it.  It *WAS* my hobby.  Then I started doing it professionally, and I lost all interest in doing it for fun, so I have other, different, non-programming hobbies now.


Yep. Coding was my hobby into my teenage years. Then I went and got a computer science degree. While getting said degree, I took up guitar. Now my music studio consists of a whole slew of guitars, a bass, a drum set, a couple keyboards, and a bunch of miscellaneous percussion. I now write code so I can fund my music hobby.
2013-10-28 11:39:31 AM  
1 votes:

duckpoopy: I am shocked by the number of programmers who don't have basic math skills. Sure they will brag about having a BSCS, but go ask your nearest code monkey about the chain rule or product rule for integration. It's basic calc, but they'll start whining about how they "don't write that kind of code".


Heh... I'm one of those guys.  The truth is your average business programmer needs logic, creativity and attention to detail far more than he needs math.  We're mostly just moving data back and forth, and creating interfaces for it.

Now, if I were working on game engines or scientific software it'd be an entirely different story.
2013-10-28 11:33:31 AM  
1 votes:

Hyjamon: is that FizzBuzz thing for real? I don't consider myself a "programmer" at a professional level, but that seems a very easy thing to program. How can you have years of programming experience and not know how to program something similar to FizzBuzz? is it they don't know that if something is divisible by 15 it is also divisible by 5 and 3? Or they don't know how modulo division works?

/math guy so seems obvious to me


It's the 15 thing, but it's usually oversight more than lack of knowledge.  It's a test of attention to detail.
2013-10-28 11:01:08 AM  
1 votes:

duckpoopy: I am shocked by the number of programmers who don't have basic math skills. Sure they will brag about having a BSCS, but go ask your nearest code monkey about the chain rule or product rule for integration. It's basic calc, but they'll start whining about how they "don't write that kind of code".


You do realize that computer programming almost exclusively deals with discrete mathematics, right?  A computer programmer is going to run across a problem that requires calculus to solve extremely rarely.  Your complaint is like complaining that people take Spanish in high school, but can't remember how to properly conjugate a verb 10 years later.
2013-10-28 10:59:16 AM  
1 votes:

bmr68: My older brother loves to code. He just made his own Linux desktop OS. He also coaches Lacrosse and H.S. football. You can love to code and have other non-related hobbies.


kind of a bright line distinction to be made here - he's programming what he wants to program.

i swear to zombie jesus taking on programming as a career is an invitation to have your soul incrementally removed one line at a time, your sanity spent in fits of trying to comprehend constantly shifting demands that make less sense every time they're altered, and your creativity sapped out your eyeballs with hour after hour of maintaining ancient code that is organizationally treated like equal parts sorcery and constitutional law.
2013-10-28 10:56:17 AM  
1 votes:
10 PRINT "FARK YOU ";
20 GOTO 10
2013-10-28 10:50:13 AM  
1 votes:
His blog sucks, apparently.
2013-10-28 10:45:49 AM  
1 votes:
My older brother loves to code. He just made his own Linux desktop OS. He also coaches Lacrosse and H.S. football. You can love to code and have other non-related hobbies.
2013-10-28 10:30:13 AM  
1 votes:

Aidan: serial_crusher: Needs to be taught as a way of building logical thinking skills, not a way to give kids the basic info they need to fake their way through an entry level programming job.

My god, this.

The best class I ever took for my computer degree was one of the very first, where the teacher, by logical and methodical means, built a pseudo-language from the ground up. I learned more applicable skills in that class than any other. The rest of my degree was esoterica and minutiae.


I'm a former developer and current manager of the support of our development tools.  My BS is in Philosophy where I focused on symbolic logic and philosophy of language.  Turned out to be a nice pairing.

My MS is from a laughable joke of a program, but that's another story.
2013-10-28 10:23:21 AM  
1 votes:
As a dull weirdo who codes, I resemble that statement.
2013-10-28 09:36:36 AM  
1 votes:

RedPhoenix122: dittybopper: Not only that, it teaches you how to look at problems in a logical fashion.  And logic is something sorely missing from a large segment of the population.

Agreed.  Hell, even an Intro to Philosophy: Logic requirement would be nice.  Or Discrete Math.  Something that involves how to form a conclusion based on evidence rather than what some talking head told them.


Personally, I think ever single student should have a class called something like "Application of arithmetic to every day life".

It would consist of nothing but word problems where the student has to figure out real-life stuff and the optimal answer can be derived by addition, subtraction, multiplication, and division.

I don't know how many times people around me, including some very smart people, haven't been able to recognize how to find the optimum solution to a problem when all that was required to solve it was simple, elementary-school level arithmetic.

The problem isn't that they couldn't do it, they just didn't recognize that there was a way to do it.
2013-10-28 09:16:25 AM  
1 votes:

I_Am_Weasel: EvilEgg: Coding is a niche, mechanical skill, a bit like plumbing or car repair.

In other words a really handy thing to know.

For those times when an application springs a leak at 4 in the morning?


They can literally do that.
2013-10-28 08:55:19 AM  
1 votes:

EvilEgg: Coding is a niche, mechanical skill, a bit like plumbing or car repair.

In other words a really handy thing to know.


I like how they equate it with being boring and dull.  Because you can't have a skill and be social as well.
 
Displayed 31 of 31 comments

View Voting Results: Smartest and Funniest


This thread is closed to new comments.

Continue Farking
Submit a Link »






Report