Development
I’m a LAMP developer operating out of Saint Louis, MO. I work with clients all over the country. You’ll find that geographic co-location isn’t a prerequisite to get quality work accomplished. However if your in the area a face to face meeting is always helpful. I’m an open source junkie. Here are some of the tools and approaches that I use to get stuff done and keep costs under control long term.
Valid Markup and CSS
I’m one of those guys. My work starts and ends with valid semantic markup. Currently I use a CSS framework called Blueprint. Blueprint allows me to work quickly and require very little (if any) browser specific hacks to get a consistent display across the 5 major browsers.
Cross Browser Compatibility
Like all developers I loathe Internet Explorer. I do however realize that a majority of your visitors will probably be using IE. I take great effort ensure my sites work in all browsers. I do however take exception to Internet Explorer 6 (IE6). I’ll make sure the site doesn’t explode with IE6 but at this point its too costly for you, the client to target this ancient browser. There is a reason why major applications are no longer supporting IE6.
Version Control
Life without version control is just silly to me. I use Subversion and host my code repositories with Beanstalk. I’ve been looking for an excuse to get to know GIT but haven’t had the chance to work with it yet. Version control helps nail down bugs and provides a safety net that no serious project should go without.
Development Environment
Speaking of serious projects. Developing off a live server is equally if not more silly than life without version control. Minimally your web application needs to have a developing environment and production environment. Usually I develop locally and use Subversion to move changes to a testing environment where the client can sign off on the work. Only then does it get pushed live.
Object Oriented Programming
I use OOP and MVC (Model, View, Controller) frameworks to build your applications. There is a time and place for good old procedural programming but its the exception and not the rule. I also employ unit testing when it applies. I’m comfortable with most of the current popular frameworks but lately I’ve been infatuated with Kohana which is a fork from CodeIgnitor. Using a open source documented framework will ensure that any additional developers can ramp up quickly.
Linux
The L in LAMP. Yep, I’m also one of those guys. I do my work with Ubuntu and generally deploy to a Centos server. Micro$oft products annoy me but I do run virtual instances of windows for browser testing. I’m command line enthusiast which always comes in handy for heaving lifting on dedicated or VPS servers. Who needs a graphical environment anyway?
Apache
The A in LAMP. While most of the time I let the heroes at Liquid Web handle my system administration sometimes you need to get your hands dirty. Having a strong working knowledge of apache really helps when working with the data centers to address performance, security and any other hiccups that will occur.
Ajax and jQuery
Ajax makes web applications sexy, and everyone loves that. While I think you can go overboard with asynchronous requests every project that I work on will have the latest version of jQuery.
Project Management
Communication is key. You need to know where I’m at in the process and I will need things from you. Sometimes you just need to talk it over and skip the email but you always need to know where you’ve been, where your going and what it will take to get there (kinda like life huh). I use Basecamp as a tool to get us to our destination. While you may not be concerned with every detail, it will be there for you to look at.
Project management is no joke. Success or failure is made here.
The Short List
Normally this is the part where the developer lists every php library, javascript, database access layer and open source project ever used. Lists that really only another developer will understand. Here’s what I think is important.
- Custom eccomerce solutions
- PayPal integration
- Amazon S3 integration
- Wordpress Development
- RESTful web services ( XML, JSON, etc )