I feel that gigantic metropolises are not optimal environments for software engineering.<p>NYC, and it's helter skelter of noise and traffic and garbage and tiny living spaces, in my humble experience and opinion is not conducive to hard engineering problems.<p>I am probably completely wrong here and just a hopeless introvert with an axe to grind, but from my experience, working in home offices in towns like Boulder, Colorado, with a central, easily bikable office/startup HQ, would present the optimal small company setting.<p>A quality employee cares, they care about the problems of your company when they shower, when they sleep, when they are knowing their spouse in a biblical sense. The problems of the company they have pledged their allegiance to, like a knight in Game of Thrones pledges allegiance and service to their lord, are always on their mind.<p>So if you are paying for knowledge work, you would do well to dispel any notions of body/mind duality. Physical health equates to mental health, and a town like Boulder, CO is about the perfect size for optimal maintenance of a human body/mind. And there are hundreds of other communities in America with similar attributes to Boulder, CO.<p>And if you can take advantage of the space that your workers are already paying for in their rent or mortgages. Spaces that may have gyms and/or pools which are physically and mentally rejuvenating, well you will come out ahead.<p>I think the future of work will be semi-distributed, and this mad consolidation into a few coastal cities will be seen in the future as a gross inefficiency.