农=farmer, 工=worker. I don't think there's much difference between 码农 and 码工. The 2 words are interchangeable. 码农 seems more common. The usage is also same as or similar to "code monkey", in jest, or self-deprecating when used by programmers themselves.
I heard rumors (just rumors) that Internet providers in China limit your connection speed to servers outside China unless you upgrade your service and pay more.
Programmers are literally 程序員, where 程序 means program, and 員 means worker. People also call them 程序猿, where 猿 has the exact same pronunciation as 員 but means monkey. So basically programmers are also called code monkeys in China.