I've worked with African developers and an currently working with a couple. The ones that I know started out with an agency and then eventually gained green card status and were able to get hired independently of the agency. The potential problem with going the agency route, as I informally understand it, is that no matter how disatisfied you may be become with your agency, you are stuck with them until you are able to apply for a green card - and that could be a pretty long time.