Embrace the Ideas of March! post

March 15th, 2011

Any programming language is only as good as the community leaders that back it up. For every opinionated douchebag (I've been called that) that is being promoted as a "thought leader" there are, what, 1000 people hanging off their every word? I've been involved in the PHP community for a long time, and despite my occasional thoughts that I am a D-level celebrity in the PHP ecosystem, I realize that as someone who has some sort of name recognition that it's important to continue to share my thoughts about PHP.

The recent move by Twitter to wrest control of how tweets are presented by basically telling people "don't make any new clients and we'll shut down any clients that don't show the ads we are planning on introducing" reminded me of just how much I make use of blogs to help me solve problems. I'm sure I've spent man-years rummaging through results from search engines trying to find insights into how to solve a particular problem. While I don't spend a lot of time analyzing the access logs for my own blog, I am continually amazed at how often older blog posts of mine are read. Although I might not use the framework or technology addressed in that blog post any more, I'm happy that others are gaining value from my experiences.

Chris Shiflett has kick-started a trend to blog your longer thoughts rather than spread them out via Twitter and I happen to agree with him 100%. Twitter's recent decision to grab control of the presentation of messages sent using their service reminded me that blog posts are still my preferred way of getting across my thoughts on technical issues. If I didn't care so much about my blog, I wouldn't have put all the effort I did into converting it into a static blog from WordPress. As a result of this, I'm throwing my hat into the Ideas of March concept. My pledge is to blog something every other day until the end of this month. It might be short. It might be a long rant if I have the energy once the kids are safely tucked into bed. But it will always be entertaining. My first discussion is a very personal one.

My relationship with the PHP community waxes and wanes, depending on my commitment to learning other things. I look at someone like Travis Swicegood who has shown me the path on how to keep multiple feet planted in various communities. Travis is an old PHP guy, but now slings Python in the day job for The Texas Tribune. He also wrote what a lot of people consider to be the most practical guide to using Git. I was honoured that Travis asked me to be an early reviewer of the book, but it shows that you can be a polymath in more than one community.

Travis' success (I know you will read this Travis, don't be modest about what you've done) has gotten me to start considering my own path. I joke that my career path is pushing me towards "Jack of all trades, speaker of none" (owing to my current streak of not being accepted to speaking at the major PHP conferences) but it is a path that a lot of people need to consider. Being a well-rounded developer is great for whomever is signing my paycheques, it's not so great if you are constantly seeking attention for your accomplishments. Despite what some people might think, ego gratification is not the things that drives me. It's the quest to learn more things. The quest to expand the skills so that when someone asks you to do something you can say "I know exactly how to do that" and also knowing "I don't know how to do that, but I know where I can find out."

Once you expand the horizons, blogs become all that more important. Where else can I found out what BDD tools are available in Python? How are people doing deployment these days in Ruby? What tools exist for converting a document written in Docbook into ePub and Mobi? If I only stay within the Garden of the Elephpant I miss out on so many other things. I want to write a non-trivial Django application. I want to find a problem for which concurrency is the solution. I want to learn how to read white papers on things like Dynamo and figure out how to implement those ideas in a programming language. I joke with my wife that I'll never retire because there is just too much to learn, too much to know, and that furnace that burns in my belly to accumulate knowledge never stops needing to be stuffed full of fuel.

So I wish to raise a virtual toast to the polymaths and that budding polymaths like me. It is because of people like them I am able to fill my mind with all sorts of interesting information and encourage me to look outside the warm, comfy confines of the programming community I have been a part of since 1998. Don't be just a PHP developer. Become a DEVELOPER.