Showing posts with label Personal Thoughts. Show all posts
Showing posts with label Personal Thoughts. Show all posts
Ajoy Singha

The world did not end on 21st December. Somebody forgot to test the prediction.

It is the time of New Year. I recently read a wonderful work by Neil Gaiman. It is about New Year wishes. When we wish someone we wish him to do well in the New Year, we wish for the very best of everything he does. Neil says we should wish they made mistakes. "Because if you are making mistakes, then you are making new things, trying new things, learning, living, pushing yourself, changing yourself, changing your world. You're doing things you've never done before, and more importantly, you're Doing Something.

So that's my wish for you and all of us, and my wish for me. Make New Mistakes. Make glorious, amazing mistakes. Make mistakes nobody's ever made before. Don't freeze, don't stop, don't worry that it isn't good enough, or it isn't perfect, whatever it is: art, or love, or work or family or life.
Whatever it is you're scared of doing, Do it.
Make your mistakes, next year and forever."

With this wonderful thought, I wish you make lots of mistakes in the New Year 2013. And next time when someone predicts the end of the world, get it tested from testers.

- Ajoy Singha

Ajoy Singha
I have been planning this post for a long time. Moolya Testing has given me the boost to write this now.

Do I want to win the T-shirt offered by Pradeep, Santhosh and the team? Yes, anything from a great startup with great people and great ethical values would an award worth winning.

So I must share something for which I did not get recognized from my organization. I have many. Randomly chosen 3 stories.

Story 1 – November 2006.

I had just joined my new company then. We were testing an enterprise content management product. That product is a platform independent product of a top listed IT company in the world. Whole lots of patch releases and lots of regression cycle were going on in various application server and operating system combinations. I was just learning the product and how to run the product in UNIX systems and J2EE based application servers. I must say we had around 105 platform (OS vs App server) combinations to test. The product was also using a legacy system as storage engine for enterprise contents.

If you remember starting summer of 2007 US government changed the daylight saving time (DST). From 1987 to 2006, daylight saving time in the United States began on the first Sunday of April and ended on the last Sunday of October. The time is adjusted at 2:00 AM (0200) local time.

Since 2007, daylight saving time starts on the second Sunday of March and ends on the first Sunday of November, with all time changes taking place at 2:00 AM (0200) local time. DST implementation varies from region to region. This means all the computers running with US region configuration had to adjust 3 weeks. Operating systems were pre-programmed to adjust old US DST system. Also application servers, Java Virtual Machines, Legacy systems all had to release their patch/service pack to implement the new DST system.

In our product we had a feature with which we could add annotations to the documents. This is a time sensitive feature. Whenever someone annotates a document it captures the timestamp. So in a workflow application where there are SLAs defined at minutes, these timestamps are very important. So introduction of new DST system with 3 weeks of adjustment would potentially cause problem to our timestamp feature. At the end of 2006, just before 2 months from the implementation of new system, my product development team was very sure that since it was the responsibility of OS, App server, JVM and legacy system vendors to update the systems to fix this problem we had nothing to do and no code changes and hence no testing would be required.

We were carrying a risk of not testing anything for DST. I did some R&D by downloading the available patches and setting the clock forward to 2nd Sunday of March 2007 and looking at the changes. I bumped into some problem during the experiment. I reported this to our product manager. He discussed the things again with development guys but I failed to convince them again. Needless to say I was the only tester in the whole product team with 8 developers. I was new to the team and they are sounding more technically advanced than me at that point of time.

In next one week, I sat late in office trying to set up a small test lab – where all the machines had software with DST patch updates. I deployed our product and set up a small work flow with in the application. I advanced the system dates to 2nd Sunday of March 2007 and reproduced the problem. I captured this information in details. Then I took help of a developer friend from our ODC, not from my dev team to look into the code of the product (I am a no-coding guy). He took 3 nights to come up with the solution. He made a one line code change and we rebuild the product. I deployed the new build in the test lab and tried to reproduce the problem. No I could not find the problem. That means the problem was in the code itself not with patches.

Next morning, I sent out a detailed email mentioning what I found and what code changes we made. I was scolded for sharing the code information with other team’s member. They never recognized the problem I was trying to capture. Later the development manager took 2 months billing for 3 resources from the client sent the patch with my code change. Officially I never got recognition for this story. But I am happy that I saved the organization from some embarrassments that may have happened if I had not rebuilt the product.

Story 2 – August 2010.

I wanted to initiate and take care of a very popular event in software testing. Actually I wanted to head the NCR chapter of that community. I had no direct contact with the founders. I was talking to somebody who was in NCR that time. I asked him with my proposal and he seemed to agree. I was expecting a reply from the founders but I never got to hear from anyone. I was very frustrated because my repeat emails were not answered. One night I decided that I will do something that would one day surpass the popularity of that event. That was how Testing Circus was born in the mid night of 14th/15th August – the independence day of India.

I have been publishing this magazine from last September onwards. I have received many positive and negative feedbacks for my work and effort. I started a truly Indian magazine dedicated on Software Testing. The magazine is aimed at educating professionals at basic levels. That’s why you would not see many pedantic subjects and you would find features like test case writing, QTP code corner etc. Interview with tester is aimed at encouraging new testers to get advice and future trends in testing. I also wanted to let learning testers know who all are there in twitter who are well known in testing domain. This I assume would help networking with other testers and mentors. I have always tried to balance articles from expert people plus encouraged a newbie to write something for my magazine. This is how I wanted to cultivate and encourage new people to write even though it means rewriting the whole article by me and asking him to learn from that and do the same thing again.

How do I collect articles from experts? Few people have always supported me by giving articles and giving permission to print their interviews. I try to write to experts to give articles for the magazine and I have been doing it constantly. I just do not want to copy something from their blogs and re-print the same in Testing Circus. Sometimes people respond, sometimes not.

How do I manage time between my full time job as a project lead and weekend training sessions at my testing coaching class as you might know I teach testing on weekends at my drawing room? Mostly I work at nights for Testing Circus; not hampering my job at office. That means I sleep few hours less than average IT professionals of my age.

What am I getting? No monetary benefit. No Google ads. No paid ads. I am getting few positive and lots of feedbacks that say I should improve. Also my organization never seems to care about my initiative and it has never given me any impact on my appraisals. But I am happy.

Story 3 – November 2010.

We knew one another and have been talking over phone and twitter but we never met or all planned meeting actually never happened because of some reasons or others. But SoftTech Software Testing conference on 13th November in New Delhi actually helped us meet physically for the first time. There we hatched a plan – to have regular testers meet in NCR Region on a monthly basis and of course a free event for test enthusiasts. Today we proudly call NCR Testers Meet (NCRTMM) as our brain child. Two Vipuls (Vipul Kocher and Vipul Gupta) and I cultivated the ground for free testers meet in NCR and we started the journey on 18th December in Noida. Today we are four meets old and we have 410 registered members. We are planning for a full day conference in April in Noida to be attended by speakers from all over India. Thanks to our venue and food sponsors. We are actively supported by Indian Testing Board. We have plans to open a Software Testing Book Library in every city monitored by us. The concept of NCR Testers Monthly Meet is replicated in Mumbai, Pune, Hyderabad, Kolkata, Chennai and Bangalore. Wao! – I am loving it.

My organization hardly knows about this initiative. Even we officially tried to convince the point-of-contacts to sponsor the venue for our meet; we never got any positive reply. But I am happy again.

Sometimes you do not do things to get recognition from your organizations. I believe many such stories exist in Indian Testing Story Book. It is our passions that drive us to do new things, experiment with newer ideas. If I am doing some good work in Indian Testing Domain then it is because of advice, criticism, encouragement and support that I received from few people. I will name those people in a different post.

If I win a T-shirt from Moolya Testing, then I plan to give away that to another passionate tester in the April NCRTMM Conference happening in Noida.

If you have similar stories, share that in http://moolya.com/blog/2011/03/14/10-t-shirt-giveaways-from-moolya/ You might win a T-shirt too.


NOTE - I won the competition and they gave me Two T-shirts actually, instead of one. :)
Ajoy Singha
This is my last blog post for this year. In this post I would like to make a point about hiring practice in IT industry specially in testing.

I have been a part of hiring process for my current and previous organizations. I have taken interviews for my project, my client, walk-in interviews and also for fresher hiring at college campus. What did I learn from these interviews? 

Most of the resumes are shortlisted by HR persons and then are sent to us for technical evaluation. Then we talk to the candidate to evaluate him. The evaluation process is generally a set of questions starting from “Tell us something about yourself” to some technical questions about testing/non-testing area. If the candidate is able to answer most of the questions fairly well, we select him or pass on to the next level of interview. If he cannot answer the questions – we simply convey – “You can leave for the day.”

This is a traditional way of evaluating a candidate for a job. Is there a problem in it? I seriously feel yes. Right from the short listing of resumes to offering a job – the system goes through some pre-conceived procedures/filters. I have seen many bad testers passing through these filters easily and many good testers, just because the filter itself is bad-shaped, get rejected.

Bad Shape of filters –
1. Resume Short listing – Resumes are short listed by non-technical people. I don’t know how most of the HR people collect the resumes and hence short list them. My friends’ resumes forwarded by me never got short listed though L. (It is important to have a good repo with HR guys if you want your friends to get a call.)

2. Just in time Hiring – Just in time hiring may sound good to reduce bench strength of the organization. But think of a situation where the person leaving your organization has a particular skill and you do not have a similarly skilled person in bench, you will need to hire from outside. I am not against just in time hiring. I am against initiating the hiring process late. When you know someone has resigned, why don’t you arrange to hire and replace the resigned candidate in the beginning of the notice period? Believe me, 95% of resigned candidates will not take back their resignation. Why try till last date to take him back? If you offer to give him carrots when he resigns, why did not you give that before he had actually resigned? Most of the organization will not allow its employee to leave before they serve their full notice period. But still these companies will want the employees from other companies to join them in short notice. 
Warning – The candidates who can join in short notice are actually fake employees or they are not working anywhere or they are too bad resources. Except, the only situation where he had resigned before your interview process started.
I have even received emails from hiring firms mentioning – “relieving letter not required.” What kind of ethics these firms are practicing? 
If you are forced to hire in short time span – you are bound to recruit bad/fake candidates. So start early.

3. Knowledge of the Interviewer – It is important to judge the knowledge of the candidate. But it is more important to know how much fit the interviewer is to judge a candidate. Bad interviewers just screw up a hiring process and the filters get more bad-shaped. 

4. Questions asked at Interview – If I list down 100 questions for software testing and commonly asked behavioural questions from internet and if I can remember them all, then I think I can clear most the software testing interviews that happens now a days. All I have to do is get someone who can give me answers for those questions and I will have learn like a parrot. I can just repeat the sentences in front of the interviewer and get the job. 

5. Candidates with Certification – Passing an IT certification exam is easy. Please read my post “Investigation on Certification”.  I am not saying certification is bad. I am saying certification has just become very easy and I know few guys who have never tested any software and still they cleared certification exams. It is high time we thought of other methods of certifying people. So don’t just believe that having an IT certification makes someone a good candidate for the job.

Need for a better hiring practice-
What are things that we can do as industry thought leaders in testing? (Sorry, I am not a thought leader yet in testing or any other industry. I am just a follower of good practice.) This is what I suggest – if you care to agree.

1. Follow a hiring practice that companies like Moolya follows. Ask candidates to test an open source product and send the test report. Brilliant process. What you will get is real tester with real result. Bad apples automatically get filtered out. However, this method will need discipline and ethics from the hiring organization. Also you will face challenges as a large service based organization to reach out to more number of candidates. Walk-in type of interview will need more planning and resources. 

2. Do not care about what is written in resume. Do not care about what certificate they have. Do not care about what educational background they have. Just care about if they can really test. Clue – Good testers are thinking heads. Challenge them with problems. See how they have solved problems in real life. 

3. See how passionate the candidate is about testing. Is it just another job (money earning machine) or he really thinks about testing? Ask him what he wants to do in testing or what he has done in testing. 

4. Do not discriminate people from another industry. Do not just throw him out just because he is from BPO, Medical sales or HR background. I am a Mechanical Engineer and had worked for a year in chemical industry before moving to full time testing. If you think I have done something in testing, then every other guy from other industry has a potential to do magic in testing. 

5. Do not discriminate people with gaps. We tend to filter out people who have gap period between two jobs. Investigate why there is a gap. I have seen many female testers who left their jobs because they got married and they had a kid to care about. Now that the kid is grown up, they can join back testing job. They face lots of challenges in even getting an interview call. I understand that those who have not worked for last few months/years may not be as smooth in working as compared to those who have been working continuously. But a passionate tester can ignite the passion anytime. You just need to give them a chance.

6. Do not ask lots of definitions during the interview. Do not care about skills which can be trained. Only care about skills/traits that cannot be trained. Attitude, interest, motivation, commitment, vision – these can be changed but it takes time. Think what you want – a person with full of definitions or someone who wants to learn and can be moulded to do good testing. However, do check if the candidate knows about coding if you are hiring a white box tester for example. Special skills are important too.

Testing is not everybody’s cup of tea. It requires thinking. Passionless testers will get bored in few years of testing. Choose good people for testing, not just another job seeker. Today, testing is not regarded as a class one job in IT industry. ‘They’ think testing is a low skilled job. You know what I meant by ‘they’. 

It will take time to convince everyone to change their hiring practices. Thanks to Pradeep and Santhosh. Moolya has started the trend. Others will follow. Let us make a New Year resolution – to uplift the image of software testing professionals by adopting a good hiring practice and not to be the same as what other bad recruiters are doing. Do you support me?

I promise to offer my free professional help to organizations who want to change their current hiring practice and adopt new better practice. Write to me.

I have used ‘he’ in this post to mean the “3rd person singular” gender. ‘He’ here is just a pronoun meaning both he and she. And I do not intend to discriminate male and female. 
Ajoy Singha

There is always a risk associated with my name. Whenever I pronounce my name for someone who needs to write it down, there is 60% chance of my full name being misspelled. My name is 'Ajoy Kumar Singha'. Of these three words Kumar is often the only correctly spelled one.

I spent my childhood in a bengali dominated area. The pronounce the word 'ajay - commonly written version of my name' as 'o-joy'. So when I wrote my name in primary school they modified it to 'Ajoy'.

Similarly with my surname 'singha'. When you write this spelling in Bengali or Manipuri, the pronunciation is 'sing-ho'- lion in Bengali. 'Singha' is not a popular surname in rest of the India except in southern Assam. So when you say your sure name is 'singha', they write either 'sinha'- popularised by Shatrughan Sinha or 'singhal' - extra L to suite what they have heard so far.

Here is some of the problems I faced due to my incorrectly spelled name: :-)

1. ICICI Bank sent me a gold credit card with incorrect surname 'Sinha' although I had submitted my passport copy, PAN card and salary slip with the application.

2. An MBBS doctor spelled my name as 'Ajay Sinha' in his prescriptions, all test reports and medicine bills. I had a big fight with my medical insurance company when I wanted to reimburse the cost.

3. I donated Blood during my college days. I was awarded with a donor's card with 'Ajay Singha' written on it
.....list goes on.

A friend of mine sent me a list of names with meanings of each name. I did not find my name 'Ajoy' in that list. That inspired me to do some research on my name. The easiest way was to do some Google search. Here is what I found out.

1. Google web-search with 'Ajoy' returned the following : Results 1 - 10 of about 345,000 for Ajoy. (0.19 seconds)

2. The same search when I clicked 'I'm Feeling Lucky' button directs to http://www.ajoy.com.au/

3. According to register.com information, ajoy.com, ajoy.net are already registered domains. ajoy.info is still available.

4. Google Image-search with 'Ajoy' returned : Results 1 - 20 of about 6,060 for Ajoy. (0.09 seconds). All size image with moderate sate search on.

5. Google web-search with 'Ajoy Kumar Singha' without double quotes returned the following :Results 1 - 10 of about 743 for Ajoy Kumar Singha. (0.21 seconds)

6. Google web-search with 'Ajoy Kumar Singha' with double quotes returned the following :Results 1 - 8 of 8 for "Ajoy Kumar Singha". (0.26 seconds). All this results were related to my blog, my comments on other blogs, my profile on wikipedia, my engineering college website guest book entry.

7. I did the same search with the pages from India option. I got the following result : Your search - "Ajoy Kumar Singha" - did not match any documents.

8. I tried 'define:Ajoy' (finding the definition of Ajoy) on Google search did not give any result either.

9. While doing all this I found out one river in West Bengal (India) called 'Ajoy'. I did a Google Map search for the same but could not locate it.

10. Finally I surfed http://babynames.indobase.com/indian-boys.php and found out the meaning of 'Ajoy', which says the meaning is 'Joyful'.

Here is one image search result from http://spiritnetwork.com/ajoy/titleajoy.gifajoy/titleajoy.gif








So next time you want to use my name for writing, pronouncing, please do it properly.
................
I wasted few hours for writing and you wasted few minutes for reading this post. If you want to do the same time wasting activity, please go ahead, do a same type of research with your name. And send the material, link or e-photocopy to aksingha@gmail.com I would be happy to waste some of my minutes for you.