(Please forgive the side-story, I believe this comment eventually forms a cohesive story.)

Once upon a time I had 7 years experience doing web development and a young friend of mine came to me and asked "Would you please teach me web development?" So I did. This was in 2006. Then she moved to New York City, and she started job hopping. She worked at Huge, she worked at Blue Ocean, she worked at Alexander Interactive. I visited New York in 2008 and had lunch with her. I was surprised that her knowledge of project management techniques was now ahead of mine, even though she had less experience. What she did have was perspective -- she'd seen the strengths and weaknesses at Huge, and she was able to compare them to the strengths of weaknesses at Alexander Interactive, and other places. I had worked at my own company for 6 years, so I had much less perspective. I realized that if I was ever going to become a technology consultant, I would need to gain her broad overview of the strengths and weaknesses of multiple companies.

I spent 5 years living in Chapel Hill, North Carolina, and then 10 more years living in a Richmond, Virginia and Charlottesville, Virginia. Those were very comfortable places to live, but also a bit boring. My friends who had children described them as good places to raise children, but I had no interest in kids so I had no use for what might be the #1 best attribute of those places. If you know the joke by that NFL player "You can't do nothin in Charlotte, except live" -- that really applies to quite a few places. I was hoping I would eventually get to a more interesting place, like New York or London or Berlin.

In 2009 I moved to New York. I really, truly love New York. I've been working as a contractor and since I've moved here I've worked with 20 different companies. I've gotten to see a great diversity of what works and what fails. I've collected a lot of stories, some of which I've written about, and some of which I am still planning to write about. There are very few places in the world that offer as exciting a scene as New York. These mega cities, that combine culture and technology and funding and startups -- there are only perhaps 100 in a the world, and of the ones where English is the dominant language there are only perhaps 10.

It was in New York that I gained that broad overview that my friend had demonstrated in 2008. Therefore, New York has been fundamental to me becoming the kind of technology consultant that I was hoping to be.

I've spent a few months in San Francisco and I love that city, but to live I would prefer New York or London, because they are so much bigger and there are so many other offerings aside from the companies that work there.

For what I want to do, offer high level technology advice, having seen what works and what fails at dozens of different companies, there are only a few places where it makes sense for me to live and work.

I've visited Costa Rica and I love it. I hope to go back many more times. But only to visit. I'm still open to someday moving to London or Berlin, but I'm not considering "move to Costa Rica and live on the beach". It's simply not the career path that I'm interested in.

For my retirement, if I'm looking for some place cheap, I will consider Krakow. That assumes that Poland some day elects a sane government and therefore remains in Europe. I certainly hope to buy real estate in Krakow, as I think investing there is a bit like investing in New York in 1982, back when everyone thought that New York was dead and without a future.