Ashraf Vali

Like Me? Follow Me.

Ogres Developers (intrepidus defensor) are like onions.  Yes, they have layers... On the surface they appear to be strange, skeletal creatures with curious habits, such as frequent pounding of the desk, waving of arms in the air as if to celebrate a magnificent victory, mass consumption of caffeine and sugary snacks and hunching over the desk hammering the keyboard more vigorously than the Mad Hatter doing futterwacken.  However, beneath this peculiar exterior shell, there’s plenty of brain-cogs churning away furiously to generate the thought processes and procedures that go into creating fantastic web applications, although the evidence of which might not appear so obvious as the work done by SEO Consultants, Web Designers and Copywriters (but far more obvious than Business Directors!).  This blog post discusses what a developer actually goes through to deliver a complete website.

shrek.jpg
A web developer, yesterday.

Specification

The development process begins with the developer sitting down with a client to discuss their exact requirements.  It involves going from a simple statement to a thorough breakdown of each and every little feature that the website should have.  Whilst this may seem like overkill, it has been proven time and time again that a clear specification will lead to a better product (in the hands of a capable developer of course).

An example of such breakdown would be a client saying “the website needs user accounts”, whereas what they’re actually trying to say is, “I need...

  1. A public registration form allowing visitors to register an account.  This form should contain the following fields: name, email address, password and address.  The address can be optional.
  2. Upon successful registration the user should be sent an email containing message X along with a URL to the login page (detailed in step 4)
  3. A login form should be displayed on a dedicated page, along with a smaller version displayed on all other pages of the website.  Successful logins should redirect to the users own profile page

...etc”

With a well thought out and structured specification, the developer won’t be asking questions such as “will users be able to register themselves, or will accounts be created via the admin?” and “what information should be collected during registration?”, or in some cases guessing what a client means!

Design

Although the website design is completed by a web designer, this process actually involves the designer working closely with developers to determine whether certain visual aspects of the site are achievable using HTML and CSS. This is quite often done by finding better ways of achieving a desired effect by investigating and discovering new JavaScript plugins which look great and provide a better user experience.  For example, instead of a long list of large images, a developer could suggest using a small row of thumbnail images where clicking a thumbnail would open the larger version in a neat looking popup (lightbox).

Search Engine Optimisation

A developer should sit down with an SEO consultant to discuss how to best optimise the website for search engine performance.  This includes taking the following things into consideration:

  1. What will be the main heading (h1) tag on a page?
  2. Where will the meta description and keywords be generated from?
  3. Is there a certain URL structure to be use for friendlier URLs?

Choosing a platform

Prior to getting stuck into the code, a developer needs to determine the best way to implement the specification.  By platforms, it could mean using a readily available web script which already covers all the features discussed in the spec, for example for a blog, Wordpress could be used, or ModX for a CMS, or Prestashop for an e-commerce website.  If nothing suitable can be found, then the developer may decide to write the application from scratch, or perhaps modify an existing script that already offers similar or partial functionality and adding/modifying the areas where it’s lacking.

Implementation

Once the platform is chosen, the developer can do the coding of the website.  The implementation stage consists of two main stages:

1.  Back End Development.

This is usually done using a dynamic programming language such as PHP or ASP.NET.  Backend development, as the name suggests, is the part of the functionality which actually happens behind the scenes.  This usually involves interaction with a database such as checking to see if the credentials entered on a login form are valid, or loading the correct content and page title for a blog post based on the URL in the visitors address bar.

2. Front End Development.

Frontend development is converting the design from a flat image into a functional web page.  This involves a mixture of HTML (structure), CSS (styling) and JavaScript (interactive features).

Testing

Firstly, a developer will go through and ensure that all the requirements discussing in the spec have been completed and work as expected.

Next comes the stage of expected the unexpected and dealing with it accordingly.  This involves things like:

  • What to do if a requested blog post doesn’t exist anymore?
  • What happens if someone who’s already logged in goes to the login page?
  • What to do if the database server is unavailable?

There’s cross-browser testing which is going through the various popular web browsers such as Firefox, Chrome and Internet Explorer and making sure the site looks consistent across all the browsers.

User Acceptance Testing

When the developer is finally satisfied with the testing, the move on to setting the site up on a private demo site and asking a select group of testers to try using the website and obtaining feedback from to find out where it can be improved  in terms of user-friendliness.

Going Live

Once work on the website is complete the developer will setup the website onto the live server to make it publicly available.  This isn’t a simple matter of flipping a switch, but a very long process of going through a series of checks to ensure that it works as it did on the test site, and ensuring that it’s configured correctly to be safe and secure from any malicious activity.

Conclusion

As you can see there’s a lot more to web development than being a sugar junkie, or even just a “code monkey”.  Coding is a very small subset of the duties of a developer although it’s a common misconception that a developer spends all his time doing Implementation.  A developer needs to be sociable enough to work closely with a range of people including clients, designers and SEO consultants.  They need to possess a wide range of knowledge from the available web scripts, JavaScript libraries and development tools, to an understanding of SEO, design and development.  They need to be capable of coding in a variety of languages such as PHP, HTML. CSS, SQL and Javascript – bearing in mind that learning a programming language can be considered just as difficult as learning any other foreign language.   They need to stay on top of the latest available tools and plugins to make sure they’re not falling behind in a field that is constantly changing.

When an individual’s capable of doing so much (and often more), a slightly quirky personality and a mild sugar addiction certainly deserves to be overlooked.  So next time you walk into a developer, don’t think “what a freak”, think "wow, still waters run deep - there's more to him than I thought"!

Discussion

Posted by Rick on
I like it! I want to thankyou for making me feel human for a brief moment. Is this how 'normal' people feel all the time?

Good work dude!

Intrepidus defensor FTW!
Posted by Phil on
Popped ya blog cherry at last! Congrats
Leave a Reply



(Your email will not be publicly displayed.)



Read Next Blog Post

Close