28 Jul 2008, 9:42pm
/dev/random
by chris

34 comments

You’re Doing it Wrong If

As a collective industry we’ve been building web apps for about fifteen years now. In many ways we’ve greatly improved our development processes, our tools, our methodologies and our expectations. Today we whip out Rails apps in days that would have taken months before; single developers are producing entire commercial sites where once a team would’ve been required.

But alas not all is golden in this day and age. Time and time again I come across development practices and code that would not have been out of place in 1995, and that is not a compliment (and incidentally, these practices and code would have been bad then too, we web developers were just too divorced from the comp-sci folks to know it at the time).

Fortunately experience and hindsight can now provide us with rough guidelines against which we might develop our own apps. In the spirit of fifteen years of web development advancement I present to you “You’re Doing it Wrong If”.

You’re doing it wrong if:

  • You’re not building atop an open-source framework
  • You’re writing your own framework upon which to build
  • You’re not using a database abstraction layer
  • You’re writing your own database abstraction layer
  • You believe you can write it faster or better or more efficiently than any available library
  • You have more than one developer on your project and no written coding style guidelines
  • Your bug tracker serves as your functional scope or your development roadmap
  • You aren’t using source control
  • You comment the what but not the why
  • You tend to pass properties instead of instances to functions
  • Your “deployment procedure” involves any combination of FTP and/or drag n’ drop
  • You write code in a manner that cannot be unit tested
  • Your primary method of code reuse is copy/paste
  • You don’t read any development blogs focused on your primary and secondary languages or technologies
  • You haven’t been to a conference or birds-of-a-feather meeting in the past year
  • The only code you read at work is your own
  • You worry that some day someone else will read your code and know it was written by you

and finally

  • You’re doing it wrong if you aren’t learning every day

Only truly terrible places are victims of all of the above, however no one is immune. The more hurried we are, the more stressed we are, the more of a monoculture we work in, the more likely we are to become affected by these ailments.

(It goes without saying that these are general rules of thumb, applying ye olde “90/10″ rule and you, of course, are part of the 10. However for the sake of everyone else I urge you to consider Bruce Schneier’s famous words: “anyone who creates his own security protocol is either a genius or a fool”. The odds are not in your favour).

Update: Changed “ORM” to “database abstraction layer”.