This is a classic argument and the classic reply is family connections. Its not easy to leave your family. And if you are poor it may mean saying bye to your parents for good as you can't afford to fly back.
Good question. I wonder I'd its better to read up on how to be a better coder (code complete etc.) and also learn about architecting systems. None of this is usually taught in CS.