Do you have adblock enabled?
 
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
    More: Obvious, line coding, I-CT, religious education, Algebra, programming languages  
•       •       •

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



195 Comments     (+0 »)
 
View Voting Results: Smartest and Funniest


Oldest | « | 1 | 2 | 3 | 4 | » | Newest | Show all

 
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: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.
 
Displayed 50 of 195 comments


Oldest | « | 1 | 2 | 3 | 4 | » | Newest | Show all


View Voting Results: Smartest and Funniest

This thread is archived, and closed to new comments.

Continue Farking
Submit a Link »
On Twitter






In Other Media


  1. Links are submitted by members of the Fark community.

  2. When community members submit a link, they also write a custom headline for the story.

  3. Other Farkers comment on the links. This is the number of comments. Click here to read them.

  4. Click here to submit a link.

Report