I'm a programmer in NYC who doesn't have a work visa. (But I've worked as a freelancer in the city for years, so I have lots of experience.) How should I bring that up to potential employers? During the application or during the interview or after I get hired? How much would it affect my compensation?