Top 5 Things to Avoid when Choosing a Web Developer

How to get a site that properly belongs on the 21st century.

posted on Dec 08th

Don't you hate it when bad things happen to good people? Do you also hate it when puppies are punted by mean people? Me too. The only thing worse for me, is seeing good people pay good money for a website that belongs in the 1990's. PEOPLE - expensive sites do NOT mean quality - they just mean experience. Don't get me wrong, experience is still king. The question is, does your developer still live in the 1990's, or has he / she grown up with the rest of us?

Without further ado, the top 5 things to avoid when choosing a web developer.

  1. Table Layouts

    Did you know, each time a good person hires a web developer that uses table formatting, an angel loses its wings. Please, do not be that good person.

    Table layouts are a dinosaur of the 1990's that assisted web developers in the layout of web pages before other tools were available. They make ugly, complicated, code which results in a site that downloads slowly, and is updated with great difficulty. It's noones fault, back in the prehistoric age of the internet, we didn't have any other tools. I don't think these developers are evil, they're just prehistoric dinosaurs.

    Today, nearly ALL developers *amp; designers use something called table-less layout, which emphasizes how much we hate table layouts. Instead of code that looks like this:

    Table layout: <table width="100%" valign="top" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%"> <tr> <td>My website title</td> </tr> </table> </td> </tr> <tr> <td> <table width="100%"> <tr> <td width="30%"> My side navigation </td> <td width="70%"> My main content </td> </tr> </table> </td> </tr> <tr> <td> <tr> <table> <tr> <td>My footer</td> </tr> </table> </tr> </td> </tr> </table>

    You get beautiful code that looks like this:

    <div id="wrapper"> <div id="header">My website title</div> <div id="nav">My side navigation</div> <div id="content">My main content</div> <div id="footer">My footer</div> </div>

    What a difference! I found myself forgetting where I was even while writing just that simple table layout.

    Now, one more word. Tables themselves are not evil. It's using tables to establish your page layout which is evil. If, inside the content of your page, you want to display some tabular data, then by all means use a table! That's exactly what they were intended for!

    How to avoid this sin:

    Look at some of the sites the developer has already built. View the html source by right-clicking and pressing "view source" or something like that (varies by browser). If the code is filled with a lot of this of td, tr and table tags (see above), then it is most likely a table layout. If there are lot's of div tags, especially with id="somevalue&qout; attributes inside of them like above, then you're in good shape.

  2. MVC Frameworks

    Ok, this is a complicated little guy. MVC Frameworks are basically a toolbox that we developers use to make better and faster code. Basically, if you're not programming with one, then most likely you're a dinosaur. Not only can a developer write code about 100 times faster, but it will be equally easy to update into the future. Often, these "tools" are being constantly crafted and updated by an entire community of developers. This means that behind your developer, you really have countless others. If your developer doesn't use a framework, it's just you and him/her, alone in the desert.

    How to avoid this sin:

    This is a little harder, since you can't just look at your developers code. Most easily, you might ask him / her what, if any, framework they're using. There are really no right or wrong answers, except for something like "well, we really don't use any" or "we kind of have an internal system". Don't get me wrong, internal framework can be great to, but if you "kind of" have one, then you probably don't have anything worth anything.

    Also, you again look at the developers previous web pages. A common feature of frameworks is for the url (e.g. http://thatsquality.com/show-all-the-articles-by-section) to never end with an extension. By that I mean that the url will never end with a "filename.php", "filename.html" or any other extension. In my example above, the url simply ends in "show-all-the-articles-by-section". It may also just end with a trailing "/". This is by no means a rule, just a generality. I have some sites, built with frameworks, that I purposely make end in a ".php" for backwards compatibility. You can't be entirely sure unless you ask.

    And in case you were wonder, I DO program in a MVC framework.

  3. Windows Programming

    Quick Note: The same web site can be programmed in any language - a programming language, by itself, has no bearings on the final product

    I used Windows for years and years and I HATE it. I now use and program everything in Linux, and I'm happier, healthier, and most importantly, richer. I don't want to start a fight, so I'll first say that there's nothing wrong with Windows programming (I feel kind dirty now). But, if you hire a programmer who programs in a windows language, you WILL pay more. Hand down, anything involving windows is more expensive. And, in this programmers opinion, much worse.

    Think about it, for us Linux guys - and we're not a quiet minority, but rather a majority in the web programming world - we get everything for free. The operating system on our laptops is free, all of our development tools are free, as is any other software that we could ever dream of using. Anybody with a computer could pick up and start programming in Linux today, without spending a nickel.

    Windows programmers, on the other hand, have a lot of overhead. They pay for all the software they use, and must pay big licensing fees for any software that you'll need to run your new website. Now, these guys are by no means idiots. The only companies out there that can afford to use Windows have, by definition, too much money for their own good. This a perfect place for many programmers - incur some overhead, but get paid handsomely by rich companies. It's not my cup of tea (although I do like money), but it works for many people.

    Thus, if your developer uses windows - run! Even if he / she doesn't charge much, if your ever need to change developers, chances are that your next developer will. Keep in mind that your developer can program in any language - your web site user never knows the difference. The argument between which languages are best is heated. All I'm saying is that windows is more expensive.

    How to avoid this sin:

    Again, ask your developer in what "language" he / she programs. If the answer is ASP or ASP.net, run. If it's anything else, PHP, JAVA, Python, Perl ..., then stay. If any of their previous sites have .asp or .aspx extensions when using them - that's ASP/ASP.net. You know what to do.

  4. Responsiveness

    Does your web developer respond quickly? This is a HUGE deal. I've hear countless stories of people conducting business with a developer, only to have them basically disappear after completing (or even in the middle of) a project. Look, this web stuff is complicated, you'll undoubtedly have questions and want modifications. Furthermore, you wouldn't believe how non-responsive some developers can be. If your developer disappears, you're going to be high and dry. Make sure this doesn't happen.

    How to avoid this sin:

    Take your future web developer for a test drive. Ask questions, suggest possible modifications. How quickly and completely does he / she respond? Does your developer ask questions and suggest new ideas (this conveys involvement)? Basically, is your developer consistent? You don't want a flake - many developers are just that.

  5. The Do-Everything and Do-Nothing Developers

    When suggesting what you want for your site, a seasoned web developer will tend to know exactly when to tell you "yes" and when to tell you "no". Look, some of your ideas just won't be feasible, or worse yet, will be just plain bad ideas. Good developers should be able to pick these things out and tell you no. On the flip side, a good developer should be able to do just about anything. In other words, if you're hearing "no" too much, you're either working with a bad developer, or one who wants to fit you into too tight of a comfort box for their system.

    Thus, be aware of the Do-Everything or Do-Nothing developers. The first group is probably better and I remember my stage as that type of a developer. While a Do-Everything developer will probably figure out a way to do anything you want, it probably also means that you're losing out on their professional opinion. You wouldn't want a doctor that performs every procedure you request (even if he/she is good). Part of what you pay for is the professional advice (saying no to a bad idea).

    On the flip side are the Do-Nothing developers. These guys will crush your big ideas so that they can fit you into the system in which they are accustomed to programming. Now, we all have to be realists in some sense - not every site can be the best site ever, built completely from scratch. But remember, this is your site - you're the boss, not your developer. Just remember who's paying who.

    How to avoid this sin:

    When talking over the plan for your website with a developer, make sure he/she has critical suggestions and isn't afraid to modify your ideas to work better on the web. On the other hand, make sure that the important aspects of your plan don't get ignored by your potential developer.