Programming (for me) occurs at the apex of an extended Maslow's type hierarchy, and traveling often destroys the very foundations of it. The code I write when sleep-deprived, hungover, hungry, sunburnt, and sitting on a bumpy Thai train wondering if I missed my stop and wishing there was internet & coffee, is strongly inferior to what I write in a well-lit, quiet environment, fed, rested, fueled by engineering conversation and mental/real bandwidth, etc. That's not a proscription of adventure so much as an acknowledgement that the whole nature of adventure is disruptive: multiple variables in your equation are changing at rapid rates, and they are important variables: food, shelter, language, currency. Over our two-year stint in Asia, we usually found ourselves in one of two situations: 1) blissfully immersed in the culture and outdoor activities of <x> country but contending with unreliable internet, limited work time and near-nonexistent attention spans, or 2) sitting on a nice nondescript hotel bed somewhere with A/C, good wifi and our tiny MacBook Air screens, and feeling like we may as well have not left the US at all.
> Programming (for me) occurs at the apex of an extended Maslow's type hierarchy, and traveling often destroys the very foundations of it
For me, it varies with my mood. A lot of the time having some stress and interesting surroundings spurs my creativity and I've written some of my best code in a park, on an airplane or at a café. Other times I just want to lock myself in a familiar room with all my comforts and shut out the world.
That's why when I do the travel-and-work thing, I stay for 2-3 mo in a place, and I can mix things up depending on how I feel that week. I've also decided for myself that it's never a failure of travel to not be in local's dining room every night living the "real experience". I'm not on vacation, I'm still working, so I'll never see #2 as an issue.
It is interesting that sometimes being in a new environment can promote creativity and even discipline (for instance, it's easier for me to work continuously on a plane--which I'm doing right now--than when I'm in our home office because I perceive I have less choice: not sure what that says about me). And I agree that if I'm doing performance testing or adding a mellow feature, then sure, throw me in the middle of Cirque du Soleil and I'll be fine.
But I would challenge the idea that complex programming problems (cloud sync, NLP, etc, choose your poison) can be solved equally well in a suboptimal environment. Here is my "hypothesis": unregulated noise, temperature, and other travel-centric environmental factors (such as the need for vigilance in a new environment) distract from cognitive performance in the majority of people, if not all people.
To be clear, I don't think it is possible to write my best code in a park, an airplane or a café, regardless of mood. But I would be curious to see relevant studies which demonstrate otherwise. I agree that changes in environment are stimulating and that stagnant workplaces hold their own dangers.
I also agree that 2-3 months is a good baseline for getting to know a place: you don't feel as jostled about by your schedule, and there may even be time for cursory grasp of the language (w/some prepping beforehand) and making a friend or two. Plus you don't have to cram your (potentially expensive) excursions into as short a block of time.
We're a two person development team who sits in the same 5 foot radius and we've had to merge xibs semi-frequently. It's not overly viable to ask the person next to you what files they plan to work on in the hour, because that can be difficult to determine in advance. Additionally once I upgraded Xcode before my partner, and suddenly our xibs were out of sync. In terms of one person working on the UI, even if that's the case, the other person might change an outlet, or create a non-UI object in the xib. It's complicated to coordinate changes because the breadth of features (as they appear in the codebase) is unpredictable.
Even if they self-correct, it's how they'll be treated. They just tapped into a massive vein of loathing for vague DMCA notices (particularly on the design trend front), and did it quite effectively. In the case of incendiary actions with ugly consequences, once is enough to brand you.
I have to wonder if training and repetition might make a difference there; for instance, after a week of doing computations while walking, can your friend now multiply faster? The mind is an efficient adapter. It would also be interesting to discover what qualifies as exercise in those studies, and if the benefits of increased circulation and possibly a clearer airway based on improved posture, which presumably also increase brain function, could offset the glucose depletion.
Yeah, the glamour goes quick, that's for sure. But when it goes it reveals the bones of the thing, and that can be good. A fast learner and thorough problem solver will find work in programming, IMHO, competition be damned.
Personally, I didn't learn very much in my college CS studies (incidentally, I was also in Marine Corps ROTC at the time at VA Tech). My cofounder, who studied at UCLA, whistles a very different tune, but I don't think his education has been a determining factor in his success as a programmer. I think that for me, the missing impetus was money: once coding became about a paycheck and an actual customer, that's when I began to love it. Pure theory just doesn't turn me on. You might consider that what you're lacking isn't education, but motivation: find a good problem to solve, and fill in the blanks of your skills from there.
All this to say, starting at a young age is not the sole determining factor of success in programming, and having a CS degree may not get you where you want to go. Recommendation: if it's possible for you financially, apply to a startup whose mission you find compelling, lie brazenly on your résumé, and take the risk of being fired.
I agree with the majority of this but would like to add that founding your own startup and keeping it ultra lightweight can gain you these same freedoms on a higher income.
Don't take on investors: make a product that earns money. Don't hire full or part time employees: find intelligent automated solutions to tricky problems or bring on contractors as necessary. Having control over what you make and when you make it means (for me, at least) more sleep, more money and less wasted time making someone else's dream a reality.
You could actually perceive women-only gyms and scholarships as a response to events such as this. How would you react to being told your presence caused bad behavior, and so you'd been disallowed? Why, you'd create a space from whence you couldn't be removed--by making yourself the only entity. However, that's not to say it is an ideal solution. Also, I've never really understood that aphorism, "Can't have your cake and eat it." WTF was the point of giving me the damn cake if I can't eat it?
See I think that statement is a fallacy. Restaurant owners began to believe in the power of websites when other restaurants began having them and HN-type people began using them, and they saw what a great tool the internet is to draw more business and promote themselves. HN-type people (love this hyphen) create the groundswell by which businesses recognize what direction to go in, and restaurant owners are no different, just a little later to the party because they've been cooking the meals.
We've got a lot of numbers in our minds, that's for sure. We do believe that 1000 clients is a possibility in a landscape of potentially millions worldwide, but a lot of that depends on how much traction we can acquire in the restaurant community.