Wednesday, October 22, 2008

Summary of skills needed to produce a good web site

I have been giving some thought as to what a designer/developer needs to know in order to produce a good web site. Here is a summary of my thoughts.

PS: You are welcome to comment on this.

A. Static Content Site
(Often referred to as a Brochure or an HTML site.)
  1. HTML/XHTML
  2. CSS
  3. Graphics manipulation and conversion
  4. Graphics creation
  5. Layout design
  6. Writing for the Web utilizing keywords
  7. SEO factors (make/keep pages search engine friendly)
  8. Web site marketing (includes social networking and how to convert visitors to the web site)
  9. JavaScript
  10. Web hosting fundamentals and related Internet and environmental factors
  11. Optional: XML
  12. Optional: Flash
  13. Optional: Silverlight
  14. Imagination and bright ideas
  15. Web authoring tool (Expression Web, Dreamweaver, etc.)

B. Dynamic Content Site
(Often, incorrectly, referred to as database site. Also referred to as an ASP or PHP site amongst other names.)

  1. All of the above skills listed in Static Content Site, especially points 1, 2, 3, 10 and 11
  2. Excellent programming ability
  3. Logic (being able to work out the logical flow and sequence of events and things)
  4. Understanding data and the relationships between data and types of data
  5. Understanding the Web environment very well (e.g. the web programming is stateless – storage wiped out for each client – server – client round trip)
  6. Know and understand the web platform technology (e.g. ASP.NET or PHP)
  7. Know at least one programming language that can be used in the environment chosen (in ASP.NET choices are C#, VB and others)
  8. Know Object Oriented Programming (OOP)
  9. Optional but key: Know the appropriate IDE (Integrated Development Environment – in ASP.NET it is Visual Studio or Visual Web Developer)
  10. Fundamentals of databases
  11. SQL (Structured Query Language) and T-SQL if using SQL Server or equivalent
  12. Database table design
  13. XML and at least four related technologies like XSLT, DTDs, XPath, Schemas
  14. Research ability
  15. Advanced: Security issues and how to handle them
  16. Advanced: Any feature that could be left out but would make for better performance, maintenance and stability
  17. Regular Expressions
  18. Project planning and management
Quite a list of diverse skills.

In some large companies specialists are employed to deal with specific skills. But, I know quite a few ASP.NET developers who know the whole gamut of skills presented here.

No comments: