It is similar with mathematicians. A mathematician may smell a rat in a proof like a programmer a bad pattern in code, but you can only really trust their intuition in their specialty field.
E.g. web frontend programmer intuition won't do in backend, desktop UI, mobile, HPC, video game coding, embedded programming, real time applications or safety critical software.
This does not preclude polyglots and polymaths or generalists.
People have known this, er, intuitively for some time. Kahneman gives us an handle on why it is: it lets us develop an intuition for the software we are working on.
After 30 years I consider myself pretty capable in debugging such systems but one thing I never use is "intuition" as defined in the beginning of the article.
Intuition is a form of pattern-matching on implicit/tacit variables. It only works if there is a pattern to match.
Basically, consider it a form of Bayesian learning models. The difference is that with humans if the feedback comes too late, we will reject the signal as we have trouble separating actions and consequences.
I can conceptually explain why some commonly bad practices like hard coding variables or not using looping constructs for repetitive statements are to those that keep doing it, but I can’t give quick feedback showing precisely how tough it is to make changes around the code or to even understand it to those that write it because they have developed intuition about their codebase and are now mentally somewhere between Stockholm Syndrome and defensiveness.
How valuable that intuition is and whether it is transferrable to other system is another question.