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 196
    More: Obvious, line coding, I-CT, religious education, Algebra, programming languages  
•       •       •

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



196 Comments   (+0 »)
   
View Voting Results: Smartest and Funniest
 
2013-10-28 08:34:49 AM
MSG NR 51 CK 93 1028 1234 BT
NNTAT ILWAX OOPDE NIWIJ OGHOY  HSRSN OHVYE ONUCT LGLEX EOCIN
APXQN ANIER DGXRE OMXED EDRLE  NOTAK OAVIS XNNLF IDT
AR K
 
2013-10-28 08:35:14 AM
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 08:47:40 AM
This probably explains why I suck at coding.  I'm just too damn interesting.

/or impatient.
 
2013-10-28 08:55:19 AM

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.
 
2013-10-28 08:56:15 AM

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?
 
2013-10-28 08:56:54 AM
What a cockwomble.
 
2013-10-28 09:02:48 AM
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 09:14:24 AM

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

In other words a really handy thing to know.


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.

Also, there is this:

There's a reason most startup co-founders are "the charming ideas guy" paired with "the tech genius".

The only one that jumps to mind immediately is Apple, but even then Steve Jobs had some technical background.  And he wasn't very charming.
 
2013-10-28 09:16:25 AM

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 09:17:03 AM

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.
 
2013-10-28 09:17:54 AM
i.imgur.com

What the life of the party looks like.
 
2013-10-28 09:17:54 AM

dittybopper: They can literally do that.


God I hate memory leaks.
 
2013-10-28 09:25:21 AM

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

In other words a really handy thing to know.

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.


And something that's required even if you use model-driven or other development tools like CASE.
 
2013-10-28 09:26:32 AM
Although speaking of CASE tools, which are increasingly falling out of favor, I have to laugh at how not more than 10 years ago they were still being touted as capable of 100% code generation.
 
2013-10-28 09:36:36 AM

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:43:09 AM

dittybopper: 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.


Separate class seems kind of odd.  That should be part of learning the math itself.  But I agree, it often isn't.
The math books my high school used had some of the worst word problems ever.  "Lancelot and Guinevere sat under a tree finding derivatives.  Guinevere asked Lancelot to find the derivative of f(x) = x3ex.  What answer did Lancelot give?"
 
2013-10-28 09:49:48 AM
That's hardly true. I've met many very interesting weirdos in my decades doing software development.
 
2013-10-28 09:50:51 AM

Barry Lyndon's Annuity Cheque: [i.imgur.com image 153x156]

What the life of the party looks like.


Is it a FIST party?  'cause that's one punch-able face if I've ever seen one.
 
2013-10-28 09:52:43 AM

serial_crusher: The math books my high school used had some of the worst word problems ever.  "Lancelot and Guinevere sat under a tree finding derivatives.  Guinevere asked Lancelot to find the derivative of f(x) = x3ex.  What answer did Lancelot give?"


"How is babby formed?"
 
2013-10-28 09:55:37 AM

serial_crusher: dittybopper: 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.

Separate class seems kind of odd.  That should be part of learning the math itself.  But I agree, it often isn't.
The math books my high school used had some of the worst word problems ever.  "Lancelot and Guinevere sat under a tree finding derivatives.  Guinevere asked Lancelot to find the derivative of f(x) = x3ex.  What answer did Lancelot give?"


Most people find math boring and/or confusing, a course in logic seems better as more context ed examples socially and historically could be used, would also make learning math easier as a side benifit
 
2013-10-28 09:58:05 AM

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 10:00:46 AM

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.


100% this. My girlfriend is teaching math resource for upper elementary students who would fit in to the age brackets they are talking about. Teaching 11 year olds actual programming languages might be a bit much but at least here "algorithms" are already one of the major branches of the math curriculum. Of course they never teach the kids the word algorithm, but the problem solving element of algorithm design is definitely there. Very basic computer science stuff might actually enhance math learning in kids because it provides another opportunity to be a bit creative and do a concrete mathematical task.

dittybopper: 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.


Could be your (their) age and where they did their math education. Word-based problem solving is a big part of most math curricula these days. Although I think most of the problems creep in in high school and university. Where people loose a lot of skills they worked on at a very basic level when they were younger. Basic math and math-based reasoning/problem solving type classes should be mandatory in post-secondary education and currently aren't. And high school math, other than the advanced courses which not everyone takes, I have no idea what they focus on these days.
 
2013-10-28 10:02:34 AM

RobotSpider: Barry Lyndon's Annuity Cheque: [i.imgur.com image 153x156]

What the life of the party looks like.

Is it a FIST party?  'cause that's one punch-able face if I've ever seen one.


FISTS has QSO parties, but they call them "sprints".
 
2013-10-28 10:06:14 AM
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".
 
2013-10-28 10:13:02 AM

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.
 
2013-10-28 10:20:51 AM
Teaching all children to code software is daft and pointless to The Telegraph blogger...


img.4plebs.org
 
2013-10-28 10:23:21 AM
As a dull weirdo who codes, I resemble that statement.
 
2013-10-28 10:24:09 AM
Most software gets written by a battle of wills between (a) coders who are mediocre social dropouts who are willing to immerse themselves in code but don't have any real skills to bring to the table except a pedantic knowledge of the language and/or libraries and (b) managers who are no smarter than the coders but believe themselves to posess superior interpersonal/business skills, and insist on making technical descisions solely for the purposes of propping up that illusion.

As a result, most software projects get all farked up.

If you actually know how difficult software is to get right (this is a rhetorical qurestion - you the reader most likely aren't smart or exprienced enough) you would know that most practical development operations are about medocre lackwits trying to hide the fact that they are all out of their depth. It's like trying to hide all your enriched uranium shavings by sweeping them into a corner :- sooner or later things are going to blow up on you.
 
2013-10-28 10:30:13 AM

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:35:39 AM

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 10:37:17 AM
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:37:33 AM

THE GREAT NAME: mediocre social dropouts who are willing to immerse themselves in code but don't have any real skills


I should have said "occasionally willing to immerse themselves"

The "magical process" by which "geeks" produce code is like a sausage factory - the more closely you look into what's really going on, the less appealing is the end result.
 
2013-10-28 10:39:42 AM

RedPhoenix122: 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.


If there were a class of parasites, "journalists", salesmen and marketers who had to justify their existence in the industry of plumbing that involved spending 70% of their day on the golf course,  I'm sure they would create a archetype of plumbers as autistic zombies who can't string two words together.
 
2013-10-28 10:42:04 AM

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.


Yep. I know how to change the oil on my car, but that doesn't make me a mechanic. It seems that nowadays, everyone who has ever "coded" anything now describes themselves as a technological genius.
 
2013-10-28 10:45:49 AM
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:47:36 AM

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:50:05 AM

dittybopper: 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.


Best of all is that those actually fixed in the short term by turning it off and then back on again.
 
2013-10-28 10:50:13 AM
His blog sucks, apparently.
 
2013-10-28 10:52:33 AM

NewWorldDan: Guys with 5 years experience can't fake their way through the FizzBuzz test.


for i from 1 to 100 do
if i = 1, print 1
if i = 2, print 2
if i = 3, print Fizz
if i = 4, print 4
if i = 5, print Buzz
etc
 
2013-10-28 10:54:38 AM
I got two out of three, bummer for me :(
 
2013-10-28 10:56:17 AM
10 PRINT "FARK YOU ";
20 GOTO 10
 
2013-10-28 10:56:44 AM

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.
 
2013-10-28 10:59:16 AM

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 11:01:08 AM

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 11:09:12 AM

falkone32: 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).


I've never seen anyone undermine their own point so thorougly. Congratulations!
 
2013-10-28 11:14:13 AM

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.
 
2013-10-28 11:16:02 AM
...and physicists who research nonlinear problems.

/we physicists write our own code
 
2013-10-28 11:18:38 AM
dittybopper:

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.


Set the derivative equal to zero and solve?
 
2013-10-28 11:19:33 AM

NewWorldDan: 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.


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
 
2013-10-28 11:20:59 AM
Anyone can learn to code., but then again, most people are exceptionally dull weirdos.

Fewer people can learn to problem solve with that code.
 
2013-10-28 11:22:24 AM
The description fits me well. I am happy, however, to be compared favorably to a plumber or car mechanic.
 
2013-10-28 11:22:38 AM
The purpose of teaching kids code is not to teach them to be coders, it's to plant a bug in the head of the ones who have the knack/aptitude/interest they might never otherwise know is there. Also, it's remarkable what a little bit of information at a young age does to internalize concepts for later learning.
 
2013-10-28 11:23:38 AM

THE GREAT NAME: Most software gets written by a battle of wills between (a) coders who are mediocre social dropouts who are willing to immerse themselves in code but don't have any real skills to bring to the table except a pedantic knowledge of the language and/or libraries and (b) managers who are no smarter than the coders but believe themselves to posess superior interpersonal/business skills, and insist on making technical descisions solely for the purposes of propping up that illusion.

As a result, most software projects get all farked up.

If you actually know how difficult software is to get right (this is a rhetorical qurestion - you the reader most likely aren't smart or exprienced enough) you would know that most practical development operations are about medocre lackwits trying to hide the fact that they are all out of their depth. It's like trying to hide all your enriched uranium shavings by sweeping them into a corner :- sooner or later things are going to blow up on you.


Well the important thing is that you found a way to feel superior to both.

/You sound unemployed and non-technical.
 
2013-10-28 11:25:03 AM

serial_crusher: dittybopper: 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.

Separate class seems kind of odd.  That should be part of learning the math itself.  But I agree, it often isn't.
The math books my high school used had some of the worst word problems ever.  "Lancelot and Guinevere sat under a tree finding derivatives.  Guinevere asked Lancelot to find the derivative of f(x) = x3ex.  What answer did Lancelot give?"


"You're not worth it. I'm gonna go nail an illiterate wench."

/What do I win?
 
2013-10-28 11:27:01 AM
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 11:30:28 AM

RedPhoenix122: 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.


Yeah, that sort of statement is just dumb on so many levels. Antagonize an entire class of people just to make a point (while missing the reason that is a point at all)

You shouldn't teach coding to all children, mainly because it's an engineering discipline (and proper software design also involves art, as well as science) - however, I think offering it as a sort of elective for children, at a young age, would be outstanding. Minecraft comes to mind as filling this educational niche, but more formal training would be nice.
 
2013-10-28 11:33:31 AM

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:35:11 AM

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

In other words a really handy thing to know.


Well, coding requires a good sense of data and workflow abstractions and interactions often in dynamic environments. I wouldn't classify that as a "mechanical" skill.
 
2013-10-28 11:39:23 AM
Coding is a niche, mechanical skill, a bit like plumbing or car repair.

As a subject, it only appeals to a limited set of people - the aforementioned dull weirdos.


Excuse me? Computer programming, plumbing and car repair trades are all inhabited by "dull weirdos?"

I suppose this person doesn't see fashion designers as "dull weirdos" but really well-grounded, interesting people.
 
2013-10-28 11:39:31 AM

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:40:22 AM

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:44:44 AM

NewWorldDan: 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.


First time I've ever heard of fizzbuzz.  Depends on the language, I suppose.

The first programmer interview with "Real Programmer Questions" (tm) struck me as pretty straight forward at the time:

1.  Given a sting, re-write it backwards (1st character becomes last, second becomes second last, etc),
2.  Demonstrate understanding of binary tree and b-tree,
3.  In the language of your choice, demonstrate recursion.

The guy giving the interview later told me I was the first person in 2 years to get all 3 correct.  It was also in the early 90's so things might have changed.  Based on 20-something years in the industry since then, I don't believe so.

Cheers.

//Really want to know what makes a good coder?   http://c2.com/cgi/wiki?LazinessImpatienceHubris
 
2013-10-28 11:45:55 AM

bigbadideasinaction: The purpose of teaching kids code is not to teach them to be coders, it's to plant a bug in the head of the ones who have the knack/aptitude/interest they might never otherwise know is there. Also, it's remarkable what a little bit of information at a young age does to internalize concepts for later learning.


THIS!  My grades would have been so much better in high school (and consequently I wouldn't suck at math) if I'd had some programming classes in Junior High or even as a Freshman.  School, especially at the high school level, should be all about introducing kids to all kinds of "professions" so they can get an idea what they like and maybe even become motivated/excited about the rest of their education...
 
2013-10-28 11:46:15 AM
Yes, coders are important. So are truck drivers.

It's OK to say coding is best suited to odd people - just like truck driving.

http://www.youtube.com/watch?v=imhBoE56OEs
 
2013-10-28 11:52:48 AM

Hyjamon: NewWorldDan: 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.

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


Two things not to underestimate here:
1) There are some truly incompetent people in the world
2) There are some people who freak the hell out in job interviews and temporarily become bumbling idiots.

It's sad that FizzBuzz type problems mislabel #2 sometimes, but the vast majority of people who claim to be #2 are actually #1s making excuses.
Anybody who cops a "I'm never going to have to do something like this in real life" attitude should be immediately thrown out.  Of course you're never going to solve that problem in real life, but we don't have time to present you with a real problem and see if you solve it right.

/ I used to use the Fibonacci Sequence a lot, because a lot of people have practiced it prior to the interview.  Those who haven't get a "math is hard" deer in the headlights look about them and fail miserably.  It's not the best question because really I just want to use it as a base to ask scalability questions.  ("ok, how come the iterative version is better than the recursive?", "even though it's better, the iterative still kind of sucks for really large inputs; what can we do to speed it up?", etc).  Kind of sucks when they can't even answer the base question that sets the others up.
// Nowadays we use a more real-world example that we set up in the phone interview and expect you to have thought about prior to coming in for the in-person.  You're building a forum and need to deal with common scalability issues.  You'll need to tell us over the phone to cache reads and buffer writes.  When you come in we'll make you implement the cache and buffer on the whiteboard.  Works pretty well.
 
2013-10-28 11:57:01 AM
anyone can learn to code.  not everyone can learn to code well.
 
2013-10-28 11:58:18 AM

Brian_of_Nazareth: The guy giving the interview later told me I was the first person in 2 years to get all 3 correct. It was also in the early 90's so things might have changed


Not really.  My current job is the third I've ever had.  When I phone interviewed they were absolutely ecstatic that I was getting things like "what's the difference between a linked list and an array" and "what happens behind the scenes when I type 'fark.com' into my address bar and press enter?" correct in the phone interview.  I almost didn't take the job because I thought it was strange that their expectations seemed so low.  I mentioned it during the in-person interview and was repeatedly assured that some real morons had applied and that was how they got filtered out.  A few years later when I started having to interview people, I understood why.
 
2013-10-28 12:00:20 PM

UrukHaiGuyz: serial_crusher: dittybopper: 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.

Separate class seems kind of odd.  That should be part of learning the math itself.  But I agree, it often isn't.
The math books my high school used had some of the worst word problems ever.  "Lancelot and Guinevere sat under a tree finding derivatives.  Guinevere asked Lancelot to find the derivative of f(x) = x3ex.  What answer did Lancelot give?"

"You're not worth it. I'm gonna go nail an illiterate wench."

/What do I win?


Child support payments.
 
2013-10-28 12:02:39 PM
Also in terms of programming, there's a lot of ways you can teach it indirectly to kids.  I used to go to "computer camp" every summer where we'd mostly just play games, but we spent a lot of time playing with Logo.  I spent all that time trying to figure out how to get that turtle to make the pictures I wanted, had no idea I was learning to program.
 
2013-10-28 12:04:52 PM

Brian_of_Nazareth: NewWorldDan: 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.

First time I've ever heard of fizzbuzz.  Depends on the language, I suppose.

The first programmer interview with "Real Programmer Questions" (tm) struck me as pretty straight forward at the time:

1.  Given a sting, re-write it backwards (1st character becomes last, second becomes second last, etc),
2.  Demonstrate understanding of binary tree and b-tree,
3.  In the language of your choice, demonstrate recursion.

The guy giving the interview later told me I was the first person in 2 years to get all 3 correct.  It was also in the early 90's so things might have changed.  Based on 20-something years in the industry since then, I don't believe so.

Cheers.

//Really want to know what makes a good coder?   http://c2.com/cgi/wiki?LazinessImpatienceHubris


No.

No it hasn't.

I am amazed how many programmers cannot do basic programming tasks in 2013.
 
2013-10-28 12:11:27 PM

THE GREAT NAME: falkone32: 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).

I've never seen anyone undermine their own point so thorougly. Congratulations!


He didn't undermine anything. Re-teaching yourself something is much more efficient than retaining it if it's rarely used. Ability to efficiently learn is the most important skill to bring with you out of college. No need to remember everything and carry it around with you.

RedPhoenix122: dittybopper: They can literally do that.

God I hate memory leaks.


I love going after bugs like that. On one game, I had an 8-week assignment to clean up all the memory leaks, then go after the fragmentation so we could load a few of the larger levels (GameCube memory constraints). That kind of detective work is really fun to me.
 
2013-10-28 12:11:46 PM

SpectroBoy: THE GREAT NAME: Most software gets written by a battle of wills between (a) coders who are mediocre social dropouts who are willing to immerse themselves in code but don't have any real skills to bring to the table except a pedantic knowledge of the language and/or libraries and (b) managers who are no smarter than the coders but believe themselves to posess superior interpersonal/business skills, and insist on making technical descisions solely for the purposes of propping up that illusion.

As a result, most software projects get all farked up.

If you actually know how difficult software is to get right (this is a rhetorical qurestion - you the reader most likely aren't smart or exprienced enough) you would know that most practical development operations are about medocre lackwits trying to hide the fact that they are all out of their depth. It's like trying to hide all your enriched uranium shavings by sweeping them into a corner :- sooner or later things are going to blow up on you.

Well the important thing is that you found a way to feel superior to both.

/You sound unemployed and non-technical.


You gotta do more than read XKCD to impress me, boy.
 
2013-10-28 12:13:07 PM
10 REM CRITERIA FOR OH SNAP
20 IF DID SOMEONE TELL HIM? EQUALS YES GOTO END
30 TELL HIM
40 GOTO 20
50 END
 
2013-10-28 12:14:09 PM

NewWorldDan: 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.


I didn't even know what the FizzBuzz test was until I was asked to write it in an interview. The logic is pretty simple, iterate a variable from 1 - 100, divide it by the numbers and check for a remainder, if there isn't one, do stuff. I can't imagine it would take someone an hour to figure out.

for (int i = 1; i <= 100; i++)
{
    if (i % 3 == 0 && i % 5 == 0)

    {
        Console.WriteLine("Fizz Buzz");
    }
    else if (i % 3 == 0)
    {
        Console.WriteLine("Fizz");
    }
    else if (i % 5 == 0)
    {
        Console.WriteLine("Buzz");
    }
    else
    {
        Console.WriteLine(i.ToString());
    }
}

Interviews in this business are a tricky thing. You never know if the "prove yourself" portion is going to be something simple or something ridiculously hard. One place asked me to write a function on a whiteboard that would find all permutations of a string of characters. I got to the point where I realized I'd have to rewrite the thing as a recursive function when time ran out. Another place gave me a take home assignment: write a mapping project that'll build a map from an XML file and find the quickest route between two points taking into account obstacles. The requirements were three pages long. I could tell right off the bat that this would be the kind of job where I'd never be off the clock. I saw 15 hour days and working weekends in my future. Nuts to that.

Some places think they can weed out the BSers by peppering them with dry questions about OOP terms and methodologies. The problem with that approach is you run into people like me who've been using said methodologies for years without knowing the technical term for it. Oh, that's what refactoring is? I'd always just called it "I can't believe I used to write things this way, what was I thinking?" The pitfalls of self learning.
 
2013-10-28 12:15:42 PM
I was utterly fascinated by programming when I was 11...  Now they pay me for it.

Thank you, Commodore basic!

Also, I am the coolest guy I know...  of the people who hang out in my basement.
 
2013-10-28 12:19:10 PM

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.
 
2013-10-28 12:21:05 PM

NewWorldDan: 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.


Wait - what? I had to go look up what this "FizzBuzz" business was about, and was shocked to find that, instead of a complex mathematical problem, the "test" was "do you know what a modulo is?", in loop form. I friggin' jotted out a basic C# solution in less than a minute, on paper, while typing this post - it's not exactly difficult.

Seriously? An experienced developer couldn't do that? There are eighth-grade schoolkids that can do that - it's basic friggin' math. If you couldn't immediately, verbally, provide a basic nested if/then solution, you're not getting hired by me.
 
2013-10-28 12:21:10 PM
I'm a hobbyist coder and put a new toilet in a couple of weeks ago, so I'm really getting a kick...
 
2013-10-28 12:24:53 PM

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 12:25:44 PM

meat0918: Brian_of_Nazareth: NewWorldDan: 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.

First time I've ever heard of fizzbuzz.  Depends on the language, I suppose.

The first programmer interview with "Real Programmer Questions" (tm) struck me as pretty straight forward at the time:

1.  Given a sting, re-write it backwards (1st character becomes last, second becomes second last, etc),
2.  Demonstrate understanding of binary tree and b-tree,
3.  In the language of your choice, demonstrate recursion.

The guy giving the interview later told me I was the first person in 2 years to get all 3 correct.  It was also in the early 90's so things might have changed.  Based on 20-something years in the industry since then, I don't believe so.

Cheers.

//Really want to know what makes a good coder?   http://c2.com/cgi/wiki?LazinessImpatienceHubris

No.

No it hasn't.

I am amazed how many programmers cannot do basic programming tasks in 2013.


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.
 
2013-10-28 12:26:36 PM

Telos: 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.


Pretty much this. Most the time I spend as a business developer is trying to get other departments to decide what they really want

What they really want is usually a combination of:

1. A totally different thing then they describe.
2. Will result in massive security violations or data corruption.
3. Basically an impossibility.
4. So complex and convoluted that they have no real idea what they are asking for.

So you have to sit down with them and figure out what they really want, what can be done, develop a model and time frame, and work out how it will interact with the rest of the software. All the time the objectives and goals can be changed, and you are at the mercy of others who can change their mind and you have to fight for your views to do what is best for the company and what will work without causing problems and damage.

Putting it to code is just one of the many features and I don't see how many of the coding jobs required could exist if you can't communicate.
 
2013-10-28 12:29:04 PM

miscreant: 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.


Coding was my hobby, and then my job, in my teenage years, and I did it professionally, whenever I could, for the next dozen or so years after I left home. Then, I spent the following dozen years as a programmer/writer, because I not only liked writing code, I also liked writing about code - I specialize in content for developer audiences.

I write code for fun & profit, and I write content for profit. (Although, after the gig at my current company ends one way or another, I'm going back to development - they've soured me on writing content.)
 
2013-10-28 12:29:05 PM

Telos: 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.


I have spent nearly 20 years developing various bits of software. The most complicated maths a customer or the business has ever needed I can think of is calculating the values for a cusum plot or a few other tasks of similar (lack of) mathematical complexity, so knowing more than an 11 year old in maths seems pretty irrelevant from my point of view.
 
2013-10-28 12:31:51 PM
i am a highly paid glorified plumber.
 
2013-10-28 12:34:50 PM

xalres: <riidiculous slow Fizz Buzz algorithm>


Does NAME have to do everything?

for(i=0; i<1000; i+=3) printf( "FizzBuzz %d1 %d2 Fizz %d4 Buzz Fizz %d7 %d8 Fizz Buzz %d1 Fizz %d3 %d4 "
                               "FizzBuzz %d6 %d7 Fizz %d9 Buzz Fizz %d2 %d3 Fizz Buzz %d6 Fizz %d8 %d9 ",
                               i, i, i, i, i, i+1, i+1, i+1, i+1, i+1, i+1, i+2, i+2, i+2, i+2, i+2 );
 
2013-10-28 12:35:02 PM

FormlessOne: NewWorldDan: 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.

Wait - what? I had to go look up what this "FizzBuzz" business was about, and was shocked to find that, instead of a complex mathematical problem, the "test" was "do you know what a modulo is?", in loop form. I friggin' jotted out a basic C# solution in less than a minute, on paper, while typing this post - it's not exactly difficult.

Seriously? An experienced developer couldn't do that? There are eighth-grade schoolkids that can do that - it's basic friggin' math. If you couldn't immediately, verbally, provide a basic nested if/then solution, you're not getting hired by me.


That's kind of the point:   http://www.codinghorror.com/blog/2007/02/fizzbuzz-the-programmers-sta i rway-to-heaven.html
 
2013-10-28 12:35:24 PM
Well, that explains a lot. I write software all day everyday for robotics and automation. I play lead guitar in two rock cover bands. I have a weekend FWB and a weekday FWB who has her own key to my house. As long as I bang the weekday girl, she cleans my house and does my laundry. Plus leaves cookies, cupcakes, and bunches of stuff she bakes. IT'S SO DULL!!!! SAVE ME!!!!
 
2013-10-28 12:35:30 PM
I can remember a time when the very definition of 'computer literacy' was being able to write you own
programs.

While I am very glad that the field of computing has advanced to the point where not everyone needs to have
programming/coding skills for the routine use of computers, nevertheless knowing the basics of computer
programming will make you a better consumer of the devices.
 
2013-10-28 12:36:11 PM

xria: Telos: 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.

I have spent nearly 20 years developing various bits of software. The most complicated maths a customer or the business has ever needed I can think of is calculating the values for a cusum plot or a few other tasks of similar (lack of) mathematical complexity, so knowing more than an 11 year old in maths seems pretty irrelevant from my point of view.


Odd. I've spent nearly a third of my career, if I'm correctly counting the years, handling business problems that involved algebra, geometry, trig, calc, and stats - gaming, actuarial analysis, cartographic analysis, network analysis, business intelligence, and so on. I've not been to college - this is all high-school mathematics, and that solid grounding in mathematics has opened doors that would've otherwise remained closed to a developer without a degree. Yes, you can get away with not having a solid grounding in mathematics, but that does limit your options when it comes to business application development.
 
2013-10-28 12:36:43 PM
I don't see myself as exceptionally dull.  Why just this morning I woke up and said good morning to my very non-dull wife Audrey and then we had a breakfast of toast and eggs as we do every Monday after which I brushed my teeth counting 10 strokes per tooth in a clockwise direction for the upper teeth but in an excitingly counterclockwise direction for the lower teeth. After brushing my teeth I completed my activities in the toilet and proceeded to select my very non-boring attire for the day.  I then observed the dog as he was let out into the yard for his morning evacuations.  He urinated for 12 seconds and defecated quickly after that. Preparing for my commute I checked the tire pressure in the car's tires only to find that the pressure in tire #3 had dropped by an unacceptable 1/2 pound per square inch.  This compelled me to engage the compressor and return the tire to operating pressure.  Once the tires had been validated I ensconced myself into the driving position of my quite non-boring Camry and verified that each mirror was in a proper position to allow me to see appropriate objects behind me.  As I backed out of my garage I waved at my quite non-boring neighbor who was walking a canister of garbage toward the street.  On my commute I observed 12 pedestrians and noted with the slight chill in the air 7 of them were wearing coats with 3 of those wearing hats.

It as only after this thrilling morning routine that I began my day job of coding.
 
2013-10-28 12:37:32 PM

Telos: FormlessOne: NewWorldDan: 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.

Wait - what? I had to go look up what this "FizzBuzz" business was about, and was shocked to find that, instead of a complex mathematical problem, the "test" was "do you know what a modulo is?", in loop form. I friggin' jotted out a basic C# solution in less than a minute, on paper, while typing this post - it's not exactly difficult.

Seriously? An experienced developer couldn't do that? There are eighth-grade schoolkids that can do that - it's basic friggin' math. If you couldn't immediately, verbally, provide a basic nested if/then solution, you're not getting hired by me.

That's kind of the point:   http://www.codinghorror.com/blog/2007/02/fizzbuzz-the-programmers-sta i rway-to-heaven.html


This is what we call "violent agreement" - I'm emphasizing the point.
 
2013-10-28 12:42:30 PM

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?


You'd be surprised by how often this does happen.
 
2013-10-28 12:45:14 PM

FormlessOne: Telos: FormlessOne: NewWorldDan: 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.

Wait - what? I had to go look up what this "FizzBuzz" business was about, and was shocked to find that, instead of a complex mathematical problem, the "test" was "do you know what a modulo is?", in loop form. I friggin' jotted out a basic C# solution in less than a minute, on paper, while typing this post - it's not exactly difficult.

Seriously? An experienced developer couldn't do that? There are eighth-grade schoolkids that can do that - it's basic friggin' math. If you couldn't immediately, verbally, provide a basic nested if/then solution, you're not getting hired by me.

That's kind of the point:   http://www.codinghorror.com/blog/2007/02/fizzbuzz-the-programmers-sta i rway-to-heaven.html

This is what we call "violent agreement" - I'm emphasizing the point.


Yes, and I was belaboring it... :P
 
2013-10-28 12:45:26 PM

dittybopper: 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.


Extending the car repair simile, the Memory Leak is the "intermittent electrical fault" of computer science, in terms of the scale of things that are annoying to find and fix.

 I just moved to a new job doing firmware for industrial process robotics - now I get to troubleshoot memory leaks AND intermittent electrical faults in the same devices.
 
2013-10-28 12:46:12 PM
I`ve dabbled with programming, engineering, 3D CAD,3D and now I do video effects in a very relaxed company. Biggest thing I was involved with was a game that me and one other person wrote together and that was about 150,000 lines of code in C+. It was very rewarding and let me know I didn`t want to do that every day, every week so I looked in other areas.

If you can write small bits of code with flashy icons to grab attention for apps to go on smartphones you don`t need much else these days. Bit of low level hardware access and some graphics (and the spyware code but you get given that)

Why would you need maths?
 
2013-10-28 12:49:24 PM

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:49:35 PM

DjangoStonereaver: I can remember a time when the very definition of 'computer literacy' was being able to write your own
programs.


I can remember a time when literacy also had a different meaning.
 
2013-10-28 12:51:54 PM
THE GREAT NAME:
You gotta do more than read XKCD to impress me, boy.

Oh noes! He called me boy!  He must be a big bad internet toughguy!

/ eyeroll
 
2013-10-28 12:53:05 PM
There's a reason most startup co-founders are "the charming ideas guy" paired with "the tech genius".

Yeah. It's because you need a charming sociopath to bring in the big venture-capital bucks.
 
2013-10-28 12:57:26 PM

SpectroBoy: THE GREAT NAME:
You gotta do more than read XKCD to impress me, boy.

Oh noes! He called me boy!  He must be a big bad internet toughguy!

/ eyeroll


Errr, see your sig.
 
2013-10-28 12:59:02 PM
As long as they don't cure autism, we'll have plenty of programmers.
 
2013-10-28 12:59:06 PM

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.


Fark Intro to Philosophy. I enrolled in that as one of the final courses to get my Associates but ran into a problem with the guy running the course. Our first - second week was about Religion and Philosophy. The response assignment that week was for our views on religion. He said he was a devout Catholic. As long as your wrote some stupid shiat like, "I like God I follow God every day." You would get full points even though that didn't cover the needs for the assignment, now this wasn't the case for 2 people in the course. Both of us are non believers and he directed his responses solely at us, those responses were that we were wrong along with a shaky defense of why we were wrong.

I would be fine with this if he was trying to spur on new ways of thinking about the same thing for everyone in the class. He wouldn't even reply to anyone that used religion in their response but for 2 of us it was open season to him. Is it against his religion to cast doubt in other believers? If so then he shouldn't even be in teaching this kind of shiat.

I was hoping weeks 3-4 wouldn't include religion but it was still within the print of that section... turns out our assignments jumped off religion in those weeks too. Fark this shiat.

/I didn't feel comfortable being in that class anymore
//dropped.
 
2013-10-28 01:06:11 PM

Tenatra: 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.

Fark Intro to Philosophy. I enrolled in that as one of the final courses to get my Associates but ran into a problem with the guy running the course. Our first - second week was about Religion and Philosophy. The response assignment that week was for our views on religion. He said he was a devout Catholic. As long as your wrote some stupid shiat like, "I like God I follow God every day." You would get full points even though that didn't cover the needs for the assignment, now this wasn't the case for 2 people in the course. Both of us are non believers and he directed his responses solely at us, those responses were that we were wrong along with a shaky defense of why we were wrong.

I would be fine with this if he was trying to spur on new ways of thinking about the same thing for everyone in the class. He wouldn't even reply to anyone that used religion in their response but for 2 of us it was open season to him. Is it against his religion to cast doubt in other believers? If so then he shouldn't even be in teaching this kind of shiat.

I was hoping weeks 3-4 wouldn't include religion but it was still within the print of that section... turns out our assignments jumped off religion in those weeks too. Fark this shiat.

/I didn't feel comfortable being in that class anymore
//dropped.


Now the religion they teach is climatology. Meet the new boss, same as the old boss.
 
2013-10-28 01:15:27 PM

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?


I think it would be best to first show them some introductory "under the hood" stuff and then show them how an object that already invented the wheel will let them roll along without the fuss.

Some kids will inevitably be curious about digging under the hood while others will be more focused on getting results.
 
2013-10-28 01:17:18 PM

Tenatra: Fark Intro to Philosophy. I enrolled in that as one of the final courses to get my Associates but ran into a problem with the guy running the course. Our first - second week was about Religion and Philosophy. The response assignment that week was for our views on religion. He said he was a devout Catholic. As long as your wrote some stupid shiat like, "I like God I follow God every day." You would get full points even though that didn't cover the needs for the assignment, now this wasn't the case for 2 people in the course. Both of us are non believers and he directed his responses solely at us, those responses were that we were wrong along with a shaky defense of why we were wrong.


You really think that Intro to Philosophy should be dropped because you had a crappy teacher?
 
2013-10-28 01:19:22 PM

Lando Lincoln: 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?

I think it would be best to first show them some introductory "under the hood" stuff and then show them how an object that already invented the wheel will let them roll along without the fuss.

Some kids will inevitably be curious about digging under the hood while others will be more focused on getting results.


Why are you people even debating that question? OF COURSE they should be taught both! This is engineering. A mechanical engineer has to know how nuts and bolts work AS WELL as where to buy them off he shelves. Not knowing how to implement a sort should be a firing offence AS SHOULD implementing one from scratch when an existing available algo would have done the job.

Half the debate about how SW is done is just losers trying to find round-about ways of justifying their own half-assed botch jobs that they do.
 
2013-10-28 01:21:39 PM

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 01:24:55 PM

meat0918: 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 " ...


The educator to whom you refer is correct. There are no excuses.

Based on some of the trgic loons in this thread, NAME's verstion of the course materials would employ frowny faces only.
 
2013-10-28 01:30:37 PM

FormlessOne: NewWorldDan: 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.

Wait - what? I had to go look up what this "FizzBuzz" business was about, and was shocked to find that, instead of a complex mathematical problem, the "test" was "do you know what a modulo is?", in loop form. I friggin' jotted out a basic C# solution in less than a minute, on paper, while typing this post - it's not exactly difficult.

Seriously? An experienced developer couldn't do that? There are eighth-grade schoolkids that can do that - it's basic friggin' math. If you couldn't immediately, verbally, provide a basic nested if/then solution, you're not getting hired by me.


What it's not a decimal to binary bit translation in a loop where you are doing work after you add a new digit?

Guess I would have failed that little test, because I was looking for something harder than a simple modulo test on a loop variable.
 
2013-10-28 01:34:37 PM
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:35:53 PM

Lando Lincoln: Tenatra: Fark Intro to Philosophy. I enrolled in that as one of the final courses to get my Associates but ran into a problem with the guy running the course. Our first - second week was about Religion and Philosophy. The response assignment that week was for our views on religion. He said he was a devout Catholic. As long as your wrote some stupid shiat like, "I like God I follow God every day." You would get full points even though that didn't cover the needs for the assignment, now this wasn't the case for 2 people in the course. Both of us are non believers and he directed his responses solely at us, those responses were that we were wrong along with a shaky defense of why we were wrong.

You really think that Intro to Philosophy should be dropped because you had a crappy teacher?


Yes. I drop classes if I don't like the teacher. I'm paying for it and if I don't like what I'm paying for then I get a refund.
 
2013-10-28 01:40:32 PM

dready zim: DjangoStonereaver: I can remember a time when the very definition of 'computer literacy' was being able to write your own
programs.

I can remember a time when literacy also had a different meaning.


Grammar trolls are the lowest form of internet life, you know.
 
2013-10-28 02:07:36 PM

DjangoStonereaver: dready zim: DjangoStonereaver: I can remember a time when the very definition of 'computer literacy' was being able to write your own
programs.

I can remember a time when literacy also had a different meaning.

Grammar trolls are the lowest form of internet life, you know.


No, U R
 
2013-10-28 02:11:41 PM
I may be weird but I'm not exactly dull.

My borderline alcoholism, low boredom threshold and no sense of self-preservation has at least given me a raft of interesting stories.
 
2013-10-28 02:18:01 PM
I used to program for a living. Then I learned how computers work and got a good job instead.
 
2013-10-28 02:26:38 PM

miscreant: 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.


Yep, I used to code as well for fun back in my pre-college days. Went to college and got my BS in CS as well, and have been a software engineer professionally for 10 years now. I have absolutely zero desire to code on my own free time away from work, if it be for fun or a business idea. Hell, I actually do everything possible to NOT even go near a computer once I get home from the office. When I get asked in interviews "What coding projects do you work on in the side" I have to make stuff up.
 
2013-10-28 02:46:36 PM
Google image search Willard Foxton and try to tell me he doesn't just slay the pussy every time he goes out. He's a stud on every definition of the word
 
2013-10-28 02:49:00 PM

THE GREAT NAME: DjangoStonereaver: dready zim: DjangoStonereaver: I can remember a time when the very definition of 'computer literacy' was being able to write your own
programs.

I can remember a time when literacy also had a different meaning.

Grammar trolls are the lowest form of internet life, you know.

No, U R


This witty rejoinder brought to you by the same guy who uses the term "libtard" when trying to be serious.
 
2013-10-28 03:16:44 PM

dready zim: I`ve dabbled with programming, engineering, 3D CAD,3D and now I do video effects in a very relaxed company. Biggest thing I was involved with was a game that me and one other person wrote together and that was about 150,000 lines of code in C+. It was very rewarding and let me know I didn`t want to do that every day, every week so I looked in other areas.

If you can write small bits of code with flashy icons to grab attention for apps to go on smartphones you don`t need much else these days. Bit of low level hardware access and some graphics (and the spyware code but you get given that)

Why would you need maths?


You'd need maths to complete a rigorous computer science degree.  For some reason lots of people think you need a computer science degree to make a website.  But it seems like attitudes are changing.
 
2013-10-28 03:17:38 PM

skozlaw: I used to program for a living. Then I learned how computers work and got a good job instead.


conscious2conscience.files.wordpress.com
 
2013-10-28 03:20:45 PM

Slaves2Darkness: Yes. I drop classes if I don't like the teacher. I'm paying for it and if I don't like what I'm paying for then I get a refund.


Let me rephrase.

I had a really crappy calculus teacher, ergo, I think no one should take calculus.

Would you consider this to be a rational stance?
 
2013-10-28 03:29:34 PM

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?


If you mean CS students, yes they should learn under the hood stuff.  That's also why C and/or C++ should still be used so students have some idea of how pointers really work.
 
2013-10-28 03:40:15 PM

Telos: If you mean CS students, yes they should learn under the hood stuff.  That's also why C and/or C++ should still be used so students have some idea of how pointers really work.


This.

We didn't know that the STL even existed for the first year of our computer science education.

/Though it says something about my education that I find C to be the language of paranoia and C++ to be an elegant and expressive language.
 
2013-10-28 03:46:09 PM
"Reg readers, what do you make of this?"

I think the opinion of one "blogger" is not relevant or worthy of an article.
 
2013-10-28 03:50:00 PM

Lando Lincoln: Slaves2Darkness: Yes. I drop classes if I don't like the teacher. I'm paying for it and if I don't like what I'm paying for then I get a refund.

Let me rephrase.

I had a really crappy calculus teacher, ergo, I think no one should take calculus.

Would you consider this to be a rational stance?


I believe by "dropped" he meant "I dropped the class," not "nobody should teach Intro to Philosophy."

/why am I translating here?
 
2013-10-28 03:56:14 PM

InmanRoshi: 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.


Hi I'm Fark_Guy_Rob.  I'm a 'Project Manager'.  I'll 'manage' the project, because, let's face it....our software guys are great.  Really, they are amazing at *what they do*.  But when it comes to project planning and communicating with our business users, well, that's not where their skills lie.  So hire me, and I'll get things moving!

(Hired)

Okay Team, I'm the new project manager.  I'll be managing the project.  My job is to make sure you can do the stuff you want to do and I'll keep you from doing the stuff you don't want.  Now, I'm going to set up long, boring meetings where you can tell me what you do.

(Dev Meeting #1 of 28393)
So, Software Guy #1, what are you working on?  X and Y and Z?  Okay, I see.  And how long will X take?  Okay.  And is there anything stopping you from finishing X?  Oh - you are waiting on someone to do something?  Okay!  No problem.  And what about Y?  .......etc etc

(Business Meeting #1 of 2894)
Okay guys.  Our team is doing A LOT.  We have too much on our plate...we need to PRIORITIZE.  So I've setup these meetings so you, the business users, can decide our priorities.  Now, let's talk about X.  Guy #1 is working on X.  He's not here because he spent much longer explaining X to me, but I glazed over.  I just wrote down 'x' and how long he said it would take.  Is X important?  Oh it is?  Okay, I'll make X a PRIORITY!  It's a good thing I'm here.  You guys could NEVER have communicated that is important.  And now, let's talk about 'y'.  I also don't know about 'y'.....etc...etc...etc...
Well, that is what they are doing.  Now, is there anything else we need to work on?  T?  Oh yeah - I'll schedule a meeting to talk about T in detail.

(Requirements Meeting #1 of 48483)
Okay, let's talk about T.  I know nothing about T and nothing about software development.  So you just tell me what you want T to do, I'll write it down in vague terms and then I'll had it to someone else.  Okay?  Great.  Let's spend a solid day on 'What the buttons should say' because, hey, that's important.  Also, I'll say things like, 'That looks similar to something, I'm sure our guys can UTILIZE THE EXISTING FRAMEWORK!

(Project Kick-off Meeting #1 of 99584)
Hey Software Guy #3.  Like I mentioned in our daily stand up, I've got an exciting new HIGH PRIORITY project for you.  I've put together a spec (but it makes no sense).  I've broken it down into 'tasks' (that have no bearing on how you'll want to design it) so that I can make a pretty chart.  Look at my chart.  It's on slide 6 of this powerpoint I've created for this meeting.  Okay, so blah, blah, blah, now, tell me how long 'action item #1' will take.  What do you mean you don't know?  I just read you the spec that I don't understand and wrote....and I need numbers from you to make a chart.  Also, these numbers will let me know if you are good or bad at your job.  Okay?  SIX WEEKS?  That won't work, I told them we'd be done in FOUR weeks.  No worries, I know you can do it!

etc...etc....etc.....
 
2013-10-28 03:56:34 PM

falkone32: 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).


Well, to solve a problem elegantly you might need to find the analytic solution via integration. 'Course, Mathematica can do that for you.

Numerical Integration? Isn't "Numerical Recipes" still in print? I used it in college to teach myself things I needed to program for a theoretical chemist I was working for.

Then again, one of the co-authors taught a course in my college for the physics majors interested in computational stuff (which was a lot).
 
2013-10-28 03:56:39 PM

Brian_of_Nazareth: The first programmer interview with "Real Programmer Questions" (tm) struck me as pretty straight forward at the time:

1.  Given a sting, re-write it backwards (1st character becomes last, second becomes second last, etc),
2.  Demonstrate understanding of binary tree and b-tree,
3.  In the language of your choice, demonstrate recursion.


Answers:
1. Ow.  Ow.  Quit stinging me, you f**k. '\0',"gnits a".
2. You can only have two binary trees.  A b-tree is where those things come from that keep stinging me.  See answer #1
3. Assembly:
me:    call me
I has this question once for a real-time embedded position.  My response was "Why would anyone use recursion in an embedded application with limited stack space?  It's completely unbounded.  Is it just because you want me to show you my b-tree answer again or that you're gunna start stinging me again?"

Do I get the job?
 
2013-10-28 03:56:40 PM
As a professional coder, I know how to haxors the webzones. It's an incredibly valuable skill.

Now, would anyone like me to reroute their codec configurations, and download an email on to their software so they can execute a DNS mainframe access code? If that's the case, then I'm your man.

I'm here to help.
 
2013-10-28 04:12:34 PM

rosebud_the_sled: Brian_of_Nazareth: The first programmer interview with "Real Programmer Questions" (tm) struck me as pretty straight forward at the time:

1.  Given a sting, re-write it backwards (1st character becomes last, second becomes second last, etc),
2.  Demonstrate understanding of binary tree and b-tree,
3.  In the language of your choice, demonstrate recursion.

Answers:
1. Ow.  Ow.  Quit stinging me, you f**k. '\0',"gnits a".
2. You can only have two binary trees.  A b-tree is where those things come from that keep stinging me.  See answer #1
3. Assembly:
me:    call me
I has this question once for a real-time embedded position.  My response was "Why would anyone use recursion in an embedded application with limited stack space?  It's completely unbounded.  Is it just because you want me to show you my b-tree answer again or that you're gunna start stinging me again?"

Do I get the job?


No.

Cheers
 
2013-10-28 04:27:23 PM
Does this mean the Oflunkacare site's coders are less dull weirdos than real coders?
 
2013-10-28 04:30:23 PM

doczoidberg: As a professional coder, I know how to haxors the webzones. It's an incredibly valuable skill.

Now, would anyone like me to reroute their codec configurations, and download an email on to their software so they can execute a DNS mainframe access code? If that's the case, then I'm your man.

I'm here to help.


No, we are looking for someone to sync the disruptor to email tachyon particles for a mail merge with the transporter using COBOL instead of Python with an inverted string array.
 
2013-10-28 04:34:32 PM

Clever Neologism: 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?


All of it exists on every project to varying degrees.  Let's take the example of everyone's favorite thing to poke fun at lately as "not real engineering": phone apps.  I am a partner in a mobile development company and all these things come into play all the time.  Admittedly, for version 1.0 of an app you don't really give a crap, the primary focus is getting something out there to see if there's enough market to justify a real investment.  When you get a concept that catches on a bit you really have to take some serious consideration into how much bandwidth you'll be using, can you re-design the system to allow off-line usability?  What's the oldest/least powerful phone you'll be supporting, will your app work?  When/how do you expect your users to be using your app, is it a game they will be playing for a couple minutes at a time while waiting in line?  Is it something they'll be using constantly for hours while they accomplish their job?  Is there a server-side component?  How many users do you expect?  Can you handle the load?  What do your data structures look like, how does this correspond to your physical data stores?  While it's true that I do minimal testing myself that includes things you mentioned such as unit testing we have an entire department full of people who do nothing all day but test new features, backwards compatibility, usability, negative testing, etc.
 
2013-10-28 04:34:41 PM

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?


I've seen plenty of leaky apps in my lifetime and the coders always deny it.

/I code a bit and also do plumbing, some car/motorcycle repair, woodworking, and 99% of the things that need to be done to my house and what's in it
//rarely start fires.  Rarely.
 
2013-10-28 04:36:30 PM

sprawl15: NewWorldDan: Guys with 5 years experience can't fake their way through the FizzBuzz test.

for i from 1 to 100 do
if i = 1, print 1
if i = 2, print 2
if i = 3, print Fizz
if i = 4, print 4
if i = 5, print Buzz
etc


Classic!!  I was pissing myself when I read this!
 
2013-10-28 04:40:57 PM

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 04:41:08 PM

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".


It's a fundamental problem with anyone with a CS degree.   They lack domain expertise in whatever it is they are supposed to be modeling.  If I'm building a hurricane tracking system for NOAA or the National Weather Service, I want someone that knows how hurricanes form and how they move.   I don't want some guy fluent in three computer languages that has to be taught that, because he is likely to get it wrong.

Honestly, CS should only be offered as a minor to some other discipline.
 
2013-10-28 04:45:01 PM

NewWorldDan: 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.


That's a standard test?  I had an interviewer ask me that a few months ago.  I thought it was just something he came up with.

/he did say I was the only candidate to get it right first try.
//lots more than 5 years experience
 
2013-10-28 04:52:01 PM

Vlad_the_Inaner: NewWorldDan: 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.

That's a standard test?  I had an interviewer ask me that a few months ago.  I thought it was just something he came up with.

/he did say I was the only candidate to get it right first try.
//lots more than 5 years experience


The thing that everyone forgets is that interviewing is self-selecting.   http://www.joelonsoftware.com/items/2005/01/27.html

You dig through a pile of crap, find the least crap-like thing, and then put the rest of the crap back in for everyone else to dig through. If these people were good at their jobs, they'd be employed right now (or be like you and getting employed soon-ish).
 
2013-10-28 04:55:29 PM

Telos: FormlessOne: Telos: FormlessOne: NewWorldDan: 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.

Wait - what? I had to go look up what this "FizzBuzz" business was about, and was shocked to find that, instead of a complex mathematical problem, the "test" was "do you know what a modulo is?", in loop form. I friggin' jotted out a basic C# solution in less than a minute, on paper, while typing this post - it's not exactly difficult.

Seriously? An experienced developer couldn't do that? There are eighth-grade schoolkids that can do that - it's basic friggin' math. If you couldn't immediately, verbally, provide a basic nested if/then solution, you're not getting hired by me.

That's kind of the point:   http://www.codinghorror.com/blog/2007/02/fizzbuzz-the-programmers-sta i rway-to-heaven.html

This is what we call "violent agreement" - I'm emphasizing the point.

Yes, and I was belaboring it... :P


Sweet! No point is too good to belabor.
 
2013-10-28 04:56:56 PM

InmanRoshi: 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.


So very much this!
 
2013-10-28 05:05:55 PM

Lando Lincoln: Slaves2Darkness: Yes. I drop classes if I don't like the teacher. I'm paying for it and if I don't like what I'm paying for then I get a refund.

Let me rephrase.

I had a really crappy calculus teacher, ergo, I think no one should take calculus.

Would you consider this to be a rational stance?


Of course not. That does even fit the data. Lots of people pass and even like courses taught by professors I dislike. Also sometimes you just have to suck it up and take the course from a professor you don't like, because they are the only ones to teach it.
 
2013-10-28 05:07:44 PM

Telos: 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?

If you mean CS students, yes they should learn under the hood stuff.  That's also why C and/or C++ should still be used so students have some idea of how pointers really work.


Bingo. It's especially fun watching folks who relied on huge libraries of objects & functions struggle when a new language or technology comes down the pike - they didn't understand what decisions & functionality the libraries performed, so they couldn't adapt. They didn't understand the underpinnings, and so couldn't map what they knew to new abstractions or implementations, either. They also have no idea what questions to ask when it comes to evaluating existing implementations or creating new implementations, because they didn't question the previous implementations.

The guy who invented the quicksort algorithm had other sorting methodologies - well-known, well-understood methodologies - available to him in as canned a form as you could provide in 1960, but still stopped and asked "...yeah, but what if..." because he understood their implementations and realized that he could provide a new, more efficient implementation for his own purposes. Had he stuck with the "canned" methodologies decades ago, we may very well be without quicksort today. You don't get innovation unless you understand what came before you.
 
2013-10-28 05:16:11 PM

meyerkev: You dig through a pile of crap, find the least crap-like thing, and then put the rest of the crap back in for everyone else to dig through. If these people were good at their jobs, they'd be employed right now (or be like you and getting employed soon-ish).


Oddly enough, they told me that I'd hear the offer in a few days.  When that date came and went, I spoke to the headhunter.  She said they kicked the request up for approval by the money people.  It never did come back to me, one way or the other.

But I did get employed a bit over a month later.
 
2013-10-28 07:25:50 PM

Rent Party: 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".

It's a fundamental problem with anyone with a CS degree.   They lack domain expertise in whatever it is they are supposed to be modeling.  If I'm building a hurricane tracking system for NOAA or the National Weather Service, I want someone that knows how hurricanes form and how they move.   I don't want some guy fluent in three computer languages that has to be taught that, because he is likely to get it wrong.

Honestly, CS should only be offered as a minor to some other discipline.


So what you are saying is that applications like MS Word, web sites, etc... are totally pointless? Got ya.
 
2013-10-28 07:29:12 PM

machoprogrammer: Rent Party: 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".

It's a fundamental problem with anyone with a CS degree.   They lack domain expertise in whatever it is they are supposed to be modeling.  If I'm building a hurricane tracking system for NOAA or the National Weather Service, I want someone that knows how hurricanes form and how they move.   I don't want some guy fluent in three computer languages that has to be taught that, because he is likely to get it wrong.

Honestly, CS should only be offered as a minor to some other discipline.

So what you are saying is that applications like MS Word, web sites, etc... are totally pointless? Got ya.


Mind you, he has a point.  I think that "knowing how to write good code" + "having someone who they can go ask who knows WTF I'm supposed to be doing" is going to get you a better application than going at it from "I have no idea how to code, but I know what the program is supposed to do" once you get past the most trivial programs, but it's still a valid point.
 
2013-10-28 07:42:12 PM

machoprogrammer: Rent Party: 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".

It's a fundamental problem with anyone with a CS degree.   They lack domain expertise in whatever it is they are supposed to be modeling.  If I'm building a hurricane tracking system for NOAA or the National Weather Service, I want someone that knows how hurricanes form and how they move.   I don't want some guy fluent in three computer languages that has to be taught that, because he is likely to get it wrong.

Honestly, CS should only be offered as a minor to some other discipline.

So what you are saying is that applications like MS Word, web sites, etc... are totally pointless? Got ya.


Websites can (and generally are) coded by morons.  Monkeys can do it.

Word developers should have expertise in things like writing.  English majors or people working on a JD, for example, could produce a much better word processor than you can.

I'm sorry you are inadequate.  But you are.
 
2013-10-28 07:45:28 PM

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

In other words a really handy thing to know.


This, basically.  Kids should know how to build a trap for a sink, nail a shelf together in a way it won't fall apart, and solder signal wiring by the time they're 11, too.  It's not like the curriculum demands they do discrete math, just that they be familiar with the interface between concept and execution for software.

You have to be able to code pretty extensively in about half of college majors, as well, so requiring basic competence much younger seems reasonable if the end-coal is college, too.

// "Good" code is something else entirely.
 
2013-10-28 07:46:48 PM

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 08:01:05 PM
Programming itself can be simply procedural -- as someone already said, it's moving data from one location to the other -- with transformations along the way.

But there is a huge gap in experience between younger programmers and those who have to support large volume or high-reliability infrastructure (...like a healthcare sign-up website perhaps), in that the problem in (generally) that programmers code to functionality first and not to performance and security -- those are things that more experienced programmers have to retrofit and fix. By that time it's too late to address any fundamental structure deficiencies and it evolves int's a series of kludges to address.

Well worth their salary are the "software architects" who get the big picture and understand the operational stresses and challenges their work product must operate in.
 
2013-10-28 08:21:54 PM
...a mechanical skill?

Being a blogger "journalist" is apparently a skill which requires that you have no mental capacity whatever.
 
2013-10-28 09:17:57 PM

Fark_Guy_Rob: InmanRoshi: 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.

Hi I'm Fark_Guy_Rob.  I'm a 'Project Manager'.  I'll 'manage' the project, because, let's face it....our software guys are great.  Really, they are amazing at *what they do*.  But when it comes to project planning and communicating with our business users, well, that's not where their skills lie.  So hire me, and I'll get things moving!

(Hired)

Okay Team, I'm the new project manager.  I'll be managing the project.  My job is to make sure you can do the stuff you want to do and I'll keep you from doing the stuff you don't want.  Now, I'm going to set up long, boring meetings where you can tell me what you do.

(Dev Meeting #1 of 28393)
So, Software Guy #1, what are you working on?  X and Y and Z?  Okay, I see.  And how long will X take?  Okay.  And is there anything stopping you from finishing X?  Oh - you are waiting on someone to do something?  Okay!  No problem.  And what about Y?  .......etc etc

(Business Meeting #1 of 2894)
Okay guys.  Our team is doing A LOT.  We have too much on our plate...we need to PRIORITIZE.  So I've setup these meetings so you, the business users, can decide our priorities.  Now, let's talk about X.  Guy #1 is working on X.  He's not here because he spent much longer explaining X to me, but I glazed over.  I just wrote down 'x' and how long he said it would take.  Is X important?  Oh it is?  Okay, I'll make X a PRIORITY!  It's a good thing I'm here.  You guys could NEVER have communicated that is important.  And now, let's talk about ' ...


About the  most useful thing a project manager does in a software shop is to be a human shield to take the arrows when the shiat hits the fan.  They're like Hollywood PR agents, they're at their best when they're fielding the phone calls and taking the pointed questions that the talent doesn't want to take.    All the rest is superflous fluff and time killer.

And generally, the most useful thing the sales department does is hire young pretty things to flirt with the coders.  The oft-chance that 25 year old Tammy from sales might get shiatfaced and take off her top on the weekly Margarita Tuesdays happy hour after work makes it much more likely the coders stick around through the crap projects without bailing for another job.
 
2013-10-28 09:27:42 PM
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 09:29:14 PM
I'm making a fair amount of cash being an exceptionally dull weirdo :)
 
2013-10-28 10:38:36 PM

Rent Party: machoprogrammer: Rent Party: 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".

It's a fundamental problem with anyone with a CS degree.   They lack domain expertise in whatever it is they are supposed to be modeling.  If I'm building a hurricane tracking system for NOAA or the National Weather Service, I want someone that knows how hurricanes form and how they move.   I don't want some guy fluent in three computer languages that has to be taught that, because he is likely to get it wrong.

Honestly, CS should only be offered as a minor to some other discipline.

So what you are saying is that applications like MS Word, web sites, etc... are totally pointless? Got ya.

Websites can (and generally are) coded by morons.  Monkeys can do it.

Word developers should have expertise in things like writing.  English majors or people working on a JD, for example, could produce a much better word processor than you can.

I'm sorry you are inadequate.  But you are.


I see you have no idea how difficult it is to code something as complex as MS Word. That alone takes a degree in software engineering to get that many parts working together.
 
2013-10-28 11:07:12 PM
You can't be "dull" and a "weirdo" at the same time. It's the normal, benign people who are "dull."
 
2013-10-29 12:10:23 AM

xalres: Interviews in this business are a tricky thing. You never know if the "prove yourself" portion is going to be something simple or something ridiculously hard. One place asked me to write a function on a whiteboard that would find all permutations of a string of characters. I got to the point where I realized I'd have to rewrite the thing as a recursive function when time ran out


I just wasted five minutes writing that up in Octave, just to show that it can be done quickly without using recursion.

I suppose it depends on what you mean by "find all permutations."  Do you just want to count them, or do you want to list them?  My program only counts them.
 
2013-10-29 01:05:53 AM

machoprogrammer: Rent Party:

I'm sorry you are inadequate.  But you are.

I see you have no idea how difficult it is to code something as complex as MS Word. That alone takes a degree in software engineering to get that many parts working together.


Microsoft has had 30 years to get it right.  Should we assume that will happen soon?   Would you allow them to build a bridge with that methodology?

"Hey, we can always add that span back in during phase II! We'll call it Bridge95!"
 
2013-10-29 01:25:12 AM

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-29 01:32:38 AM
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 03:53:44 AM
That's funny.  The exceptional coder thinks all of you are dull weirdos too.  You can't even XOR.
 
2013-10-29 05:57:28 AM

SpectroBoy: THE GREAT NAME: DjangoStonereaver: dready zim: DjangoStonereaver: I can remember a time when the very definition of 'computer literacy' was being able to write your own
programs.

I can remember a time when literacy also had a different meaning.

Grammar trolls are the lowest form of internet life, you know.

No, U R

This witty rejoinder brought to you by the same guy who uses the term "libtard" when trying to be serious.


It's ironic, StupidBoy. Get back on the short bus.
 
2013-10-29 06:14:40 AM

LoneWolf343: You can't be "dull" and a "weirdo" at the same time.


Oh, you absolutely can.

It's the normal, benign people who are "dull."

I suggest you try meeting some before passing judgement.
 
2013-10-29 06:18:45 AM

machoprogrammer: Rent Party: machoprogrammer: Rent Party: 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".

It's a fundamental problem with anyone with a CS degree.   They lack domain expertise in whatever it is they are supposed to be modeling.  If I'm building a hurricane tracking system for NOAA or the National Weather Service, I want someone that knows how hurricanes form and how they move.   I don't want some guy fluent in three computer languages that has to be taught that, because he is likely to get it wrong.

Honestly, CS should only be offered as a minor to some other discipline.

So what you are saying is that applications like MS Word, web sites, etc... are totally pointless? Got ya.

Websites can (and generally are) coded by morons.  Monkeys can do it.

Word developers should have expertise in things like writing.  English majors or people working on a JD, for example, could produce a much better word processor than you can.

I'm sorry you are inadequate.  But you are.

I see you have no idea how difficult it is to code something as complex as MS Word. That alone takes a degree in software engineering to get that many parts working together.


I agree. Rent Party may as well argue that you need a movie buff to build a cinema complex.

Which brings me back to a point I was trying to make earlier. It is engineering - no more, no less - but it is at the difficult end of engineering. So many people, Rent Party included, just keep trying to devise an angle, or a way of looking at it, that magics away the difficultness.
 
2013-10-29 06:29:44 AM

NetOwl: xalres: Interviews in this business are a tricky thing. You never know if the "prove yourself" portion is going to be something simple or something ridiculously hard. One place asked me to write a function on a whiteboard that would find all permutations of a string of characters. I got to the point where I realized I'd have to rewrite the thing as a recursive function when time ran out

I just wasted five minutes writing that up in Octave, just to show that it can be done quickly without using recursion.

I suppose it depends on what you mean by "find all permutations."  Do you just want to count them, or do you want to list them?  My program only counts them.


Counting the number of permutations would be writing a function to find the factorial of the number of characters in a string. Printing out all the permutations of a string is harder. If one knows nothing about permutation theory in math then doing it recursively is the only way I can imagine doing it in an interview on a white board. I've seen the question to write a function that prints all the permutations of a string in sorted order used as a take home assignment. I did write an iterative version based on an algorithm I read about, but it still needed to store all permutations in memory to print them out in sorted order.
 
2013-10-29 06:47:32 AM

beer4breakfast: NetOwl: xalres: Interviews in this business are a tricky thing. You never know if the "prove yourself" portion is going to be something simple or something ridiculously hard. One place asked me to write a function on a whiteboard that would find all permutations of a string of characters. I got to the point where I realized I'd have to rewrite the thing as a recursive function when time ran out

I just wasted five minutes writing that up in Octave, just to show that it can be done quickly without using recursion.

I suppose it depends on what you mean by "find all permutations."  Do you just want to count them, or do you want to list them?  My program only counts them.

Counting the number of permutations would be writing a function to find the factorial of the number of characters in a string. Printing out all the permutations of a string is harder. If one knows nothing about permutation theory in math then doing it recursively is the only way I can imagine doing it in an interview on a white board. I've seen the question to write a function that prints all the permutations of a string in sorted order used as a take home assignment. I did write an iterative version based on an algorithm I read about, but it still needed to store all permutations in memory to print them out in sorted order.


Again, it falls to NAME to do it properly.

1. Histogram the letters
2. Sort the histogram bins
3. Treat them as digits in a counting system where the base is the number of bins (= number of unique letters in original word)
4. First word to print is just the letters in increasing order
5. Now just "count" in the usual way (add one and propogate carry) EXCEPT that no letter may appear more than the number of apprearances in the original word (historgram bar height). To avoid going from O(n!) to O(exp(n)), do the check immediately after incremnting any digit and skip that digit if it alreay appears the required number of times in higher-order places.
6. If you try and skip the most significant digit off the end, that means you're done.
 
2013-10-29 07:40:53 AM

Rent Party: Microsoft has had 30 years to get it right. Should we assume that will happen soon? Would you allow them to build a bridge with that methodology?


That's why bridges are multimillion dollar government projects.  Software products really shouldn't be.  MS Word is a little bit less buggy than Obamacare, for example.
The other problem with your mentality is that there's no "getting it right".  Some assclown always has an idea for a shiatty feature and some old geezer always makes you maintain backwards compatibility with a 30 year legacy of those shiatty features.
 
2013-10-29 07:44:49 AM

InmanRoshi: 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.


They have people skills?
 
2013-10-29 09:19:40 AM

BumpInTheNight: InmanRoshi: 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.

They have people skills?


The notion that "posessing people skills" is an intrinsically useful activity is part of the problem.

As has been mentioned before, most "people skills" types are spending all their time and energy propping up their "people skills" persona-myth, so that none is left to do anything constructive. They are so busy telling everyone to fear their awasome interpersonal and communication skills that no other useful info can filter through. For a while people work around him, but the "people skills" guy is busy telling everyone that the project is successful because of his amazing people skills and so he gets promoted (no-one who is doing real work has the spare time or energy to combat the "people skills" guy's constant flood of "I'm awesome" propoganda). Then the "combative personality" types all leave, and the "people skills" guy blames all the problems on not having enough "people skills" guys and hires loads more. For a brief period, the "people skills" guys are finally happy in their nirvhana of a perfect working environment, free of "poor communicators" and other 'orrible nasties. Finally, the economic cistern of "free market capitalism" comes along and flushes them all away, after a year or two of producing ABSOLUTELY NOTHING.
 
2013-10-29 09:46:02 AM

THE GREAT NAME: beer4breakfast: NetOwl: xalres: Interviews in this business are a tricky thing. You never know if the "prove yourself" portion is going to be something simple or something ridiculously hard. One place asked me to write a function on a whiteboard that would find all permutations of a string of characters. I got to the point where I realized I'd have to rewrite the thing as a recursive function when time ran out

I just wasted five minutes writing that up in Octave, just to show that it can be done quickly without using recursion.

I suppose it depends on what you mean by "find all permutations."  Do you just want to count them, or do you want to list them?  My program only counts them.

1. Histogram the letters
2. Sort the histogram bins
3. Treat them as digits in a counting system where the base is the number of bins (= number of unique letters in original word)
4. First word to print is just the letters in increasing order
5. Now just "count" in the usual way (add one and propogate carry) EXCEPT that no letter may appear more than the number of apprearances in the original word (historgram bar height). To avoid going from O(n!) to O(exp(n)), do the check immediately after incremnting any digit and skip that digit if it alreay appears the required number of times in higher-order places.
6. If you try ...


Too complicated and bug prone.

Have a priority queue with entries consisting of a tuple of a string in progress of being built, and a pool of remaining letters to choose from, with the priority function being string length (longer strings are more important).  Take the top entry, build all possible continuances and for each result, if the pool in the entry is empty, print the string, else enqueue the new result.  Loop until queue is empty.
 
2013-10-29 10:05:41 AM

Clever Neologism: THE GREAT NAME: beer4breakfast: NetOwl: xalres: Interviews in this business are a tricky thing. You never know if the "prove yourself" portion is going to be something simple or something ridiculously hard. One place asked me to write a function on a whiteboard that would find all permutations of a string of characters. I got to the point where I realized I'd have to rewrite the thing as a recursive function when time ran out

I just wasted five minutes writing that up in Octave, just to show that it can be done quickly without using recursion.

I suppose it depends on what you mean by "find all permutations."  Do you just want to count them, or do you want to list them?  My program only counts them.

1. Histogram the letters
2. Sort the histogram bins
3. Treat them as digits in a counting system where the base is the number of bins (= number of unique letters in original word)
4. First word to print is just the letters in increasing order
5. Now just "count" in the usual way (add one and propogate carry) EXCEPT that no letter may appear more than the number of apprearances in the original word (historgram bar height). To avoid going from O(n!) to O(exp(n)), do the check immediately after incremnting any digit and skip that digit if it alreay appears the required number of times in higher-order places.
6. If you try ...

Too complicated and bug prone.

Have a priority queue with entries consisting of a tuple of a string in progress of being built, and a pool of remaining letters to choose from, with the priority function being string length (longer strings are more important).  Take the top entry, build all possible continuances and for each result, if the pool in the entry is empty, print the string, else enqueue the new result.  Loop until queue is empty.


Assuming I've understood you correctly, you failed to mention the starting queue is a single entry with zero-length string (all letters in the pool) and that the queue has a secondary ordering that is alphabetical, I guess this could work.

Your priority queue is being forced to act as a stack in what is really a recursive algorithm disgised as an iterative one. While at first glance it looks like an O(n!) data structure, it's really just O(N^2) data size.

However, it is considerably slower and larger in memory usage than mine. It *may* be less bug-prone if you have reliable priority queue, tuple and pool libraries to hand and are proficient at using them but even then since your algo has more working data, there is more state to become inconsistent.
 
2013-10-29 10:09:03 AM
Actually algorithms have been taught to young kids long before electronic computers were invented.  Flow charts are algorithms.    While I certainly would not want to bother teaching most kids how to make a linked list, some simple programing would be a good exorcize in problem solving which is useful outside of computer programing.
 
2013-10-29 10:22:37 AM

Rent Party: Honestly, CS should only be offered as a minor to some other discipline.


What is the major you would pair a CS minor with in order to be qualified to write an operating system, or a compiler, or a database?
 
2013-10-29 10:32:21 AM

The Googles Do Nothing: 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.


I started coding in the early 70's, and you know what I can conclude from my experiences? That users want programs that work like they're advertised to; that don't crash one's computer, that play well with other programs, and that one does not have play 'stump the dummy' with programmers to get the most out of. In short, they want a well designed tool that does what it purports to do without a lot of drama and flim-flam. That's what I conclude about users.
 
2013-10-29 10:38:28 AM

NewWorldDan: 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.


Okay, so I had never heard of the FizzBuzz test and just looked it up.  You can't be serious that there are actual people who want to be programmers who can't do that.
 
2013-10-29 10:40:28 AM

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".


I got a minor in math to go with my BSCS and guess what -- I don't remember jack about calc.  Sorry, sir.  It's not that I "don't write that kind of code"; it's "I haven't done calc in well over a decade and can't remember a bit of how to do it".

My Spanish skills suck, too.
 
2013-10-29 10:44:45 AM

THE GREAT NAME: It's ironic, StupidBoy. Get back on the short bus.


Nope. You used it to make a point. No hint of irony.

Although name calling certainly adds to your credibility.
 
2013-10-29 11:09:39 AM

dittybopper: MSG NR 51 CK 93 1028 1234 BT
NNTAT ILWAX OOPDE NIWIJ OGHOY  HSRSN OHVYE ONUCT LGLEX EOCIN
APXQN ANIER DGXRE OMXED EDRLE  NOTAK OAVIS XNNLF IDT
AR K


Huh? "Be sure to drink your Ovaltine"?
 
2013-10-29 11:21:56 AM

Stone Meadow: The Googles Do Nothing: 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.

I started coding in the early 70's, and you know what I can conclude from my experiences? That users want programs that work like they're advertised to; that don't crash one's computer, that play well with other programs, and that one does not have play 'stump the dummy' with programmers to get the most out of. In short, they want a well designed tool that does what it purports to do without a lot of drama and flim-flam. That's what I conclude about users.


This is very true. Incompetent software engineers always try to push the problems they create by screwing up their work "downstream" - onto testers, maintainance programmers, field deployment technicians and of course users. Here's a list of crap reasons mediocre jackasses use to excuse fobbing off junk onto others:
- you're an idiot for having trouble with this (TGDN's excuse)
- it is just experimental code, you know like science and stuff
- I had to do a rush job to save the company.. I'm a hero!
- doing it any other way would be even worse!
- but that's just one little niggle
- wah wah you're hurting my feelings
- ah, oh, umm heh heh, er, look over there!
- why do you say Obama is gay? Are you a racist??!!

I'm sure others have more to add to this list
 
2013-10-29 11:24:46 AM
Oh and of course:
- You don't understand... it's a framework!!
 
2013-10-29 11:26:47 AM

beer4breakfast: NetOwl: xalres: Interviews in this business are a tricky thing. You never know if the "prove yourself" portion is going to be something simple or something ridiculously hard. One place asked me to write a function on a whiteboard that would find all permutations of a string of characters. I got to the point where I realized I'd have to rewrite the thing as a recursive function when time ran out

I just wasted five minutes writing that up in Octave, just to show that it can be done quickly without using recursion.

I suppose it depends on what you mean by "find all permutations."  Do you just want to count them, or do you want to list them?  My program only counts them.

Counting the number of permutations would be writing a function to find the factorial of the number of characters in a string. Printing out all the permutations of a string is harder. If one knows nothing about permutation theory in math then doing it recursively is the only way I can imagine doing it in an interview on a white board. I've seen the question to write a function that prints all the permutations of a string in sorted order used as a take home assignment. I did write an iterative version based on an algorithm I read about, but it still needed to store all permutations in memory to print them out in sorted order.


It was both count and list. They also wanted me to check for possible errors. The easiest way I thought of to do that was to search the in-memory list to check whether my current permutation existed already, and finally at the end of it, check whether the resulting list had the correct count by creating a variable equal to the factorial of the length of the string. It would have chugged if the list got too big but efficiency wasn't part of the assignment.

They didn't expect me to be able to actually write the thing out on the board and get it correct right there. They were instead seeing how I'd go about attempting to solve the problem when I didn't have google and stack overflow to look up copy/paste code.
 
2013-10-29 11:29:08 AM

InmanRoshi: And generally, the most useful thing the sales department does is hire young pretty things to flirt with the coders. The oft-chance that 25 year old Tammy from sales might get shiatfaced and take off her top on the weekly Margarita Tuesdays happy hour after work makes it much more likely the coders stick around through the crap projects without bailing for another job.


I have you farkied as being from Austin and posting funny rants.  Any chance you're also hiring?  Even the unrealistic chance of seeing the sales girl topless beats the Charliework the sales team here (which is also full of dudes) has me stuck on.
 
2013-10-29 11:29:56 AM

SpectroBoy: THE GREAT NAME: It's ironic, StupidBoy. Get back on the short bus.

Nope. You used it to make a point. No hint of irony.

Although name calling certainly adds to your credibility.


Fokka Yaw.
 
2013-10-29 11:43:20 AM

beer4breakfast: Counting the number of permutations would be writing a function to find the factorial of the number of characters in a string.


You'd also have to account for repeated characters in the source string; swapping two instances of the letter 'a' won't create unique permutations.
 
2013-10-29 11:46:57 AM

Rent Party: Honestly, CS should only be offered as a minor to some other discipline.


It sounds like you don't want to have to do your due diligence as a user and actually explain what you want. If you hand a programmer requirements that say "take this data set and run it through a svedrakadoodle equation", expect blank stares. If you hand them requirements explaining how a svedrakadoodle equation works you'll get back what you want. But that would take a little extra work on your part and you're far too busy and important for that. Just make it work!

I ran into this all the time at my last job working with doctors and pharmacists that just assumed everyone knew as much about stuff like pharmacy protocols and patient scheduling as they did. "Just make it work based on the half page of ambiguous goals I gave you. I don't have time for follow ups, I'M SAVING LIVES HERE!!!"

The Googles Do Nothing: Most users are idiots.


Yeah, pretty much that.
 
2013-10-29 01:04:56 PM
THE GREAT NAME:

Assuming I've understood you correctly, you failed to mention the starting queue is a single entry with zero-length string (all letters in the pool) and that the queue has a secondary ordering that is alphabetical, I guess this could work.

Your priority queue is being forced to act as a stack in what is really a recursive algorithm disgised as an iterative one. While at first glance it looks like an O(n!) data structure, it's really just O(N^2) data size.

However, it is considerably slower and larger in memory usage than mine. It *may* be less bug-prone if you have reliable priority queue, tuple and pool libraries to hand and are proficient at using them but even then since your algo has more working data, there is more state to become inconsistent.


You did, and I felt that the starting condition was left as an exercise to the reader ;).  I was not aware that the output being sorted was a requirement.  If so then your method may be better, since that would change the insertion time into the priority queue, where as your method take care of that before hand.

The task at hand was to create an iterative version in the first place.  I would choose to do it with recursion as well... it's just natural to do so to me.  The dealing with non-base-10 arithmetic in your solution is... interesting, but confusing on the surface.

Ooh... another solution:

Just construct a trie tree for it, then walk it.  Shouldn't be too hard to construct the tree...
 
2013-10-29 02:17:35 PM

NewWorldDan: 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.


I had never heard of that test till now.  I ggogled it.  That's a retarded test.  There's nothing terribly complicated about it.  If a guy with 5 years experience can't pass that "test" without faking it (which I'm not really sure as to how you fake passing a test) I would say they were probably the project manager and not the programmer in their last job.
 
2013-10-29 02:21:12 PM

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".


As a programmer I don't need to know everything about mathematics, just how to set up the equation.  And in the rare event that I don't, I have a math genius like you to tell me.  It sounds kind of silly, but the computer actually does the math for me.  That's kind of what it was designed for.
 
2013-10-29 02:42:30 PM

sethen320: I had never heard of that test till now. I ggogled it. That's a retarded test. There's nothing terribly complicated about it. If a guy with 5 years experience can't pass that "test" without faking it (which I'm not really sure as to how you fake passing a test) I would say they were probably the project manager and not the programmer in their last job.


Agreed, I admit I had to take a second to remember the operator that returns the remainder after a division in C but otherwise it was very clear on how to make the solution.  Meanwhile I wouldn't dismiss the test so readily, its an easy way to start and finish an interview with a poser very very quickly.
 
2013-10-29 03:37:08 PM

sethen320: 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".

As a programmer I don't need to know everything about mathematics, just how to set up the equation.  And in the rare event that I don't, I have a math genius like you to tell me.  It sounds kind of silly, but the computer actually does the math for me.  That's kind of what it was designed for.


Wrong. Computers do arithmetic for you. Mathematics is reasoning about arithmetic - not doing it. As such, it forms the core of reasoning about what computers do. Sure, some areas are more directly relevant than others, and there are additional things you need to know to be a software engineer. But if you can't think mathematically, you'll find that others who can are better than you, every single time.
 
2013-10-29 04:47:59 PM

THE GREAT NAME: To avoid going from O(n!) to O(exp(n)), do the check immediately after incremnting any digit and skip that digit if it alreay appears the required number of times in higher-order places.


Are you saying your method takes O(n!) per permutation? There's a recursive method that does it in constant time that doesn't require storing them to print them in sorted order, albeit at the cost of not culling duplicates.
 
Bf+
2013-10-29 05:09:01 PM

LoneWolf343: You can't be "dull" and a "weirdo" at the same time. It's the normal, benign people who are "dull."


Glad this has been covered.
This guy apparently never went for a night on the town with a bunch of computer guys/gals.  That's about as crazy as it gets.
I suppose they acted dull/weird to ditch the square.


symbolset: You can't even XOR.


Dude, do you even Lisp?
 
2013-10-29 06:14:20 PM

THE GREAT NAME: sethen320: 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".

As a programmer I don't need to know everything about mathematics, just how to set up the equation.  And in the rare event that I don't, I have a math genius like you to tell me.  It sounds kind of silly, but the computer actually does the math for me.  That's kind of what it was designed for.

Wrong. Computers do arithmetic for you. Mathematics is reasoning about arithmetic - not doing it. As such, it forms the core of reasoning about what computers do. Sure, some areas are more directly relevant than others, and there are additional things you need to know to be a software engineer. But if you can't think mathematically, you'll find that others who can are better than you, every single time.


You know what I meant. Either way everybody seems to be happy with the job I'm doing and they keep giving me good money to do it. That's all that really matters as far as I'm concerned.
 
2013-10-29 06:25:23 PM

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

In other words a really handy thing to know.


That's very true but very few people do nothing but code. Most code cutters are also involved in the application design.
 
2013-10-29 06:41:39 PM

Bf+: symbolset: You can't even XOR.

Dude, do you even Lisp?


I don't Lisp, but I do know A Programming Language.
 
2013-10-29 08:55:24 PM

DjangoStonereaver: dready zim: DjangoStonereaver: I can remember a time when the very definition of 'computer literacy' was being able to write your own
programs.

I can remember a time when literacy also had a different meaning.

Grammar trolls are the lowest form of internet life, you know.


I bin down so goddam long, that it looks like up to me...
 
Displayed 196 of 196 comments

View Voting Results: Smartest and Funniest


This thread is closed to new comments.

Continue Farking
Submit a Link »






Report