Saturday, October 29, 2011

Teaching Perl

Any Perl book, like Modern Perl mentions how Perl is like English.

Perl is written by Larry Wall a linguist, and most people who are good at Perl are good at languages.

The principle of TMTOWTDI is also another way of saying that everyone writes and speaks Perl and English in their own way, and you can't force people to stick to a certain style.

This suggests that Perl should be taught the way English is taught, and not the way Java is taught.

I also believe that this is Perl's USP, and any improvements or changes in Perl should make it even more like English, and not necessarily like Smalltalk, lisp or any other programming language.

Friday, August 12, 2011

How to be successful

If you want to be successful, you need three things -
  • Knowledge - what you learn
  • Hard work - how you gain knowledge
  • Competence - how well you apply your knowledge
This was said by Professor M S Kamath, from KREC, Surathkal in 1999, when Oscar asked him how to be successful in life.

Thought for the day

Did you try hard enough, Nitish?

Saturday, July 16, 2011

Problem Solving

If something was working and you did something and it stopped working, whatever you just did is what caused the problem.

It doesn't matter if what you did seems to be completely unrelated to the problem.

Monday, April 18, 2011

Processes in software service companies

There are companies which create software products. And there are companies that provide software services. And if you notice, the software services companies follow a lot more processes than product companies. These processes are not free, and clients end up paying for them.

But are they worth it?

And why are there extra processes in the first place?

When you are working on many different projects, things do go wrong at times. Supposing things do go wrong and the services company is not able to keep up its end of the contract, what does the client do? They refuse to pay.

You are a company with a software division and they have been doing a good job of it for a while. The team has a set of processes in place and they work well. Then, you decide to save costs and outsource to this big software services company, and suddenly the new team follows a million extra processes that you know you don't need.

So, why are you stuck with processes that you don't want?

No one likes to work and not be paid. All the extra processes that you are forced to follow, are for one reason only. So that they can say, "It's not our fault".

But then again, if you are working for a services company, and are in a position to say "It's not our fault", please don't. Remember that if its not your fault, its your clients. And no one likes to be told that its their fault either!

Friday, April 15, 2011

Bangalore's beggars

Lets see what skills beggars at Bangalore's traffic signals have -

  • They know how to identify potential clients.
  • They get as much as possible from each client.
  • They are very persistent with each client.
  • They know when a client says no at first, but will pay on pestering them for longer.
  • They follow through until the clients actually pay up.
  • Once they realize that a client won't pay, they accept it, stop wasting time and quickly move on.

Of course there must be other advantages such as low salaries, and willingness to work long hours in the sun.

I wonder if any NGO or company is looking at getting them proper jobs...

Thursday, April 14, 2011

Building a client relationship

If you want a good relationship with your client, you first need to earn their respect. Of course, you need to respect them too.

You can not expect the client to respect you for the companies you have worked for, the company you now work for, how much experience you have or how well you know someone who knows your client.

You need to earn your clients respect by accomplishing something on that job.

It is the same when you are building relationships with your managers, your colleagues, your suppliers or your team members.