Hofstadterův zákon stanoví, že:
Toto na sebe odkazující pořekadlo vymyslel Douglas Hofstadter ve svém magnum opus Gödel, Escher, Bach: An Eternal Golden Braid z roku 1979. Často je citováno mezi programátory, zejména v diskusích o technikách ke zlepšení produktivity, jako je například Mýtický člověčí měsíc nebo Extrémní programování. Za svou rozmarnou fasádou je Hofstadterův zákon hlubokým vyjádřením obtížnosti přesného odhadu množství času, který zabere dokončení úkolů jakékoli podstatné složitosti.
Všimněte si, že Hofstadterův zákon má rekurzivní povahu (tj. nazývá se odkazem) a nikdy neklesá na triviální případ. To znamená, že i poté, co jste vzali v úvahu Hofstadterův zákon, musíte podle Hofstadterova zákona stále brát v úvahu Hofstadterův zákon, a to platí bez ohledu na to, kolikrát jste již Hofstadterův zákon aplikovali. Proto je nemožné někdy plně vzít v úvahu Hofstadterův zákon, alespoň v konečném čase. I když se zdá, že některé rekurzivní funkce nakonec konvergují k přibližnému řešení (např. x/2 se blíží nule, když je do něj jeho výstup opakovaně vkládán), každý, kdo se pokusil spravovat softwarový projekt, může dosvědčit, že to zřejmě neplatí pro Hofstadterův zákon; pokud něco, pak se zdá, že odhady, které berou Hofstadterův zákon v úvahu alespoň částečně, mají nekonečnou, nebo alespoň velmi velkou horní hranici. Z Hofstadterova zákona tedy vyplývá, že není pouze obtížné odhadnout projekt – je potenciálně nekonečně obtížný (konečná obtížnost, jako v řešení Zenova paradoxu, vyžaduje, aby se mimořádná obtížnost zmenšila dostatečně rychle, aby se rekurzivní řada sbíhala v konečném čase k konečné hodnotě).
(poněkud žertovné) pravidlo, které zavedl Hofstadter pro výpočet přibližného času, je zdvojnásobit počet a vykročit k dalším vyšším jednotkám. Například úkol odhadovaný na 1 hodinu lze zvládnout za 2 dny, zatímco tříměsíční projekt vám zabere 6 let.