So, let's explore why web designers are like ogres.
Firstly, let's see why we say that websites are like events, with layers, in the first place – since this is the whole raison d'etre of my argument.
Websites have an outer layer.
This is the graphical look and feel of the site. In order to create this your common, or garden, website ogre needs to have an artist's eye and a designer's skill with tools such as Photoshop or Fireworks. The graphic web designer needs to have insight into the latest web design styles, such as can be found here. He needs to be able to wield shadows and shadows and meld them into Web 2.0 flavored onion soup. Preferably soup not made with eyesballs.
The second layer of a website is the structure
The structure could be determined through some method such as functional decomposition, where the web designer might start with the main function (home page) and break the site into manageable sub sections so that it ends up with a clear idea of the scope of the site as well as the internal structure. So here your web designer needs to have some knowledge of basic Software Engineering principles. But even more than that, once the main functions of the site have been designed, the functions need to be married to the graphical design in such a way that the system is usable. A knowledge of the principles of good web design and usability (ala Nielson – http://www.useit.com/alertbox/20030825.html ), and a familiarity with the site http://www.webpagesthatsuck.com/ to learn how to avoid making mistakes such as 'mystery meat navigation', is essential.
The third layer of a website is the dynamic and interactive elements
Frontpage and Photoshop can only bring you so far. Your website ogre might find that he simply has to go and kill a couple of nerdy programmers to steal their reference manuals: PHP and MySQL for Dynamic websites, AJAX and PHP – Building responsive Web Applications. And he'd better know that Ruby on Rails is not a gem on a train track.
Then we get to the content.
The website needs to be filled with good, quality content. Sometimes you are lucky and your client gives you good content. Other times, you'd better start rewriting the techno-speak and corporate waffle and ask your client gently if he can state five benefits of their services. So, a good knowledge of copywriting and a command over the English language will not come in amiss.
So, we have the layers that make a website. The core, though, is the marketing strategy.
We all know that it is not just a case of 'build it and they will come'. The website needs to be marketed and it can only be marketed if the underwriting SEO principles have been kept in mind right from the start – in other words, links are easily followed by humans as well as search engines, all pages have meaningful titles, keywords are nicely worked into the content of the pages. Apart from that, someone needs to take the marketing budget allocated to the website (all websites have a marketing budget, right?) And use that marketing budget to get the best ROI for the site – decide on the best Internet Marketing strategies for building links and traffic and then go forth and execute (the strategy, that is).
Now, my question is: Is it fair to expect one person to have all these skills?
Years ago when I studied 'Computer Science' there was basically one job title to aspire and that was 'Systems Analyst'. If you worked for a really big corporate they might have distinguished between System Analyst and Programmer. (And there was also a skilled called 'Punch Operator', which strangely enough, has disappeared since today we are all supposed to do our own punching …) And yes, I suppose the 'System Analyst' of that time was supposedly to do everything – analyze, build, test, deliver and support the system.
But … tempers fuggit …. 'That was then, this is now.'
Today, there are myriad career paths available for the aspiring math's whiz-kid who sits down for an aptitude test. Anything from Business Analyst to Test Manager to Network Administrator to IT Technician ….
And BTW, if you are a COBOL programmer, you are a COBOL programmer. You know COBOL; that is what you do. Nobody would expect you to sort out the DNS entries for the company server.
But the same specialization does not seem to have filtered through to the web development arena. I saw a job description just today for a 'web developer' who is supposed to have the following skills: Photoshop, Fireworks, Flash, Swish, .net, C #, MSAccess, SQL design experience, ASP, VB, .net, DHTML, ASP, XML, CSS, Java script and VB script. And this poor sod is also provided to maintain networks and troubleshoot Windows servers. And wait for it – this paragon of a website ogre will be paid what practicates a minimum wage in the IT world. And this is in the corporate world, where they should really know better and where they can actually afford to appoint specialists.
If you are a freelancer working for yourself, you'll be sure that you are well versed in all the skills that go into building the layers of a website … or you'd better start working on a plan to build strategic partnerships with other specialist freelancers. This will allow yourself some freedom to specialize, as well as offer the opportunity to others to do the same.