Timing is everything.
If you want to get married, you have to find a guy who wants to get married. You know, a guy who already has the house and career he wants. Find a guy who is happy where he is in life.
If you find a guy whose upgrading his education or thinking about moving to a new city then run, even if you seem to be perfect for each other. This guy is too busy thinking about himself and isn't ready to make decisions as a couple. Unless you're willing to make some sacrifices for him and he's willing to let you, it will never work out.