Sunday, March 18, 2007

Unpaid to Learn

I am currently working as a freelance programmer. My employer has this policy that he will not pay me for the time taken for me to learn. This might sound reasonable at first, however, as days into the project, I felt an eerie connection with the programmer who is paid per-line-of-code. I could not rationalise such a connection until now.
Programming is a very vast skill set by nature. No matter how experienced a programmer is, he is bound to face situations where he has no knowledge about. Hence continuous learning is a must and cannot be avoided.
Not being paid for the time to learn means incentive for me to just code and hack my way though the project, rather than learning the proper way to do things. This is not too different from the paid per-line-of-code programmer who writes the following

string[] s = newstring[2];

for (int i = 0; i < 2; ++i)

{

switch (i)

{

case 0:

s[0] = "Hello ";

break;

case 1:

s[1] = "World";

break;

}

}

as opposed to

string[] s = newstring[2] { "Hello ", "World" };

13 versus 1 line.
I believe that people should be paid to learn. This will help bring up the quality of work.