And even if you do not yet violate their TOS, they do change them to their liking and kick you out anyway. Relying on Amazon as a partner is not really something I can recommend.
I liked Marty Cagan's definition: "once you have achieved a threshold number (I advocate at least 6) of live, referenceable customers for a given vertical market"
I'd say you don't have product-market fit until you have closed, signed win-win sales and a working process to acquire more at a profit. But I'm not a huge fan of 'minimal viable products' and rapid iterations. You really ought to at least have a strong competence at actually delivering something that solves the problem for skeptical buyers before you go out "testing".
Anything totally unrelated to computers, math and hacking! Food, clothing, printed books, sporting goods ... Really, seriously, us hard-core geeks have all the geeky stuff we need and want!
Yes, unless there's a paid development position at the end of the course. ;-) But seriously, your first programming language should be one where there are numerous entry-level programming jobs in companies where you live. Network, network, network!