interesting. the "fast vs deep" comment intrigued me; i find i can go exceedingly deep when i can let things "simmer." to your comment, i had an intelligence test administered as a teen and the two outliers were basically symbol substation (< avg) and pattern matching (high).
It's a common pattern with engineering types. In programming you have to be highly detailed and accurate because computer languages are not forgiving, and you have to notice tricky patterns to fix bugs. It's called being meticulous officially I think. This is why you need someone trained to interpret your IQ test, you cant just feed them into a scantron.
There is a skill component to those things although. You could practice them a bit and improve your scores significantly. But is that really intelligence or just skill? It will always be a combination.