« Why employers don't use tests | Main | Money-saving hurricane tip »

August 26, 2011


Here's my issue with this, and more generally with your site, that while I agree with the spirit of your argument I am confused about the intentions of it. You present a lot of evidence for HDB, that is that people are different, that intelligence is amongst those differences, and that like many other differences these can strike along racial and cultural backgrounds. That's sound, and for most part I agree.

What I don't get is you rarely offer solutions, only more evidence in rallying support of your cause, and perhaps a the occasional "they'd do better to help themselves". Is your argument to just kill all black people? Ship them back somewhere? Issue IQ tests to everyone at age 12 and sterilize the bottom 50 percent?

I would think even you would find most of that horrific, even if in a pure pragmatism argument you could make a case. I'm not asking you to have compassion, compassion is overused by people on the left and the right as a tactic to make you seem like a dick just for bringing whatever it is up, but an inability to understand the realities of people and the world and understand what you could and couldn’t to solve a problem is simple-minded.

I'm not asking you to change your mind on anything, again the spirit of evidenced-based realities in fields, including human intelligence and it's larger effects on the globe is fine, it's just once you accept there are smart and stupid people on a factual level, what is it you want to do about it?

Most of the most qualified black IT people that I've met are either within networking/infrastructure or Project Management. Maybe programming is a little too abstract for blacks, while hands-on networking is a little more straightforward and immediate and Project Management allows some high-IQ blacks to make use of their natural extroversion and likability.

I've worked with a few black Cisco engineers that I'd stack up against anyone on the planet, including one friend who mastered all of the highest-level networking certifications available.

I wish you would post a timeline or something of your professional life since college. I know you went to law school and I know you work as a computer programmer. Did you ever work as a lawyer in any capacity? Did you go to law school straight out of undergrad or later?

1) Black people do not want to be computer programmers. As you have pointed out it, computer programming is a low status anti-masculine profession (yes, its mostly guys, but they are all beta losers).

2) "I figured out exactly the types of questions asked over and over again, memorized the answers to those questions, and then aced the tests."

So you displayed minimum effort and a willingness to acquiesce to corporate bullshit, I'm thinking that all they were really testing.

3) "When I had to hire a programmer, I didn’t do this kind of testing. Instead, I put the applicant down in front of a computer with .NET on it, and asked him or her to program a very simple assignment."

What was your incentive structure when hiring the person? Where you the sole decision maker? Would your performance be judged based on their performance? Where there any rules or restrictions to your judgment?

Wall Street firms love administering "brain teasers" which are basically nothing short of oral examinations. This is especially true for quant firms or groups. As an example many years ago I interviewed at Goldman's flagship quant trading hedge fund. It consisted of an 8 hour process, where candidates would meet with two employees at a time for 30-45 minutes. The interviewers were specially matched to candidates based on their background.

E.g. if you had a CS background you'd get a guy with a CS PhD asking your about asymptotic run time. If you were theoritical math, you might be asked to prove some statement from complex analysis. If you claimed experience programming in C++ you might get someone asking you the difference between volatile and regular pointers in C++. If you traded rates at a previous internship you might get a question about constructing and hedging duration and gamma.

In the middle of the day they would cut people based on who performed well and who didn't. So the first people started getting sent home 2 hours into the 8 hour day. This is pretty much how most quant jobs on Wall Street interview.

I once asked a Persian guy, a retired EE from Lucent, if he'd ever worked with any black engineers. He said they had one, a guy who would come to work at 10 and leave at 4. He said the guy liked to brag about how strong he was and went around trying to physically pick everyone up. The Iranian guy had been a wrestler, so he picked the black guy up and dumped him on his head.

From my experience, there are two main types of interviews you can get when applying for a programming job. One is an interview of the type you described, and the other is a Google-style interview, where you have to solve computer science and mathematical puzzles. The latter type is usually found at companies which are more "high concept"...like Google.
These puzzles usually aren't *that* difficult, but they may completely stump you if your neurons aren't all firing that day. On the other hand, if you're quick-witted enough, it is cool to get a job without having to memorize a ton of programming trivia.

Good interviews of either type will add a "software engineering" question at the end, where the interviewee has to describe, in high-level terms, how he'd design an OO application of some sort. This a good test of one's abstraction capability.
There are also some (not many) places that actually sit you down in a classroom with a bunch of other interviewees, where you get a worksheet and big programming assignment to do. This format is probably more common when interviewing for jobs that also require social skills.

The first (and for a long time, only) black computer programmer I ever heard of was the infamous videogame developer, Derek Smart. His antics were sort of an early Internet meme, back in the late 90's.

Programming tests for developers are absolutely crucial, especially with students just out of college or grad school. Especially at top-tier places, grades convey absolutely no information--everyone has a GPA > 3.8 (although people with 4.0's are tempting to avoid, since they're probably either obsessive or avoided taking classes that would potentially lower their GPA, both of which signal behaviors that are not desirable in most technical workplaces), but the programming ability still varies widely. And surprisingly, I found (I worked in the industry for 5 years) that people who hadn't learned to be good coders in college did not become good coders on the job, no matter how smart they were.

Eh, I thought was just me who got that treatment. I had just come out of a year of C and C# classes but fumbled the question about pointers, even though I had handled well in assignments.

I coulda done the work! as long as they started me easy. Alas, the IT bubble burst and my company wasn't nearly so desperate for Windows coders so there went my lateral move.

So what I'm hearing is places that pay 300k+ to non ELs for STEM style work bother with decent tests and everyone else just kind of wings it. Sounds expected.

I don't have any IT experience but my financial auditing job interview involved a very easy accounting test (entry-level college course stuff). I think it would be a good test for screening out unqualified applicants but I doubt it would differentiate at the high end.

At least in the 90s MSFT gave IQ tests, not just the "How many gas stations are there in the US?" test.

When I applied for a pension consulting job I was given a personality test with a short bullshit IQ test imbedded. When I worked for the largest industrial distributor in my area I was administered the Wunderlic. Just put your SATs on your resume. Most employers for smart jobs will consider it. I even had the strange experience of being told I was "too smart" for an actuarial job. Probably just letting me down easy, but it didn't seem that way at the time to me or the other hiring manager; there were two.

"Employers don't give tests" is bullshit.

And another anecdote against HS's racism:

I was told that I had made the highest score on the Wunderlic in the company's history. THEN later I was told my score was beaten by a new hire, a former Navy Seal and qualified mechanical engineer who happened to be BLACK. He was one of the best hires the company had ever made.

I agree with HS here. When I worked in software development I was always subjected to testing - by IBM, Sperry Rand, Martin Marietta, Control Data Corp and GE. It was routine in the sixties.

"[T]here are no black people working in programming." Yep, pretty much true. Same thing in college. Through four years of CS undergrad in a mid-size New England college, I never had one black CS classmate. In graduate school at UF, I had exactly one black CS classmate (but she was from the Caribbean). In the working world after college, in four years at a large northeast defense contractor with about 20,000 employees. I saw exactly one software engineer. He closed his eyes and slept sitting up in his chair frequently throughout the day. He engineered nothing. On the other hand, I've seem plenty of (mostly female) black sociology majors and government workers.

"[T]here are no black people working in programming." Or surgery or patent law or physics or mathematics or quantitative anything or ...

*Great* post.

There's a crisis going on in compsci classes. A large majority of compsci students can't even program a simple loop.

I don't know how this can be the case.

The answer cannot be low IQ because NAMs normally won't even try to major in the subject and most compsci graduates probably have IQs over 115.

So perhaps they're not being taught how to code properly?

And if comp sci departments can't teach basic loops, what the fuck is the point of taking out students loans and going tens of thousands of dollars into debt?

BUT, at least all computer nerd students will all graduate knowing how racist white people are.

A few lucky IT nerds may even have the honor of being shot to death during their senior year "Teach for America" internship by some troubled young black student.

And they will die without ever knowing how to program.


Feb 26, 2007

Why Can't Programmers.. Program?


Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can't write code at all. I repeat: they can't write any code whatsoever.


A surprisingly large fraction of applicants, even those with masters' degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks. For example, I've personally interviewed graduates who can't answer "Write a loop that counts from 1 to 10" or "What's the number after F in hexadecimal?" Less trivially, I've interviewed many candidates who can't use recursion to solve a real problem. These are basic skills; anyone who lacks them probably hasn't done much programming.

Speaking on behalf of software engineers who have to interview prospective new hires, I can safely say that we're tired of talking to candidates who can't program their way out of a paper bag. If you can successfully write a loop that goes from 1 to 10 in every language on your resume, can do simple arithmetic without a calculator, and can use recursion to solve a real problem, you're already ahead of the pack!


Between Reginald, Dan, and Imran, I'm starting to get a little worried. I'm more than willing to cut freshly minted software developers slack at the beginning of their career. Everybody has to start somewhere. But I am disturbed and appalled that any so-called programmer would apply for a job without being able to write the simplest of programs. That's a slap in the face to anyone who writes software for a living.

The vast divide between those who can program and those who cannot program is well known. I assumed anyone applying for a job as a programmer had already crossed this chasm. Apparently this is not a reasonable assumption to make. Apparently, FizzBuzz style screening is required to keep interviewers from wasting their time interviewing programmers who can't program.

Lest you think the FizzBuzz test is too easy-- and it is blindingly, intentionally easy-- a commenter to Imran's post notes its efficacy:

More coding nightmares:

How we Teach Introductory Computer Science is Wrong

Mark Guzdial


There have been rebuttals to this article. What's striking about these rebuttals is that they basically say, "But not problem-based and inquiry-based learning! Those are actually guided, scaffolded forms of instruction." What's striking is that no one challenges KSC on the basic premise, that putting introductory students in the position of discovering information for themselves is a bad idea! In general, the Educational Psychology community (from the papers I've been reading) says that expecting students to program as a way of learning programming is an ineffective way to teach.

What should we do instead? That's a big, open question. Pete Pirolli and Mimi Recker have explored the methods of worked examples and cognitive load theory in programming, and found that they work pretty well. Lots of options are being explored in this literature, from using tools like intelligent tutors to focusing on program "completion" problems (van Merrienboer and Krammer in 1987 got great results using completion rather than program generation).

And Moldbug's classic blog entry:

What's wrong with CS research


Was that central American guy really Hispanic? Or was he Belizan or from the Mesquito coast?

Check out this guy: http://en.wikipedia.org/wiki/Arlie_Petters

[HS: The definition of Hispanic is that you come from Mexico, Central or South America. So yes, he was Hispanic. He came from there.]

The phrase you're reaching for is "code switching".

I've known a couple quite good black programmers. I work in Denver and have worked with about a half dozen or so companies in my 12 year career.

They are out there. Though they are not frequent.

"[HS: The definition of Hispanic is that you come from Mexico, Central or South America. So yes, he was Hispanic. He came from there.]"

Dear God I hope you're joking. Should have been Belizean.

Belize and Mesquito Coast blacks do NOT speak Spanish or Portugese. They speak English. The Mesquito Coast blacks and some Belizeans are descendents of Jamaican immigrants. Are Jamaicans Hispanic? Dominicans and Cubans are Hispanic and Jamaicans aren't even though Jamaica, Cuba, and the DR are in the Carribean. Haitians aren't Hispanic either.

The Guianas are in S American and not a single Guyanese, Surinamese, or French Guianan is Hispanic.

[HS: Hispanic isn't a race, it's a definition that you come to the U.S. form a certain geographic location, regardless of race. There can be Hispanic Chinese if they moved here from Cuba.]

"(but she was from the Caribbean)."

An admission by an HBDer? Carribean blacks are much blacker than American blacks and the English speaking ones do so much better than American blacks it can't be explained by their being self-selecting for IQ.

"and most compsci graduates probably have IQs over 115"

That's the top 15% about. An overestimate as CS majors have the second lowest SAT scores next to Ed majors. OK math scores but "I don't speak English" verbal scores. Engineering grads are MUCH smarter than CS grads.

"For example, I've personally interviewed graduates who can't answer "Write a loop that counts from 1 to 10" or "What's the number after F in hexadecimal?" Less trivially, I've interviewed many candidates who can't use recursion to solve a real problem. These are basic skills; anyone who lacks them probably hasn't done much programming."

Almost certainly a function of the UNIQUELY shitty American higher ed system which rewards eating out the professor's butt, obedience, and loving formal ed above merely loving learning and has NO CUMMULATIVE TESTS sometimes FOUR midterms and one final.

I've never had an trivia-style interview. The exact opposite, really--the interviews I've had were explicitly designed not to test knowledge of any particular programming language, because any decent programmer can learn a new language in a couple of weeks.

I was just asked to write out the solutions to problem in either the language of my choice or pseudocode. The focus was on algorithm design and analysis, and usually each interview had one high-level design problem that didn't involve writing any code at all.

But I've only interviewed at big-name companies like Microsoft and Google. I guess maybe smaller firms can't afford to pay an unproductive programmer until he gets up to speed, and so insist on getting someone who can be productive from day one?

See this interesting link for a list of black computer scientists. Most of them are in academia, and all have PhD's in CompSci. You're completely wrong when you say there are virtually no black programmers.


Tell them to check out Kunle Olukotun at Stanford or Akintunde Akinwande at MIT.And if you all think they are different coz they are from Africa,then African Americans,who have a white admixture ought to be smarter,right?After all they have some white(read "smarter") genes.

>"You're completely wrong when you say there are virtually no black programmers."
>post link
>"One quarter of one percent (.25%) of computer scientists are black"

Seriously, dude? One out of four hundred is the same as "virtually none".

Many government jobs have lengthy pre-employment written and practical tests -- law enforcement, firefighting, air traffic control.

Lowest SAT scores next to education majors? I'm calling BS on that. I'm graduated CS and while I don't consider myself the brightest bulb, I don't see CS filled with students whose SAT scores is second to last to Education majors. Especially the hacker-type people, the shit they were making on their own was not something you would dismiss as the standard college partying air head. The classes I took have a large amount of programing projects and at most 2 mid-terms with a final. Some of the classes were cumulative. Some were not. Either way, it far from 4 non-cumulative mid-terms and final.

Where did you get that from? I can see an argument that engineering graduates can be superior to CS grads, with additional rigor from a final thesis project and some classes we didn't have to take. But I don't see how CS people is next to education majors. Maybe it is just my school, but then I have to ask what school did you came from?

Oh and while I don't see myself as a truly competent programmer. I don't how to programing a loop, know recursion, and what F in Hexadecimal means (I will admit it took a few seconds, as I can think in the same way as I would think in decimal, but then I remember hexadecimal means base-16 and then I remembered). There's no way in hell one can survive even the first semester (even the first programing assignment) of CS in my school without knowing things that basic.

"You're completely wrong when you say there are virtually no black programmers."

How so? What % of programmers do you think are black? How does that compare to the general population?

Get with the program, HS. Dot.NET is Prole-gramming. Elites do smart phone app development and web startups. Bigger rewards and VC networks. Don't be a wage monkey.

"[HS: Hispanic isn't a race, it's a definition that you come to the U.S. form a certain geographic location, regardless of race. There can be Hispanic Chinese if they moved here from Cuba.]"

Absolutely right. And those places are the New World countries where Spanish or Portugese are the official languages and sometimes Spain and Portugal BUT nowhere else.

The Macanese speak Portugese but they aren't Hispanic unless full or part Portugese.

Here ya go.


Should clear up your confusion. Exactly what I said but with authority.

Second "Brandon Berg". All the interviews I've done, on both sides of the table, have involved designing, discussing, or writing code or pseudocode to solve small-scale problems. Never did the "gotcha" "manhole cover" BS puzzle-tests, never did the memorization-based "what are the 4 types of pointer in C++" tests.

Actually ... wait. I did *see* a bunch of memorization-style questions in relation to a NYC gig I was considering.

Move out of the sticks*, fellas.

* Yes, I realize NYC people think they live in the center of the universe. But for the tech industry, it's a backwater. Austin is more sophisticated.

OT: Why are so many computer programmers arrogant bastards? In my experiences at university and afterwards I've meet a disproportionate amount of computer programmers who were just know-it-all jerks. They were smart guys, for the most part, but just so smug and arrogant.

Somewhat major correction: I meant to say I do know how to program a loop and etc. Arggg... Usually I have a history for forgetting to write a negative, and this time I manage to write a negative....

When I applied for my current software engineering position a few years ago I was subjected to a written test. The test didn't cover the particulars of any language or technology. Instead, it seemed like a rather poorly disguised IQ test where the g-loaded questions were dressed up with some computer-related terminology. I couldn't believe it at the time. The test seemed like a disparate impact lawsuit waiting to happen. I've seen black people interview with my department before, yet there hasn't been a single black employee during my tenure. And this in a department with over 100 software engineers.

BTW, I'm pretty sure I aced the test.

I gave what I thought was a hard programming exam (consisting of short answers, and yes one did need to know recursion for at least one question) to a Nigerian man once and he practically aced it.

I have to say, HS is a good sport. I give him credit.

"Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can't write code at all. I repeat: they can't write any code whatsoever."

I'm skeptical that it's that extreme, but in any case, you have to keep in mind that this doesn't mean that 99.5% of people who call themselves programmers can't write code. It's very likely that people who can't program are overrepresented in interviews. The majority of the interviews I've done have resulted in job offers being extended to me. And I tend to hold on to a job for a long time. So I just don't interview that much.

But someone who can't program is going to fail most interviews. And even if he gets hired, there's a good chance he'll get fired quickly. So an incompetent programmer is likely to go through dozens of interviews for every one interview that a competent programmer goes through.

"An overestimate as CS majors have the second lowest SAT scores next to Ed majors. OK math scores but 'I don't speak English' verbal scores."

I'm not sure that that's true, but even if it is, isn't that because many CS majors literally don't speak English, at least as a first language?

Almost certainly a function of the UNIQUELY shitty American higher ed system ...

The linked web page is from Britain. Given my experience of Brit IT personnel, he's probably exaggerating only slightly.

The comments to this entry are closed.