This native American English speaker thinks the best choice is for, but then you’d probably want to drop “the basic concepts…”
An intuition for something is a common phrase. If you have an intuition for chess, that means you can find good moves in chess without necessarily being able to explain or justify your reasoning. Classic example: native speakers of a language normally have a good intuition for the grammar of their native language: they almost unerringly put words together grammatically, but they usually have little conscious understanding of how they do it.
Your intuition is right to put the indefinite article ahead of intuition for in this sense. Here's a typical use of an intuition for. You can also drop the article, treating intuition for sort of like a mass noun. It’s like a talent for something and talent for something: they both work.
An intuition about something is also a common phrase. Intuition for something is an ability: perhaps a skill you acquired through a lot of experience, or perhaps even an inborn talent. An intuition about something usually means a conclusion “about” something, arrived at intuitively. For example, a human-resources director at a software company once told me she had an intuition about a programmer who had just done a job interview there: she said she had “a bad intuition about him”. She was very confident that he would be a bad employee. But if you have “a bad intuition for chess”, that means you can’t trust your intuition for chess: it leads you to choose bad moves, so you’re better off reasoning things out more explicitly.
Since you’re talking about skill rather than a conclusion, intuition for fits better, even though intuition about can also work. It’s a matter of choosing the expression whose meaning is centered on what you want to say. Intuition about can “stretch” to fit here. If you choose intuition about, then you should not use the indefinite article or it dimly suggests that the programmers don’t have an educated guess about what are the basic concepts of asynchronous code.
By the way, one doesn’t normally say which as a relative pronoun for a person. Who is most normal and formal; that also works, but it’s weaker.
I'm guessing that you probably don’t want to say that no programmers who mainly write synchronous code have a good intuition for asynchronous code. On that assumption, here are a couple possible rewrites:
Programmers who mainly write synchronous, direct-style code seldom have a good intuition for the basic concepts involved in writing asynchronous code.
Programmers who mainly write synchronous code seldom have good intuition for asynchronous code.
I’m not sure why I prefer the indefinite article in the longer sentence and not in the shorter sentence. That’s native-speaker intuition at work. It might have something to do with the rhythm.
I'd start by looking at say these Google Ngrams and then checking actual usages on Google proper.
– Edwin Ashworth – 2014-12-26T11:54:57.2174I suggest you write "Programmers who..." instead of "Programmers which..." Which is generally used with non-human living creatures and inanimate objects; who is used with humans. – Erik Kowal – 2014-12-26T12:03:07.090
1You may also want to check the accuracy of what you’re actually saying. Just because a programmer mainly writes synchronous code doesn’t mean he doesn’t have a good intuition of how to write asynchronous code as well. – Janus Bahs Jacquet – 2014-12-26T15:10:49.143
The preposition I would use is about. – Barmar – 2014-12-26T15:40:32.730
Since you're talking about plural programmers, why not use plural intuitions when speaking of their individual programming habits and concepts? That takes care of a. As for prepositions, don't have good intuitions about seems most natural, but probly some people might use on (short for on the topic of). – John Lawler – 2014-12-26T16:17:50.263
3or rework the sentence: Basic concepts involved in writing asynchronous code are not necessarily intuitive to programmers who mainly write code in a synchronous, direct style. – SrJoven – 2014-12-26T16:43:47.547
I'd rework the sentence. What about: Programmers which mainly write synchronous, direct-style code do not necessarily have a good grasp of the basic concepts involved in writing asynchronous code. SrJoven's one is good too. I like the addition of necessarily because your sentence is a bit condescending imho. – Formagella – 2014-12-30T18:32:46.743