- Develop for a specific browser (rather than by the standards):
When most beginning web developers start out they typically use the browser that’s most commonly on their desktop: Microsoft Internet Explorer. I know that I’ll take some heat for saying this but there’s nothing fundamentally wrong about Internet Explorer, it’s just another browser among many. The mistake that’s made is coding for one browser, and not testing on, or taking into consideration, other browsers. It’s a sad fact that different web browsers render web pages differently, but that’s the web world that we live in.
- Use tables for layout: Repeat after me “tables are to be used to markup tabular data, and not to layout a web page.” Gone are the days when even the best of us used tables within tables within tables to layout a page. It was wrong then and it’s wrong now.
- Use technology for technology’s sake: We all love to play with the latest and greatest thing, let’s just face facts on that. However, saying that your database should run Oracle, your video should be run through Silverlight, Flash is the only way to achieve animation, etc. is just stupid. You don’t use a hammer to drive in screws, you don’t use pliers on a nut, you don’t use a solar regulator with a wind turbine, etc., that’s just stupid. Do your due diligence and find out what the right tool for the job is.
- Forget about your viewer-base: These are the people that actually use your website. These are the people that dictate what your website is, what it does, what it should look like, how fast it should load, and what technologies you should use. Stop and read that again. It doesn’t matter what you think, what your boss thinks, what the graphics department thinks, or even what the CEO of the company thinks. Your audience is the only opinion that should matter. Anyone who says differently is probably too egotistical to listen to reason. You might have to do the wrong thing just to keep your job, but make sure you note somewhere that your demographics showed that it should be done a different way, so that when the “other” way doesn’t live up to expectations you’ve got a pre-canned “told ya so” to craft what you plan on doing to fix it.
- Forget about Search Engine Optimization: Anyone who says search engine optimization doesn’t matter is living in denial. It used to be that people didn’t know who you were until you did a lot of advertising. Advertising is expensive. Nowadays anyone can write a web page and be found on Google, Yahoo, or whatever Microsoft is calling their search engine today. If you don’t care about the zillion people that use search engines every day you’re probably better off printing out as a brochure and mailing it to them rather than putting it up on the web. Then your website would just be a form that people fill out so you can mail them the brochure, hey, problem solved! 😉
- Fail to markup with comments: There are two types of comments, client-side and server-side. Client-side comments help you tell the community who you are, how, and why you did something the way you did it. It’s the nice thing to do. Server-side comments are those that you never intend your audience to read (even if they have to dig for them). These comments are there to help you know how and why you did something in the code (maybe even what something does in plain English so you don’t have to decompile it in your head). These comments are also there to document your work so other team members can leverage stuff that you’ve already done so they don’t have to re-invent the wheel. These comments are also there for the guy that has to come in behind you and try and make sense of your monkey-at-the-typewriter code that you pounded out in three days while hopped up on Rockstar and Redbull and two hours of sleep.
There are your seven deadly sins. Learn them well. Now, go repent and sin no more.