Chas Emerick might be right, but my experience is very different.

I moved to Silicon Valley in 1996 to take a job as a sysadmin. My previous job: bottling bubblebath in a bubblebath factory in Ohio. I managed to stay in that job for the year it took to pay off my moving expenses, which is a testament to the fact that I already knew some stuff, and moved back to Dayton, Ohio, to be with my wife.

BAD MOVE. Ended up working at Keane on a Y2K remediation project, wrote a Perl script that allowed us to do a text-scanning task in an hour that previously took days with the Keane Assessment Tool (written in COBOL), got reprimanded in writing for suggesting to a customer contact that we remove some unused and incorrect code from their software, was yanked off the client site and sent to their management training course where I was indoctrinated in their explicitly-described-as-waterfall methodology, and was fired at the end of my three-month probationary period.

At this point, Keane, despite making nearly a billion dollars a year writing software to automate its customers' business processes, had a timesheet process that worked as follows:

1. Download the Excel spreadsheet from the Keane website onto the client computer and fill in your hours.

2. Print it out on the client's printer.

3. Fax it to the Keane office on the client's fax machine.

4. At the Keane office, the receptionist would type the hours from the printed, faxed spreadsheet into the timesheet system, which I never saw.

From later 1997 to 2000 in Dayton, I worked at ERIM, a government contractor developing software for hyperspectral image analysis. The level of competency was higher there than at Keane, but essentially the project was to reimplement in C++ a bunch of algorithms that were already implemented in ERDAS Imagine, with the stated objective of improving their usability, but with no human-factors people on the team. The real objective was to get the taxpayers to foot the bill for a reimplementation of these algorithms whose copyright would be held by the prime contractor, Ball Aerospace and Technologies Corporation.

At one point, our team lead (Teresa Cloud, of BATC) declared a policy against using the C++ keyword "this", because she thought it was bad style. On another occasion, I got reprimanded for using "assert" statements in my code — not for creating the bug that triggered the assertion failures, which was also my fault, you understand, but for the statements that detected it. As you can tell from these stories, my technical and political savvy was quite limited at the time, and my productivity was even worse.

During this time, you understand, I was hanging out in bookstores, talking to people there, taking classes at WSU, going to Linux user groups and the Dayton Microcomputer Association and Hamvention and Computerfest, occasionally doing volunteer work with a computers-for-the-poor project whose name I forget now. There are probably a dozen or more interesting high-tech companies there in Dayton, but I never succeeded in finding them.

In 2000, I took a job at a startup in Seattle. It challenged me like nothing ever had. After three months I visited Dayton, and I was astonished to find that nothing had changed. It was like visiting Brigadoon. Time just moved so much slower there.

When Kleiner funded us late that year, we moved to the SFBA, and I spent the next six years working for a variety of interesting tech companies, in the SFBA. In 2006, I moved to Buenos Aires, and although there's some interesting stuff going on here, it's a pale shadow of the SFBA, despite having about the same total population. The free software and contact improv communities here, however, are amazing. But the environment does encourage me to get lazy and slow down instead of staying ahead of stuff.