Monday, January 29, 2007

A Programmer Imperative

It is too easy to hype anything on the Internet. When I started career in this field I believed that information on web is very useful, but today as I see it, has become truly unreliable. These days, it's inevitable to assert the authenticity of any information. Viral marketing propaganda is common on internet as it is the easiest way to spread anything across globe, for many it is a "beautiful" business model to generate wealth.

I usually find people around me, ignorant of these hyped information, believing and expressing everything they find on web - which is mostly *not correct* or simply hyped up. It is easier to influence good number of people about "shared interest and biased views" which then drives a trend in community.

Take for example the hyped candidates: Web2.0, Agile, Ajax, Ruby etc. They are certainly not bad but are perceived in inexact ways (defeating the purpose);I find half of the people talking about these topics without understanding it or interpreting it to suit "their understanding". They are neither well read about it (articles are insufficient), nor do they understand it well.

Some people around me talk about agile methods and extreme programming, some try to criticize it ("Extreme Programming is one more excuse.."). Never in their life they've developed a software piece, even if they did, they did it in their own special and not so inspirational way, how can we give statement so allegedly? Some rolling stones perceive Web2.0 as sites with Dynamic Html effects with Ajax, they don't care why web2.0 and what exactly it is.

Fresh graduates are fallaciously evangelized to use specific technology/methodology, these masses are like blank slates, intemperately impressed by a good "English" speaker, They start believing without knowing the practical benefits and trade-offs of it. These hypes draw biased pictures in fresh brains which results in poor idea propagation, bad generation and software career scars.

It is always easy to observe a problem than to solve it. IMHO, The least we could do is to ask ourselves some basic questions like,

  • Do we really understand what we are talking/expressing about?
  • Do we need to be jack of all trades? should we learn every new stuff?
  • Should we pass on or express anything we don't even understand completely?
  • Can we question 'why' rather than following blindly?
  • Can we not do good without convoluting the information?

Motivate, not manipulate, to lead.


Shefali K. said...

True, when you talk about the internet hype. But, is there any way to contain the hype? I do not know.

For a fresher and a self-learner it is difficult to differentiate between a hyped practice and a real practice as hype disguises to look real.

I wonder what you have to tell these people other than mere self-questions.

Nirav Thaker said...

But, is there any way to contain the hype? I do ...

I hope you mean is there anyway to control the hype.

Agreed that being fresher mostly isn't an excuse (I don't think fresher really knows s/he's fresher, and those who know, they are fooling themselves), all I can think of suggesting is to imbibe pragmatic practices in academics. This way academics will produce fewer freshers.

I wonder what you have to tell these people other than mere self-questions.

These "mere self questions" are sufficient to make people conscious before they think of doing what they should not. Consciousness is all we require, IMHO.

Sriram Narayanan said...

It is indeed true that lots of people, especially freshers, get swayed by buzzword-compliant self-proclaimed experts.

I use the following filters to decide whether something is just a buzzword or not:
1. How useful is this in the real world ?
2. How will it change what we're doing at present ?

For e.g., when describing the GWT, I'd say "GWT takes away the pain of cross browser XSL/XML, Javascript". Rather than just state "GWT is a cool AJAX toolkit !".

Or "The GWT lets you design desktop -style applications that run within the web browser. You Java business object code can reside in the browser in Javascript form, and you can use these as models to your views." as opposed to "GWT changes the way you think about AJAX!"

When deciding whether a person just using buzzwords or not, I see if that person is backing his claims with working code.

Nirav Thaker said...

Well said Sriram,

Yet, I think code can't always be the yardstick for judging the misconception. Take for example, When I say 'Agile' there are so many things are attached to it, and this term being so common and hyped up on internet. In fact, some of my friends have misinterpreted and swung with a hyped thing called Agile Computing.

Its kind of vicious marketing.