Fog Creek Software
Discussion Board

What makes you a programmer - part 2

Yeah, so I got lots of awesome feedback on my original question yesterday, so I wanted to clarify on it, and see what else people had to say.

I wasnt really asking about pointers at all really, even though people had some interesting stuff to say about it. I just thought it was an interesting example, because i havent ever heard anybody else try to pinpoint exactly and specifically what separates some people from being able to program.

Any thoughts on that? My company finds people from underemployed communities or who have had trouble getting jobs, and basically trains them from scratch (for free) and places them in low level programming jobs.

Ive gotten my part fo the curriculum in place, where I basically teach them XML (without telling them) on the first day, and from there, I see who can understand and use complex data structures in their head and who cant. Im trying to figure out some conceptual bridge between this and fundamental programming logic though, and I feel like im overlooking some key element about what makes a programmer.

I feel like there must be something beyond problem solving, desire, and IQ tests that I can concretely identify and use to see who can and cant make it as a programmer. What do you guys think?

Tim Boucher
Tuesday, March 12, 2002

The three things you named seem to what you need to check.  They need to be smart (IQ), motivated (desire) and quick on their feet mentally (problem solving).

razib khan
Tuesday, March 12, 2002

You're not likely to find what you're looking for.  Life is complex; people are complex.  Finding one key factor that will determine success or failure at being a programmer is not going to happen.

Looking at your web site I get some idea of why you want to find that key factor.  Made to order employees, guaranteed.  An interesting concept.  Sort of like buying a car, just specify the options, take it home and park it in a cubicle.

Tuesday, March 12, 2002

yeah i mean, pretty much. its not my idea, you know. i just am one of the ones who has to make it happen. im not saying its a GREAT idea. but i do think its worth investigating from an intellectual standpoint, or else i wouldnt be involved in it at all.

tim boucher
Wednesday, March 13, 2002

I would think a logical/mathematical mind. While I know plenty of non-logical people in the business, they seem to stumble through rather than get it.

Perhaps you can teach basic logical ideas on the first day and see who gets it:

If P is true then Q will also be true

P is true
Therefore Q is true

P is not true
Therefore ?

Mark W
Wednesday, March 13, 2002

The posts on the original thread seemed to be of two basic flavors:

People need to understand abstract mathematical ideas.

People need to have the "Emotional Intelligence" to persevere when they come upon a problem that they don't immediately know the solution to.

I don't know that 'flow' is necessarily a component of it, I'll put a band together because I know we can reach the point of one day being in 'flow' but I can't expect it in the beginning. More important is the tenacity to stick to it and work hard *when it doesn't flow*. Then the flow will come.

Perhaps Joel should add Daniel Goleman's book to his list of required reading "If you want to be a programmer." It's a nice overview of the current theories on "how the brain works."

Mark W
Wednesday, March 13, 2002

shoot! ive never heard of that book. thanks a zillion. ill check it out.

tim boucher
Wednesday, March 13, 2002

hey, is that the title and author of that book? i looked up both and didnt find either. would you be so kind as to post a link to it for me? thanks a bunch.

tim boucher
Wednesday, March 13, 2002

Errrr. This may have been poor communication on my part. I put one thought into two paragraphs and two paragraphs into one thought. Here are my two thoughts:


Emotional Intelligence: Why it matters more than IQ by Daniel Goleman

It's got nothing to do with programming, but a little to do with everything.


Perhaps Joel should add it to his list in the "If you want to be a programmer" section.

Sorry for the confusion, I knew what I was saying was awkward, but I didn't realize it was *that* awkward.

Mark W
Wednesday, March 13, 2002

The so-called emotional intelligence is what helps if you don't want to become an ethernal programmer.

Andrzej Kocon
Thursday, March 14, 2002

cool, well ill check that book out then. thanks a lot.

Tim Boucher
Thursday, March 14, 2002

Hi People, I did a google search for "What do i need to be a programmer" and i stumbled upon this site and read through the page.
I want to be a programmer, here are my reasons:-

1) Language and words that create apps WOW
2)Hard struugle every task is differant
3)the only limit is your imagination
4)it pays well

But i dont know if ive got what it takes or if when i start it i will enjoy it, so my dilemma is: do i spend alot of money and time into educating myself to a level of programming that is suitable to obtain a job, and then discover hay thats not for me. Or do i just say "its probabbly not worth the risk ill stick to what i know best"

Sunday, November 9, 2003

*  Recent Topics

*  Fog Creek Home