Friday, October 06, 2006

Of geeks and coders

Today afternoon, I was sitting in my desk, biting my nails, over a long running JBoss-Bpel issue. A few minutes back, my manager pinged me asking for an update on that issue. Suddenly, the new mail jinni came. I went to my inbox, and saw it was a mail by Naveen. Thought of reading it, to overcome my boredom. The mail looks like an article, posted by somebody, copy/pasted. It was very much true, related to the industry where I am get the bread of my life. Though I have seen a few articles of this interest, this one looks a more interesting. Blogging it for my buddies to read.


Recently, I had this discussion around the issue of qualification for a software developer. Indian IT services companies often issue recruitment ads asking for first class engineers from the best colleges in India. Notably the IITs. That was how some of the companies started. Then they climbed down, going to the best non IIT colleges. Then they climbed down and now almost any engineer with a first class can make it through to most companies.

There are many other companies who ask for best in class graduates. Some companies prefer NIIT graduates - who are not engineers, though many of them are engineers too.

Really, what is the level of qualification required to be a software developer? This is a funny question if you ask me, since it is like asking what qualification do you require to be a driver. To be a driver, you need no qualification. If you are an MA or a M Ed, well, good luck to you but that has no bearing on whether you get a driving licence or not. As long you can drive a vehicle well and convince the RTO inspector that you can, you get a licence and you can drive.

To be a coder, is exactly like that. In India many people (and companies) make us believe that you need a science background to learn coding. It is like asking for mechanical engineers when what you really want are drivers.

I have some of my friends as young as 8th standard who have waded knee deep into coding. I know of some who have created small tools and other patches even before they cleared their class Xth exams. I know of accountancy grads who are experts in coding/hacking. One of the guys who studied with me had created his own game - and he was not even a graduate - his dad has passed him a defunct PC which he had made good use of. Qualification - well nothing. Except that they loved doing what they did.

Google Jam is a step in the right direction. I wish service companies in India too tried and picked up geeks this way rather than a traditional formal-tie interview process. These are the geeks who will create more code juice and innovate - they may not follow coding standards though and geeks oten come with their own idiosyncracies - which service industries hate. But Google and Microsoft? They love 'em.

The highly qualified educated coder who gets into the IT service industry today wants to "get out of coding" even as he sets foot in the industry - with the result that the industry is filled with (generally) low technical skills. The industry also "rewards" good coders with management positions with the result that they lose their technical skills and that is often seen as the only way to grow in the firm. (That last part is changing though the hiring is still done the old way.)

One point here is that good educational qualifications (ranging from any graduation to post graduation or an MBA) help in assessing whether a potential employee can create documentation, processes - but thats not the same as coding. What IT service companies do need is a mixture of low to medium end coding skills at the entry level followed by good communication, presentation and documentation skills at the next levels. Honestly, you need neither first class engineers nor first class graduates at the entry level in an IT service company. You do need a high level of presentation skills, negotiation skills, strategic thinking at a managerial level and beyond.

Coming back, coding is a fair bit about self interest, which is about the geek - someone who lives, talks and breathes code - and nobody can teach you to do that (not for code, not for music, not for blogging). This is for those whom computers (or central excise or dance) is a passion.

The other part is around technical training, which is for the NIITs and their ilk to milk. The engineering colleges should really get out of creating newer engineering streams for Information Technology (IT - this thing sells like crazy) and focus on creating engineers not coders.

Make no mistake, the uber technical chaps are highly regarded, paid as much as (if not far better -look at any core tech companies payscales) than uber domain guys and there will always be a continuous demand for technology professionals at all levels. And, once again, it does not matter what qualification you have as long as you have a licence to drive (or code).

1 comment:

saranx@in.com said...

Are you a Central Excise Officer ?