Four months ago, I joined HowAboutWe as Lead WordPress Developer. Previously, I was working in the commercial theme/plugin space at WooThemes.
[twocol_one]In the commercial space, the main concerns to me are:
- Ease of use
- Avoiding plugin conflicts and making sure any styles can easily be overridden
- Be compatible with the greatest number of possible setups (PHP versions, server setups, caching, browsers, etc.)
- Providing actions, filters and pluggable functions for easy customization
- Clear documentation and stellar support
Obviously that doesn’t include business oriented items like maximizing profit margins, marketability, etc.
Joining a company to work specifically on their site(s) brings about a different set of challenges, notably speed and scalability. I no longer need to think about the general use case, but only need to worry about our specific use case, lots of cruft and extra function calls can be removed and avoided, for example:
- Since I know what version of PHP we’re on, I can use newer language features such as generators
- Since I know we’re using Memcached, I can reduce function calls by using ‘wp_cache_set()’ instead of the more generic ‘set_transient()’
- With analytics information, I can avoid wasting time supporting older browsers that our viewers don’t frequently use
When I joined HowAboutWe, we were running a WordPress multisite with 3 sites and it was being managed by a team of remote consultants. Since then, I’m a team of one. If I don’t know something, I’ve no choice but to figure it out. Focus has moved from “get it done” to “get it done right” and our multisite install has grown to 4. I’ve gotten to get my hands dirty with:
- Implementing our own Custom Post Formats solution, which I’ve made available as a free plugin.
- Finally getting decent at writing SQL and custom $wpdb queries
- Transient and fragment caching (big props to Jaquith on both of these)
- Building out our ad tools
- Moving our dev environment from MAMP to Varying Vagrant Vagrants
- Getting Grunt set up with SASS/Compass and Uglify
- Migrating Nerve.com from Drupal to WordPress
By far, the biggest changes were to my environment. When I worked remotely, I got to roll out of bed, plop into a chair and start my day, I moved little. Work hours were flexible. When I started at HowAboutWe, I moved back to Brooklyn, I go to an office every day and walk to the subway. That means I’m more active, since I was pretty much a sloth before. I also get to see the people I work with, which is a nice change. Little things like making a cup of coffee and saying hello to a persons face, rather than avatar on Skype, or collaborating around a table rather than through a piece of software make a huge difference on the outlook of the products I work on.
With the experiences of the last few months under my belt, I’m stoked to see what the next hold in store.