Next Post: Of Funny M1 Commercials
Previous Post: Quote: Try a Banana

Many should have known by now that I recently took up the position of a project manager at a local major media company. And I have since been away from actual coding for close to a month. This experience offers me a chance to reflect on the web development experience I had and comparing to the team that is working with me at the moment.

The question is simple, what are the things that you look for in a web developer?

So I pull out the ever trusty Google and the big G returns this: Top 10 traits of a Rockstar Software Engineer.

And to summarise a wonderful read we have the following:

  1. Loves To Code
  2. Gets Things Done
  3. Continuously Refactors Code
  4. Uses Design Patterns
  5. Writes Tests
  6. Leverages Existing Code
  7. Focuses on Usability
  8. Writes Maintainable Code
  9. Can Code in Any Language
  10. Knows Basic Computer Science

Looking at the list, and knowing that web development is a subset of software engineering, the list must apply for web development.

But moving forward, web developers do requires some extra traits that will make them outstanding. And I will more than happy to share my experience on this:

Ability to appreciate the whole infrastructure stack and the capabilities of each component

This is a hard one to explain by I will do my best to define this. In web development, the platform is at the choice of the system architect. In other words, someone will have the choice and have to make a choice of running the application on a linux (which ever distribution also) or windows system, to pick the scripting language and the corresponding framework. And lastly to select whichever persistent storage (database) that talent, time and budget allows.

Given this permutation of infrastructure, a single application can take on many different implmentation. Take for example for a (over) simple page that requires basic authentication. Only one non-business critical page. One might implement a login form with the scripting language of choice while another might just use Htaccess to control the access to the page.

The infrastructure will provide either an elegant solution to certain problem if well utilised, or a less optimal hack should the web developer not appreciate the capabilities of each component.

Understand Web Analytics

Feedback is every important in web applications. And nothing speaks clearer than hard cold data about both user behavior and system behavior.

An eye for metrics and optimization

This trait was very obvious in a colleague who I was very fortunate to work with. He talk in numbers for features. And he will propose a metric for any new feature roll out. This very act helps to streamline features roll out and offers a common understanding among the team what works and what do not.

And the metrics also comes in 2 forms. The business metric and the system metrics. New features may consume more system resources and hence affect the rest of the site. This is system metrics. While business metrics are for example revenue generated, visitor interaction on the new feature etc.

And with metrics comes optimization. Optimization can again come in 2 forms. Optimization of business flow and optimzation of system resources. Business flow will normally encompass the changes in forms, fields to fill in and maybe changes in layout. While optimization of system resources will include changes to the way certain feature are implemented.

A common feature among most sites is a most popular article page. It makes business sense to have sure a feature as it improve user experience. Everyone want to know what is popular on the site. But such a feature may be resource intensive as the counting will take but system resources (database connection for example). So a way to manage this is to have a pseudo most popular article page where the count is to be updated maybe once every 5 minutes instead of every page call.

Appreciate Stupidity

It is the nature of web developer or software engineer to be fiercely intelligent people. And intelligent people, well, tend to not appreciate stupidity. And when it comes to web development, you get all kind of visitors.

Some might misuse your form totally, some might fail to login simple because they had not enabled Javascript and they do not know how to. While others, let me just say they are still on Pentium 3 running windows 95 with IE 3 and trying to log into your shining web 2.0 site.

That sums up the list I have so far. I will add more when it comes to me. Of course, a non-trait of any developer is to have sweaty armpits and jumping around shouting developers, developers, developers, developers,