The Golden Middle Path - a blog by Amit K Mathur

Web development is hard

On the Bangalore OCC mailing list which has a fantastic mix of entrepreneurs, consultants, VCs and like, somebody while advising to be careful while hiring web developers commented: “Web development is not… one time development…”. That got me thinking: Web development is still tricky. Yes, we do have our productive frameworks and tried agile methodologies, but there is still something which makes developing a web application inherently hard.

Never, never, never believe any war will be smooth and easy, or that anyone who embarks on the strange voyage can measure the tides and hurricanes he will encounter. — Winston Churchill

Alright, not as difficult as a war may be. But, here are some reasons why I think it is difficult:

  • Developing a web application needs multiple skills: Your web developer would
    need to know HTML/CSS, a server side language and relational databases; Javascript and some
    good library to add AJAX and some zing. Additionally may be,
    Flash/Silverlight. Depending on your application, you may need to do image
    manipulation or some video processing. If you are going to scale, you also
    better build your architecture well add later add caching, tune performance of your
    stack, shard your database or add a nifty nosql database. Aah! It like being
    a multi-handed Hindu goddess.
Of course, you will not find a single engineer who can do all this but a good web developer will know few of these well and have sufficient knowledge of others to know when to bring in more help.
  • It is like gardening: You cannot develop a web application and just leave it
    like that. It needs continuous care to change and adapt to usage patterns,
    server loads and optimize work flows.
  • Security is top priority: In a web application you are effectively putting
    your database online with only the application layer protecting it
    from the big bad internet. Good security is not an add-on, its a
  • You will change it: Like the war quote above says, it is very hard to
    predict what directions you would take once you put an application
    online. Because of the very short feedback loop of what you put, how your
    users react and then how you would adapt, web applications need to be
    nimble. It would be only prudent to develop it in a way so you can change it
    fast enough.

2 Comments Added

Join Discussion
  1. Abhishek Parolkar
    Abhishek Parolkar Nov 17, 2009 at 6:03 AM

    This post reminds me of an interesting article , One should never miss it :-)

    We Web Developers are all “Ops people”...

    I have seen clients not understanding the nature of the web-development projects properly and get into traps again and again.

  2. Paul K
    Paul K Dec 04, 2009 at 12:09 AM

    Great post, Amit.

Post a comment

(Formatting help)