I gave up on my professional baseball and basketball careers (couldn't keep up with the high school heat; great outside shot but no dunk), and instead I discovered the joys of software engineering. Growing up on the Peninsula south of San Francisco, my friend, Steve Falcon, and I first encountered computer programming in a computer math class offered by Mills High School. The computer was actually at the district office, but in a small, windowless office, we'd sit at keypunch machines, poking holes in paper strips that we'd then feed through a modem to the mainframe. It was fun, but it wasn't quite Star Trek.
While contemplating a career in journalism, I was discouraged by my senior year composition teacher from ever attempting the written word again, so I hustled off to the University of California, Berkeley, where I studied physics and astronomy, earning a degree in the latter. While at Berkeley, I continued my romance with computers, purchasing a Commodore 64 and a 13-inch portable television (which still sits on a shelf in my office) as a monitor. The folks at the Lawrence Hall of Science somehow learned of my possession (the Commodore, not the TV), and promptly hired me to port educational software to it from Apple II sources. I also spent time at the Lawrence Berkeley Lab writing FORTRAN programs for the Berkeley Supernova Search Group, including such fascinating work as constructing digital imagery of the sky using dot-matrix character printers.
It was in my Physics 237 lecture where I first learned about hyperfine structure, which while at the time I thought was a pretty cool construct, I tucked away for the future as even more impressive for a company name.
After a brief fling with teaching high school math and physics (with a Master's degree in Education earned at Stanford University), I joined up with IBM as an evaluator of educational software and a test engineer for network environments. I joined Software Publishing Corporation during the great software startup years in Silicon Valley, first as a software test engineer, and later as a software development engineer.
In 1991, I moved from the Silicon Valley to Redmond, Washington where I joined Microsoft. I worked on the Windows NT 4.0 team, otherwise known as Cairo, and helped define the user interface later introduced by Windows 95. The work I did on the tray, task manager, and the desktop made its way into Windows 95, 98, and Windows XP. I also led the development team that pioneered the user interface later marketed as Windows Media Center Edition.
I left Microsoft in 1999 to join up with Edward Jung, Nathan Myhrvold, Mark Malamud, and others in founding Open Design, a company building network-based application integration tools. I built and led a team of ten engineers, along with serving as architect.
Under Hyperfine, I spent some time building location based software tools for the Pocket PC and smart phones (alas, before they were natively coupled with GPS devices), reading GPS signals through the serial port and rendering my own maps against Tiger census data. I was a decade too early. Many of the ideas you see these days with Google and Foursquare, for example, bringing together location and social networks, I was implementing back in 2001. I was impatient with the lack of integration of GPS and wireless data in the phones of those days, and moved on. I joined a startup called Jott Networks in 2006 as their first hire, and architected the foundation of its first working system. I spent the next three years associated with Jott both as a consultant and full time employee, building systems mashing together Voice XML, ASP.NET web services, and SQL Server engines that handled voice-to-text operations and applications. When Nuance acquired Jott in 2009, I joined on for six months as a software architect.
Back full time with Hyperfine now, I'm working on building web service infrastructures on top of Node.js, MongoDB, and a variety of client-side frameworks. I've spent most of a year consulting with Intentional Futures, building for them a foundation of web front- and back-end technologies, and guiding them in growing their engineering team and practices. My daughter, Amy Bearman, joins me at Hyperfine in investigating new ventures in between her studies as a computer science major at Stanford University.