June 21, 2013
On Thu, 20 Jun 2013 10:04:54 -0700
"H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
> 
> That's terrible. It encourages the kind of sloppy coding that makes so much "enterprise" code look nastier than what a highschool dropout writes in his sleep.
> 

I realize you're just using that as an illustrative example, but:

High schools are *specifically* and *deliberately* designed for *average*-level students. The students who have trouble there are both the low-intelligence *and* high-intelligence ones. This is a *known*, documented fact. Virtually nobody accepts it though, most likely because schools are (undeniably) sacred cows.

As for more direct experience, one of the smartest people I've ever known was a high school drop-out. The majority of the *worst* programmers (and just biggest dumbfucks in general) that I've ever met happened to be grad students and graduate degree holders. Only *one* of the worst programmers I've come across was self-taught (and IIRC, he did still have at least a 4-year college degree).

There is *no* positive correlation between ability/intelligence and academic achievement. I don't understand where so much of society keeps getting that patently absurd notion. At best, it's a zero-correlation. At worst, it may very well be a somewhat negative-leaning correlation. (No offense to Andrei or others here - obviously there's always exceptions, and being big long time D fans kinda puts us all in the "outliers" boat anyway.)

I'd also point people to this:

"The results of a major national study revealed that much of the regular curriculum is redundant for gifted students (Reis et al., 1993). When as much as 60% of the curriculum was eliminated, gifted students exceeded or equaled achievement levels of matched students who were required to complete the regular curriculum. Although these findings bode ill for bright students in general, consider the plight of those who tend to be predisposed to seeking greater levels of stimulation from the environment. They are automatically at odds with the expectations schools have for students to be neat, docile, quiet for extended periods, and interested in what the teacher is teaching."
--
http://www.sengifted.org/archives/articles/gifted-students-with-attention-deficits-fact-andor-fiction-or-can-we-see-the-forest-for-the-trees

The study referenced is this:

Reis, S. M., Westberg, K. L., Kulikowich, J., Caillard, F., Hébert, T., Plucker, J., Purcell, J. H., Rogers, J. B., & Smist, J. M. (1993). Why not let high ability students start school in January? The curriculum compacting study. (Research Monograph No. 93106). Storrs, CT: The National Research Center on the Gifted and Talented.

Which is available here: http://www.gifted.uconn.edu/nrcgt/reports/rm93106/rm93106.pdf

And I can personally attest to the accuracy of that quoted paragraph above, as I *lived* exactly what they describe during the majority of that hellish K-12 cesspool of retards normally referred to as "school". And of course, that's just one study, there's plenty of others that all boil down to the same thing: Schools do NOT, in general, work for intelligent students. Only the average ones.

(No different from the rest of society really: Only the first std
deviation is ever given a shit about, everyone else is expected to just
fuck off since their existence mucks up the corporate
profit-maximization spreadsheets - which is also why public stocks are
fucking evil, as it legally *mandates* that the corporation *must*
put financial profit far above *all* other concerns such as, you
know, not being an evil society-destroying sack of shit.)

Bottom line is, schools are absolute garbage, and academic achievement is *at best* completely meaningless.

June 21, 2013
On Thu, Jun 20, 2013 at 11:32:56PM -0400, Nick Sabalausky wrote:
> On Thu, 20 Jun 2013 10:04:54 -0700
> "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
> > 
> > That's terrible. It encourages the kind of sloppy coding that makes so much "enterprise" code look nastier than what a highschool dropout writes in his sleep.
> > 
> 
> I realize you're just using that as an illustrative example, but:
[...]
> Bottom line is, schools are absolute garbage, and academic achievement is *at best* completely meaningless.
[...]

I hit a nerve, didn't I? ;-)

One of my previous supervisors told me that when he gets resumés, as soon as he sees "Ph.D" he chucks it straight into the trash. I have an MSc, and he almost did the same with my resumé until he saw that I did a lot of personal coding projects on the side, and contributed to open source projects. His reasons: (1) most CS grad students know too much theory but can't write any real code; (2) they're too opinionated to be able to work in a team.  He may have been a bit extreme, but then I've personally met CS grad students who knew more about uncomputable problems than computable ones... :-P  and the sight of their code makes me wanna wash my hands with detergent.


T

-- 
Questions are the beginning of intelligence, but the fear of God is the beginning of wisdom.
June 21, 2013
On Thu, 20 Jun 2013 20:50:08 -0700
"H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:

> On Thu, Jun 20, 2013 at 11:32:56PM -0400, Nick Sabalausky wrote:
> > On Thu, 20 Jun 2013 10:04:54 -0700
> > "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
> > > 
> > > That's terrible. It encourages the kind of sloppy coding that makes so much "enterprise" code look nastier than what a highschool dropout writes in his sleep.
> > > 
> > 
> > I realize you're just using that as an illustrative example, but:
> [...]
> > Bottom line is, schools are absolute garbage, and academic achievement is *at best* completely meaningless.
> [...]
> 
> I hit a nerve, didn't I? ;-)
> 

Heh ;)

> One of my previous supervisors told me that when he gets resumés, as soon as he sees "Ph.D" he chucks it straight into the trash.

Classic ;) I'd be likely to do the same.

And I have a friend who's moved up to a management position on a
University's IT dept and he's had similar experiences: When they hire,
they're expected to get their candidates via the HR dept (heh,
yea, right there you know things are gonna go wrong ;) ). And their
HR dept, as with most, makes their selections by blindly grepping for
the biggest degrees (they don't know any better - they're HR people!).
He's told me horror stories about how nearly all of the
big-degree candidates they send him turn out during interview to be
flat-out 100% incompetent.

> I have an
> MSc, and he almost did the same with my resumé until he saw that I
> did a lot of personal coding projects on the side, and contributed to
> open source projects. His reasons: (1) most CS grad students know too
> much theory but can't write any real code; (2) they're too
> opinionated to be able to work in a team.

I'm too opinionated *and* anti-social to be able to work in a team ;)

> He may have been a bit
> extreme, but then I've personally met CS grad students who knew more
> about uncomputable problems than computable ones... :-P  and the
> sight of their code makes me wanna wash my hands with detergent.
> 

When I was a freshman undergrad (at BGSU, near Toledo), I tinkered around on the side with some PalmOS development. (PalmOS was still around back then.) A couple years or so later, shortly after I'd transferred out IIRC, I noticed on BGSU's Computer Science dept's website that they were bragging - and I mean genuinely bragging - that their genius *graduate* CS students had (*gasp!*) made software that ran on a PalmOS device!

Which of course leads to the following lightbulb joke: How many academic weenies does it take to install an off-the-shelf compiler, read an API reference, and not be shown-up by the two year old shadow of a degreeless freshman?

June 21, 2013
On Thu, 20 Jun 2013 11:00:32 -0700
Sean Kelly <sean@invisibleduck.org> wrote:

> On Jun 19, 2013, at 3:00 PM, Jonathan M Davis <jmdavisProg@gmx.com> wrote:
> 
> > On Wednesday, June 19, 2013 14:19:28 H. S. Teoh wrote:
> >> Doesn't TDD stand for Test-Driven *Design*?
> > 
> > It was my understanding that it was Test-Driven "Development," but I could be wrong. Let's see... Well, according to Wikipedia, it's development, not design:
> > 
> > http://en.wikipedia.org/wiki/Test-driven_development
> 
> Apparently, the original word was "Design" and the creator laments the fact it's too late to change it back.

TBH, I really doubt that change would have done much to clear up the confusion.

June 21, 2013
On Thu, 20 Jun 2013 10:13:39 +0200
"eles" <eles@eles.com> wrote:

> On Wednesday, 19 June 2013 at 17:31:33 UTC, H. S. Teoh wrote:
> > On Wed, Jun 19, 2013 at 04:52:22PM +0200, bearophile wrote:
> >> irritate:
> >> 
> >> >My feelings about TDD changed when I saw that talk explaining
> >> >TDD
> >> >in the context of double-entry bookkeeping in accounting
> 
> > Before methodologies like TDD could even begin to work, one has
> > to
> > *solve* the problem at hand first -- analyse the problem,
> > explore its
> > structure, invent an algorithm, then one can verify the
> > correctness of
> > one's implementation with unittests. You have to already have
> > an idea
> > about how things are going to work, before TDD can help you.
> 
> For me, it is like this: TDD is rather similar to bookkeeping; design is similar to doing (or managing) businesses.
> 
> While being (or having) a good bookkeeper will definitely help your business to perform, the reverse is not true: being the most careful accountant in the world does not mean that you will do successful businesses.

More and more, I'm thinking that TDD is most similar to "art": Many people say they like it, but nobody, not even the creators, seem to know what the hell the term even means. ;)


June 21, 2013
On Fri, Jun 21, 2013 at 01:14:28AM -0400, Nick Sabalausky wrote:
> On Thu, 20 Jun 2013 20:50:08 -0700
> "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
[...]
> > One of my previous supervisors told me that when he gets resumés, as soon as he sees "Ph.D" he chucks it straight into the trash.
> 
> Classic ;) I'd be likely to do the same.
> 
> And I have a friend who's moved up to a management position on a University's IT dept and he's had similar experiences: When they hire, they're expected to get their candidates via the HR dept (heh, yea, right there you know things are gonna go wrong ;) ). And their HR dept, as with most, makes their selections by blindly grepping for the biggest degrees (they don't know any better - they're HR people!). He's told me horror stories about how nearly all of the big-degree candidates they send him turn out during interview to be flat-out 100% incompetent.

It's not entirely HR's fault. It's the way they're setup to fail. :-P

The way it works at my job is that everything still has to go through HR, but it's the hiring managers (who are themselves coders actually writing code for projects) who review resumés and recommend potential hires to HR. HR then arranges the technical tests and interviews, usually with the hiring managers who recommended the candidates plus one or two others whom the candidates will actually be working with, and then take care of all the paperwork and other stuff that hiring managers shouldn't be concerned with.

IOW, we don't have HR decide who to interview, but actual technical people look at the resumés to weed out the BS. I was involved with the hiring process for a bit some time ago -- we got to ask HR to first administer a technical test before any interviews are arranged; test results are reviewed before deciding to interview the candidate -- and we get to ask them questions about why they answered a certain test question the way they did. Makes weeding out incompetent applicants much easier. :-) If the code they submitted on the test looks obviously lousy, we don't even bother interviewing them.

In spite of it all, though, we still sometimes end up hiring people who, 6 months down the road, write code that makes you scratch your head going "huh?! that genius coder we hired wrote *this* junk?!". But maybe some hiring managers are less discerning than others. *shrug*


[...]
> When I was a freshman undergrad (at BGSU, near Toledo), I tinkered around on the side with some PalmOS development. (PalmOS was still around back then.) A couple years or so later, shortly after I'd transferred out IIRC, I noticed on BGSU's Computer Science dept's website that they were bragging - and I mean genuinely bragging - that their genius *graduate* CS students had (*gasp!*) made software that ran on a PalmOS device!
[...]

At least it's not as bad as "Graduates from our wonderful marvellous amazing CS program helped design our sucky non-navigable department website! Don't you wanna come study here and get a degree in HTML?". Sigh...


T

-- 
War doesn't prove who's right, just who's left. -- BSD Games' Fortune
June 21, 2013
On 6/21/13, H. S. Teoh <hsteoh@quickfur.ath.cx> wrote:
> In spite of it all, though, we still sometimes end up hiring people who, 6 months down the road, write code that makes you scratch your head going "huh?! that genius coder we hired wrote *this* junk?!".

Seems like nowadays it's not too far-fetched to ask for a github/bitbucket/etc username and see the work they've done, the way they write code, contribute, etc. It should give a better "feel" than any interview.
June 21, 2013
On 2013-06-21 00:18, Nick Sabalausky wrote:

> Right. It's like creating a Vacuum Cleaner or a car or a kitchen
> appliance by designing the case, housing and controls first, and then
> trying to design working internals to fit that mold. Form needs to
> follow function.

Ever heard of Apple :)

-- 
/Jacob Carlborg
June 21, 2013
On 2013-06-21 00:37, Nick Sabalausky wrote:

> I'm not saying that it's necessarily bad to write a function's tests
> before the function itself, I just don't see what it really matters to
> code the tests first. The important thing is that the tests get
> written, ideally before you move on to something else. If you have the
> discipline to write the tests before the function, then you have the
> discipline to write the tests after the function.

I agree. But the point is also, as other has mentioned, that you should look from the client's point of view when designing your API. So if you write the test firs you're writing the client code first. The you think about how the API should look like from the client's point of view. If the implementation cannot work or fit in that API you have to change the API.

-- 
/Jacob Carlborg
June 21, 2013
On 2013-06-21 05:32, Nick Sabalausky wrote:

> [Snip]
>
> Bottom line is, schools are absolute garbage, and academic
> achievement is *at best* completely meaningless.

I couldn't agree more with your post. The problem though is that most hiring process uses the HR department, as you mentioned in an other post, and they only look at the degree. I only took a degree to have something "to show" for these HR departments, most of what I learned I learned on my own time.

-- 
/Jacob Carlborg