A Hierarchy of Abstraction

In­tel­li­gence seems re­lated to one’s abil­ity to han­dle high-level ab­strac­tions. A min­i­mum in­tel­li­gence level is nec­es­sary to un­der­stand cer­tain kinds of things. This post at­tempts to or­der con­cepts by how much in­tel­li­gence is re­quired to un­der­stand them.

I had an em­ployee who could do #1-2 but strug­gled with #3. I know sev­eral peo­ple who can do #1-4 just fine but strug­gle with #5 or can­not do #5 at all. I know peo­ple who can do #1-5 but can­not do #6 at all. I know an en­g­ineer who can do #1-6 but can­not do #7. I know an­other en­g­ineer who can cruise through #1-8 but strug­gles with #9.

I have never[1] ob­served some­one go up a level in this hi­er­ar­chy. Some­one who does not grasp a level quickly tends never to grasp it at all. I think your po­ten­tial to climb this hi­er­ar­chy is limited by your fluid in­tel­li­gence.

1. Can imi­tate sim­ple behavior

Any­one read­ing this post passes this thresh­old.

2. Can fol­low sim­ple ver­bal instructions

Any­one read­ing this post passes this thresh­old.

3. Can fol­low sim­ple writ­ten instructions

Any­one read­ing this post passes this thresh­old.

4. Can perform arithmetic

Can solve ques­tions of the fol­low­ing form: “Given a $100,000 ini­tial in­vest­ment with 4% com­pound­ing in­ter­est, es­ti­mate your profit af­ter 10 years.” The tes­tee is al­lowed to use a calcu­la­tor.

5. Can write Python scripts

Any­one who has writ­ten origi­nal com­puter code in a main­stream pro­gram­ming lan­guage passes this thresh­old.

6. Un­der­stands pointers

Any­one who can im­ple­ment a poin­ter-based al­gorithm in C passes this thresh­old.

7. Un­der­stands recursion

Can im­ple­ment the Fowler–Noll–Vo hash­ing al­gorithm re­cur­sively and ex­plain why one would do so.

8. Un­der­stands in­for­ma­tion density

Can crack all three of these prob­lems in an hour or less. Con­fi­dently as­sert­ing an in­cor­rect an­swer to the first ques­tion fails this test in­stantly.

The tes­tee may use the In­ter­net to look up de­tails of the Java lan­guage spec and how the Enigma ma­chine works. This re­search does not count to­wards the hour. Other­wise, us­ing the In­ter­net is for­bid­den.

9. Thinks in terms of entropy

Can in­vent un­bi­ased small data al­gorithms on-the-fly. Peo­ple with an in­tu­itive grasp of hy­poth­e­sis space Kol­mogorov com­plex­ity tend to make good Wall Street quants.

10. ???

Here be drag­ons.


  1. I man­aged to tu­tor a com­puter sci­ence stu­dent from #5 to #6—but I do not think it counts. Osten­si­bly, she hired me to teach her how poin­t­ers work. The real prob­lem was that her col­lege had can­cel­led the pre­req­ui­site class that was sup­posed to teach her C syn­tax. She fired me as soon as I had finished ex­plain­ing the syn­tax. ↩︎