Punjabi By Nature

My Photo

About

Recent Posts

  • History repeats itself
  • Nostalgia isn't what it used to be
  • 3GSM Conference
  • Feb 9, 2006 12:50:00 AM
  • Feb 8, 2006 7:42:20 AM
  • DiBCom - TV on Mobile
  • Shorthand-Aided Rapid Keyboarding
  • MMMOG
  • Some interesting (but old) mobile news..
  • Project vs Product
Subscribe to this blog's feed
Blog powered by TypePad

Categories

  • Books
  • Business
  • Current Affairs
  • Delhi
  • Engineering Excellence
  • Food and Drink
  • Friends
  • India
  • Mobile
  • Programming
  • Travel
  • Web/Tech

February 2006

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        

Recent Comments

  • ronsons on Shorthand-Aided Rapid Keyboarding
  • iphoneapps123 on Dreams without execution are like hallucinations
  • idhyougjdsyhfr on Dreams without execution are like hallucinations
  • VladimirTherequest on Dreams without execution are like hallucinations
  • jardimcamburi on Dreams without execution are like hallucinations
  • Surya Senthil on Good Book Shops
  • mishkamiha on Shorthand-Aided Rapid Keyboarding
  • Aciblionito on Shorthand-Aided Rapid Keyboarding
  • study on Some interesting (but old) mobile news..
  • sopitikoj on Shorthand-Aided Rapid Keyboarding

Archives

  • February 2006
  • January 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005

Programmers of India

Someone posted a mail about Bangalore as a Silicon Valley or Coolie Valley… I couldn’t agree more…In the last few years I have met several programmers (more than the usual ones that I come across in MSDN/Techeds of the world)
They fell in 4 categories

(1) MSDN events
(2) Interview candidates
(3) ISV developers
(4) Embedded/Lifesciences developers working on Open Source

If you notice carefully, this is arranged in ascending order of my assessment of their skills. A lot of people have learnt how to drag ‘n’ drop, earned MCA/GNIIT or you name it degree here and come to the industry. They cram to pass exams. Of the 40 candidates I interviewed I asked them to write a program to reverse a string. Only 1 could write the right program, or even conceptualize it. We have created an army of programmers, who don’t understand why things are done a certain way, but are only interested in how things are done. I don’t blame them either! The real burden for this blame has to go to those companies in Bangalore etc which flip flop them from project to project without letting them acquire domain knowledge, or long term exposure and understanding of the technology.
A programmer who has been in the industry for a few years is quickly made a lead or manager and he loses his core skills of programming and becomes a people’s manager and does not do the work he was somewhat trained for. All compensations and rewards (including Microsoft India) are linked to how high a person is vertically. There is hardly any scope for horizontal growth. Architects are laughable entities in India.
Peter’s Principle: Every man rises to the level of his incompetency in an organization’s hierarchy.

The secondary blame goes to vendors like Microsoft which does not make a lot of effort to improve the quality of the programs being written by its partners. How many eLearning, ERP, CRM solutions do we need ? How good are they ? No wonder, they will get killed when Navision and Great Plains hit the market under MS brand. Because although MS makes a lot of effort in making sure that its developers are world class and so are its products, it has not shared that knowledge with the outside world.

And that is where the developers in the (4) category really impressed me. They may not have the “time to market” advantage that someone on MS platform has but they certainly have a better understanding of the system and how their software interacts with it and their coding is generally speaking a lot better. Yes, maybe when there are as large a number of developers in OSS as in the commercial vendor space, they might suck, but that remains to be seen..

September 30, 2005 in India, Programming | Permalink | Comments (3) | TrackBack (0)

Elements of Programming Style

With apologies to Strunk and White ...

Elements of Programming Style

I have been thinking about writing my own blogging software for a while now, but since that will take some time to come (and will be built on some bleeding edge technologies) I have decided to write blog of mine for the time being at TypePad.

A few days back I gave a presentation on "Elements Of Programming Style"

Why Bother?
•A program is a sort of publication. It is meant to be read by the programmer, another programmer (perhaps yourself a few days, weeks or years later), and lastly a machine.The machine doesn't care how pretty the program is - if the program compiles, the machine's happy - but people do, andthey should.
--Rob Pike

This is a short list of notes from me on what should be the elements of well written programs

Typography
•Consistent Indentation
•Consistent use of braces

Comment the Code
•Prologue
•Epilogue
•Every Logical Block

Functions And Variables
•Names conveys Semantics, not data types
•Names should not be too short, or too long
•Initialize ALL variables to default values

Constants
•Never hardcode constants in the code
•Separate them out in a file or class

Single Return Statement
•Leads to more optimized code
•Avoids subtle bugs
•Easier to maintain code over time

Error Handling
•Use Meaningful Exceptions
•Stick with one type of error handling

Resource Management
•Use garbage collectible (GC) resources
•Finally block to dispose non-GC resources

Refactoring
•Continuously refactor your code
•Small is beautiful … i.e. length of function

September 25, 2005 in Programming | Permalink | Comments (3) | TrackBack (0)