It is a story I reed during my childhood. The story goes like this..
1st half:
There was a king who has passion for horse and horse riders. He used to buy the best horses and hire the best horse riders and pay them competitively. Once he heard about a horse rider named X who is able to ride horse for 2 days without taking any rest and wanted to hire X. The king called the minister and asked to hire X before any other king hires X. The minister was trying to tell something. The king ordered to hire X then talk to the king.
2nd half:
The minister went to the king and said he is able to hire X. King thanked him and asked how is he able to do it. Who is able to do it. The minister said they have another horse rider Y who can ride horse for continuous 3 days without rest and Y is able to catch X. The king wanted to congratulate Y. Minister said Y is no more available as the neighbor king has already hired him. King asked why he did not inform him about Y earlier. Te minister said he wanted to. But king was not ready to listen. And ordered to talk to him only after hiring X successfully. Minister did everything to hire X reluctantly.
Resemblance with current It Industry:
Many It industries are looking for the talents available outside and compete to pay them to hire them. They get paid whatever they have asked for. Mostly the outsiders are paid higher than equivalent and better people inside. The result is the better people inside are forced to quit. Is it a unknown problem to the management? I don't think so. Is it like management does not want to fix it? I have no clue. Your suggestions are welcome.
Saturday, 19 December 2009
Wednesday, 16 December 2009
Shewag better than Viv? You must be kidding.
I am a cricket fan. I am a fan of Shewag. He is definitely one of the best player to watch to. He is nightmare to the opposition bowler. Cricket pundits predict the match if Shewag plays or does not play well. He deserves all the respects. But is he better than Viv Richards?
A bit too much to ask for. Viv will storm into any all time best test or one day cricket team. Shewag will not be one of them. Viv is both an attacking player with sound technique where as Shewag bats well with eye hand coordination. Viv has played at a time when scoring rates are lower (compare batsman of those era) where as Shewag played when scoring rates are higher. Though the scoring rate of Shewag is better than that of Richards, if we look at relative scoring rate Richards is way ahead of Shewag. Shewag is not able to change his gear and play longer and slower innings when required.
So Viv is a far better player and belongs to the all time great cricketer, where as Shewag belongs to great cricketer of this generation.
A bit too much to ask for. Viv will storm into any all time best test or one day cricket team. Shewag will not be one of them. Viv is both an attacking player with sound technique where as Shewag bats well with eye hand coordination. Viv has played at a time when scoring rates are lower (compare batsman of those era) where as Shewag played when scoring rates are higher. Though the scoring rate of Shewag is better than that of Richards, if we look at relative scoring rate Richards is way ahead of Shewag. Shewag is not able to change his gear and play longer and slower innings when required.
So Viv is a far better player and belongs to the all time great cricketer, where as Shewag belongs to great cricketer of this generation.
Saturday, 5 December 2009
Value of team work
A product is facing performance problem often at production. It is facing memory out of error too often. It has a java component which uses a java-com bridge and a com component which returns some result. The java-com bridge is no more supported and can work only for 32 bits. So RAM size cannot be increased. So it is decided to go away with the com component and java-com bridge and migrate the app to pure java and provide a 64 bit machine. The application is a legacy application and there were no Business Analyst. So the development lead was asked to depict what the com component and java-com bridge does and provide it to a technology evangelist who will do the same thing in pure java. And provide the data using web service. The technology evangelist was asked to consume the data and provide a UI as done by JAVA-COM bridge. It was a challenge for both of them. But both of them rose to occasion. Product developments lead providing the document on time, though documentation is not her core skills. And she defined the interface and both of them started working as per the interface. The development was over in 2 days. Now the application needs to move to QA. And as they are setting up in QA, the application did not work. The reason was product development lead was using JDK 1.4 for her legacy application and the Mr Quick-Fix evangelist is using latest JDK. It worked fine in development environment. But QA environment has older version of java so the newer version of the code provided by Mr Evangelists did not work. Then it comes to a discussion, should we use Java 6 or Java 4? And the discussion moved round and round from prod support to QA to Mr Evangelist. Everybody have their own version of the story, and the testing delayed for no reason. Finally the evangelist got his idea approved by senior management. And the QA did ask for JAVA 6 installations on their machine. After a sweet one week QA is able to test the application. What a waste of an effort. 2 days to develop an app by providing the best resource and 7 days to set up the QA.
By the time the product development lead has to go on a vacation so she asked her team members to fix any problems on her behalf. QA has started testing the application. Earlier any issues raised by QA were sending to the product development team. Now QA does not know whom to send the defect. She thought the component was developed by the evangelist, so send any defect to him. She sent couple of defects to him which should have been fixed by the development team. He was not well for 2 days, so checked mail after 2 days and mailed saying it is not his fault. And development team member said it is not his fault either. So they went to check the document which depicts the behavior of the application. Evangelist was right as per the document, but developer was right in terms of what the old application behaved. So it was actually a mistake in depicting the old behavior. Development lead has done it on and above her regular work. Evangelist has done his part of the work brilliantly, and developer is trying to say what is right, and the product is not delivered on time.
Evangelist agreed to fix the problem and move on and it was moved from QA to UAT almost after 2 weeks. The show is full of couple of individual brilliancy followed by a poor show by the team.
PS: This incident is based on a true incident. Names has been deleted to protect privacy. Some of the events have been to tweaked to make it more interesting
By the time the product development lead has to go on a vacation so she asked her team members to fix any problems on her behalf. QA has started testing the application. Earlier any issues raised by QA were sending to the product development team. Now QA does not know whom to send the defect. She thought the component was developed by the evangelist, so send any defect to him. She sent couple of defects to him which should have been fixed by the development team. He was not well for 2 days, so checked mail after 2 days and mailed saying it is not his fault. And development team member said it is not his fault either. So they went to check the document which depicts the behavior of the application. Evangelist was right as per the document, but developer was right in terms of what the old application behaved. So it was actually a mistake in depicting the old behavior. Development lead has done it on and above her regular work. Evangelist has done his part of the work brilliantly, and developer is trying to say what is right, and the product is not delivered on time.
Evangelist agreed to fix the problem and move on and it was moved from QA to UAT almost after 2 weeks. The show is full of couple of individual brilliancy followed by a poor show by the team.
PS: This incident is based on a true incident. Names has been deleted to protect privacy. Some of the events have been to tweaked to make it more interesting
Labels:
individual brilliancy,
java,
Team work,
web service
Monday, 30 November 2009
A math/programming question
we had a meeting at 3:30 and three of us are waiting for 2 more people to join us. In between we are discussing about an interview question that I asked yesterday. What is the sun of all the 3 digit numbers that is divisible by 7? Sathish answered he can not do it with pen and paper but can do it as a Java program.
int sum = 0;
for(int i=100;i<1000;i++)
if(i % 7 == 0)
sum += i;
print(i)
Anish bettered the answer saying we don't need to do expensive division
and can do it using a while loop
int sum = 0;
int i = 105;
while(i<1000)
{
sum += i;
i += 7;
}
return i;
I don't like for loop and wanted a generic solution where the divisible number can be anything.
I don't want to change the code in case want to add all the 7 digit numbers divisible by 71. Or so on. Sathish's program can be tweaked a little to make it more generic, but that is not what we wanted. I wanted the expensive division operators out. And want to change while loops to for loops.
int getSum(int factor, int lowest, int highest) {
int start = ((lowest-1)/factor)+1)*factor;
int end = (highest/factor)*factor;
int sum = 0;
for(int i=start;i<=end;i+=factor){
sum += i;
}
return i;
}
int sum = 0;
for(int i=100;i<1000;i++)
if(i % 7 == 0)
sum += i;
print(i)
Anish bettered the answer saying we don't need to do expensive division
and can do it using a while loop
int sum = 0;
int i = 105;
while(i<1000)
{
sum += i;
i += 7;
}
return i;
I don't like for loop and wanted a generic solution where the divisible number can be anything.
I don't want to change the code in case want to add all the 7 digit numbers divisible by 71. Or so on. Sathish's program can be tweaked a little to make it more generic, but that is not what we wanted. I wanted the expensive division operators out. And want to change while loops to for loops.
int getSum(int factor, int lowest, int highest) {
int start = ((lowest-1)/factor)+1)*factor;
int end = (highest/factor)*factor;
int sum = 0;
for(int i=start;i<=end;i+=factor){
sum += i;
}
return i;
}
Statistics is like a mini skirt
I had some spared time last month and had some spared money. So I thought of investing in share market. Before investing I started my own research, and found couple of guys who give HOT TIPS. Importantly they make their old tips public as how successful they are. It comes with nice charts and all. Impressive! I was looking at their tips. Their tips spanned for one year when Sensex was in 9000 to when sensex zoomed to 17000. The investment I made when sensex was at 21,000 and have not touched during bearish market fared better than the tip period. I looked for tips when market was in 21,000 date and no tips. Wrote a mail to the customer care and got a reply saying they don't keep data beyond a year. Nice way to put data we actually give good tips when tips is no better than market sentiment.
One of my friend was buying a home in 2005. He was looking at various housing loans. An agent from a private leading bank approached him with all the details. He said bank provides 2 kind of home loan interest 1)Fixed rate and 2) floating rate. Fixed rate Interest was about 1 percent higher than the floating rate. I advised him to go for fixed rate as the interest rate is all time high and can go up at any time. And he almost agreed. Then came our counselor, the home loan agent. He said rate has never changed in last 25 years for people who opted for floating interest rate. So most probable it wont change either. Why to pay extra one more percent. And my friend got convinced and signed the document. I have not asked the question on the spot, but later realized the interest rate went down with time in last 26 years. And bank never handed the facility to borrower. Will it continue to do the same in case rate goes up? And my doubt turned true. He got loan with 7 percent and paying an interest of 11.5 percent.
One of my friend was buying a home in 2005. He was looking at various housing loans. An agent from a private leading bank approached him with all the details. He said bank provides 2 kind of home loan interest 1)Fixed rate and 2) floating rate. Fixed rate Interest was about 1 percent higher than the floating rate. I advised him to go for fixed rate as the interest rate is all time high and can go up at any time. And he almost agreed. Then came our counselor, the home loan agent. He said rate has never changed in last 25 years for people who opted for floating interest rate. So most probable it wont change either. Why to pay extra one more percent. And my friend got convinced and signed the document. I have not asked the question on the spot, but later realized the interest rate went down with time in last 26 years. And bank never handed the facility to borrower. Will it continue to do the same in case rate goes up? And my doubt turned true. He got loan with 7 percent and paying an interest of 11.5 percent.
Sunday, 29 November 2009
Another interview
I have taken 100s of interviews. Interviewing and short listing the right candidate is one of the key requirement for my job. Last Friday my boss and HR called me to take a couple of interviews. I was not surprised as I take interviews. But then my boss said, the interviews were not for JAVA professionals, rather it is for QA engineers. He then told me the mandate. I would be looking at the skill sets beyond functional testing.
First round of the interviews were to be conducted by our senior QA engineers, who would look at functional testing use case writing etc. I would look at the knowledge beyond QA. I would look at stretch goals such as do they know how to deploy application, how to look logs and provide some useful information to development beyond a bug. Can they help development reproduce the bug in development if it were not reproducible. We have an aggressive growth plan, so need resources urgently, but we don't want to hire the wrong person. So I was anxious to do the job and tensed if I will be able to do it right.
I met with a senior QA engineer to understand what they are looking for. What are the typical questions they ask. I was working with the QA team closely, so I have a clear understanding about their work and expectations. Then came the interview time, I have to meet the candidates after met by a senior QA engineers. I was tensed for the first guy, and the tension reduced gradually. Asked them from a range of questions unit testing, functional testing to some UNIX commands and deployment and puzzles.
I figured out it was just another day with a new experience.
First round of the interviews were to be conducted by our senior QA engineers, who would look at functional testing use case writing etc. I would look at the knowledge beyond QA. I would look at stretch goals such as do they know how to deploy application, how to look logs and provide some useful information to development beyond a bug. Can they help development reproduce the bug in development if it were not reproducible. We have an aggressive growth plan, so need resources urgently, but we don't want to hire the wrong person. So I was anxious to do the job and tensed if I will be able to do it right.
I met with a senior QA engineer to understand what they are looking for. What are the typical questions they ask. I was working with the QA team closely, so I have a clear understanding about their work and expectations. Then came the interview time, I have to meet the candidates after met by a senior QA engineers. I was tensed for the first guy, and the tension reduced gradually. Asked them from a range of questions unit testing, functional testing to some UNIX commands and deployment and puzzles.
I figured out it was just another day with a new experience.
Labels:
boundary condition,
Interview,
stretch goal
Sunday, 15 November 2009
Statistics is like a mini skirt
and it hides more than it reveals.
Infosys was one of the best Indian corporate. I was surpised to find out that Infosys more competative than Harvard. I ask the fundamental question, what is harder? How do I decide whether X or Yis harder? And x and y can be Infosys, Harvard or any other entity. To me if I (or simillar people who wish to join both Infosys and Harvard) can get x but not y then y is harder for me. By doing the same for large number of people we can figure out what is harder. Another approach would be give Y to people who have X and X to people who have Y. In case many people who have Y are ready join X, then X is better and vice versa. Given that, many infoscians would be happy to join Harvard but not the other way. But statistics says the Infosys has a higher rejection ratio, so a tough place to get in.
Currently I was looking at Silicon India article, which said average salary of woman is 30 percent less than that of ab average man in Indian IT industry. I was stunned to read the news. I have not come across any IT organization which makes salary discrimination based on sex. I thought may be my knowledge is limited or I worked only at companies which does not discriminate or both. But I read the line again, it said the average salary of Indian females is less than that of average males. It can be possible because the ratio of men to women is higher for senior people who draw higher salary than the ratio in the lower salary. For example say a freshers gets 3,00,000 per anum and a 5 years exp clad gets 12,00,000 per anum. And the male to female ratio at 5 years exp is 3:1 which is 2:1 for freshers and the ratio of fresher to 5 yr exp is 3:1
We can take the smallest number with M1,M2,M3,F1 getting 12,00,000 per anum and M4,M5,M6,M7,M8,M9,M10,M11,F2,F3,F4,F5 getting 3,00,000 per anum.
Average salary of males = 5,45,454 per anum
Average Salary of females = 4,80,000 per anum
Which says the average salary is lower for woman. The figure gets even worse with higher ratio between fresher to senior position, higher salary difference and lower ratio at senior positions and higher ratio at fresher level. Of course it gets better with the opposite conditions, but truth will make the average salary look lower.
I would like to know the sample size and how average salary is calculated before jumping the gun and say women in IT paid lower than the men.
Then ave sal of male =
Then average sal of male = 12
Infosys was one of the best Indian corporate. I was surpised to find out that Infosys more competative than Harvard. I ask the fundamental question, what is harder? How do I decide whether X or Yis harder? And x and y can be Infosys, Harvard or any other entity. To me if I (or simillar people who wish to join both Infosys and Harvard) can get x but not y then y is harder for me. By doing the same for large number of people we can figure out what is harder. Another approach would be give Y to people who have X and X to people who have Y. In case many people who have Y are ready join X, then X is better and vice versa. Given that, many infoscians would be happy to join Harvard but not the other way. But statistics says the Infosys has a higher rejection ratio, so a tough place to get in.
Currently I was looking at Silicon India article, which said average salary of woman is 30 percent less than that of ab average man in Indian IT industry. I was stunned to read the news. I have not come across any IT organization which makes salary discrimination based on sex. I thought may be my knowledge is limited or I worked only at companies which does not discriminate or both. But I read the line again, it said the average salary of Indian females is less than that of average males. It can be possible because the ratio of men to women is higher for senior people who draw higher salary than the ratio in the lower salary. For example say a freshers gets 3,00,000 per anum and a 5 years exp clad gets 12,00,000 per anum. And the male to female ratio at 5 years exp is 3:1 which is 2:1 for freshers and the ratio of fresher to 5 yr exp is 3:1
We can take the smallest number with M1,M2,M3,F1 getting 12,00,000 per anum and M4,M5,M6,M7,M8,M9,M10,M11,F2,F3,F4,F5 getting 3,00,000 per anum.
Average salary of males = 5,45,454 per anum
Average Salary of females = 4,80,000 per anum
Which says the average salary is lower for woman. The figure gets even worse with higher ratio between fresher to senior position, higher salary difference and lower ratio at senior positions and higher ratio at fresher level. Of course it gets better with the opposite conditions, but truth will make the average salary look lower.
I would like to know the sample size and how average salary is calculated before jumping the gun and say women in IT paid lower than the men.
Then ave sal of male =
Then average sal of male = 12
Subscribe to:
Posts (Atom)