This is the story of a guy who kept avoiding, and then bumping into, computers and technology throughout his life, like an ex-girlfriend that you just can’t shake. After a chance encounter one-too-many times, it looks like I married that ex-girlfriend (metaphorically speaking)…
I grew up in the United States Midwest (Iowa, Illinois, Missouri, and Ohio) with a generally unremarkable childhood. Around the age of 11 or 12, I first started programming Basic on the Apple IIe. I continued programming for a couple of years and then, for whatever reason, stopped altogether. I did very little with computers—aside from playing games—until I was a senior in high school, when I took a year-long Advanced Placement (AP) class on Pascal. Even in hindsight, I’m not sure why I took that class.
I went to college at Northeast Missouri State University, focusing most of my efforts on impractical education. I earned a Bachelor of Arts degree in English, with a minor in Philosophy and Religion and two years of Latin. If a subject was useful, I avoided it like the plague. I did nothing with computers during this time, in fact, the three credit hours I earned for my high school Pascal class allowed me to skip taking a computer class in college! Just before I graduated college in 1994, I bought my first computer, an Apple Color Classic. Around that time, a friend of mine at the library showed me something called the “World Wide Web”. I did not see what the big deal was.
After college I went to work for Borders bookstores (R.I.P.). Over the course of three years I was a bookseller, periodicals manager, trainer, and assistant manager. In my spare time I thought about, but took no steps towards, writing the Great American Novel. Other than not really writing but really playing games, I did little with computers. Through an odd series of events, I ended up being the IT manager at a bookstore, at which point in time I started learning some stuff about technology. I distinctly remember, around 1997, picking up Elizabeth Castro’s HTML: Visual QuickStart Guide (Peachpit Press) and spending the weekend getting a handle on HTML and the Web. At that point, I was impressed.
For the next two years I worked at the main library at Georgetown University, where I performed tangential computer-related tasks. Mostly this was because I was friends with the IT people, so I learned a lot from them and fixed any problems with the two Macs the library had (the IT guys were not Mac people). While working at Georgetown, I took a continuing education course on getting published, which turned out to be hugely beneficial.
<<INSERT LONG SEGUE HERE (and, yes, I meant to do this, saving everyone several meandering paragraphs explaining how I got from the previous A to the next B)>>
And so I ended up going to work for my in-law’s company, DMC Insights, Inc., starting my own “digital media” branch. As I had little experience, few contacts, and no portfolio, a lot of my time was spent learning new things and trying them out. One experiment was an online NFL (American football) pool for my friends and I. I attempted to create the site using CGI scripts written in Perl and found that to be extremely tedious. I chanced upon PHP, rewrote the site in no time, and things turned dramatically for me.
After a few months and a few projects using PHP, I wrote up a proposal for a book on PHP and sent it off to three publishers (I think). At the time there were only one or two books on PHP. After going back and forth, Peachpit Press eventually accepted my proposal and I signed my first book contract: PHP for the World Wide Web: Visual QuickStart Guide. The book was a great seller and was well received by readers from the get-go, even though I didn’t really know what I was doing when I wrote it (in terms of writing a good book)!
Ten years later and I’ve written a total of 21 books, for two different publishers (and have had serious discussions with other publishers). My books have been translated into over 20 languages and have sold more than 300,000 copies. I’ve also written numerous articles that have been published online. For a few years I was an Extension Instructor for the University of California at Berkeley. Intermittently I’ve also done on-site training, primarily for branches of the United States government, and spoken at a few events. As I like staying home, I’m doing more and more consulting for individuals and companies trying to develop their own projects. Most of the Web sites I’ve directly worked on have been for educational institutions and non-profits, although I’ve done small and large projects for individuals and companies, too.
PHP is still my first love, and I’ve really taken to the Yii framework, in particular. I’m comfortable with HTML, XHTML, and CSS, of course, and really like JavaScript (or, more precisely, what JavaScript has evolved into). For the backend, I primarily use MySQL, although have used SQLite, PostgreSQL, Oracle, and SQL Server on occasion. I try to avoid using Windows, although I’ve worked on a couple of ASP.NET projects over the years. I very much like Adobe AIR and Adobe Flex, especially with PHP as the server-side connection. I think Ruby is a beautiful language, although I don’t have the need to use it as much as some other technologies.
In 2011, the fourth edition of my PHP for the Web: Visual QuickStart Guide and my PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide will come out. I also have more articles slated for 2011. The biggest challenge for 2011 will be my attempt to self-publish my own JavaScript book and my own Yii book.
2011 Update: The PHP for the Web: Visual QuickStart Guide and PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide books were published in 2011, along with several articles. The JavaScript book I had intended to self-publish, has become Modern JavaScript: Develop and Design, to be published by Peachpit Press in early 2012. I have a few more article to be published this year, too, and still hope to self-publish a book on Yii. In 2012 I will be writing the third edition of my PHP 5 Advanced: Visual QuickPro Guide.
2013 Update: In 2013, I was given the opportunity to join Stripe, a San Francisco startup that has simplified processing payments online. This has significantly changed my day-to-day life, but it was an opportunity not to be passed up. Frankly I am honored to be a part of Stripe. I work with some amazing people, doing really smart things. Joining Stripe is another pinnacle in a professional career that I’m humbled to have had. Especially considering how randomly it has evolved.
2014 Update: Modern JavaScript: Develop and Design was published in 2012, and has received great reviews. If you want to learn today’s JavaScript, I highly recommend it (of course, I’m biased). In 2012, I also published the third edition of my PHP 5 Advanced: Visual QuickPro Guide, now titled PHP Advanced and Object-Oriented Programming: Visual QuickPro Guide. In 2012-2014, I self-published a book on the Yii framework. In 2013, I published the second edition of Effortless E-commerce with PHP and MySQL. To stay up to date on my books, check out my full list.
If I had to summarize who I am (from a work-related perspective) in a single sentence, it’d be this: I’m not a computer geek, but I can speak their language.