Monday, December 26, 2011

Batch program for creating satellite assembly

Annotated Batch Program For Creating a Satellite Assembly From a Directory's Worth of Resource Files


@rem****************************************************************************
@rem* Batch file for generating a satelite assembly
@rem* from a directory full of .resx files
@rem*
@rem* inputs
@rem* %1: language: hi-IN
@rem* %2: Your application name: SKLocalizationSample
@rem*
@rem* output:
@rem* will create SKLocalizationSample.resources.dll
@rem* in the same directory
@rem*
@rem****************************************************************************


@rem**************************************************
@rem* Set path for resgen.exe and al.exe
@rem**************************************************

@set path=%path%;
"C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin";
c:\winnt\microsoft.NET\framework\v1.0.3705


@rem**************************************************
@rem* Convert all .resx files to .resources files
@rem**************************************************
@del *.resources
@for %%f in (*.resx) do @resgen %%f

@rem**************************************************
@rem* Create text based command file for each resourc
@rem**************************************************

@rem del a.txt
@echo /t:lib > a.txt
@for %%f in (*.resources) do @echo /embed:%%f,%2.resources.files.%%f >> a.txt
@echo /culture:%1 >> a.txt @echo /out:%2.resources.dll >> a.txt

@rem**************************************************
@rem*
@rem* The generated input command file a.txt will look like this
@rem*
@rem* /t:lib
@rem* /embed:CommonResources.hi-in.resources,
@rem* SKLocalizationSample.resources.files.CommonResources.hi-in.resources


@rem* /embed:Common1Resources.hi-in.resources,
@rem* SKLocalizationSample.resources.files.Common1Resources.hi-in.resources


@rem* /embed:Common2Resources.hi-in.resources,
@rem* SKLocalizationSample.resources.files.Common2Resources.hi-in.resources


@rem* /embed:Common3Resources.hi-in.resources,
@rem* SKLocalizationSample.resources.files.Common3Resources.hi-in.resources


@rem* /culture:hi-in
@rem* /out:SKLocalizationSample.resources.dll
@rem*
@rem* Feed this file to al.exe
@rem**************************************************


@rem****************************
@rem* Create the satelite assembly
@rem****************************
del %2.resources.dll
al @a.txt

Monday, June 27, 2011

SQL Query optimization techniques for beginners

1) The sql query becomes faster if you use the actual columns names in SELECT statement instead of than '*'.

For Example: Write the query as

SELECT id, first_name, last_name, age, subject FROM student_details;

Instead of:

SELECT * FROM student_details;



2) HAVING clause is used to filter the rows after all the rows are selected. It is just like a filter. Do not use HAVING clause for any other purposes.
For Example: Write the query as

SELECT subject, count(subject)
FROM student_details
WHERE subject != 'Science'
AND subject != 'Maths'
GROUP BY subject;

Instead of:

SELECT subject, count(subject)
FROM student_details
GROUP BY subject
HAVING subject!= 'Vancouver' AND subject!= 'Toronto';



3) Sometimes you may have more than one subqueries in your main query. Try to minimize the number of subquery block in your query.
For Example: Write the query as

SELECT name
FROM employee
WHERE (salary, age ) = (SELECT MAX (salary), MAX (age)
FROM employee_details)
AND dept = 'Electronics';

Instead of:

SELECT name
FROM employee
WHERE salary = (SELECT MAX(salary) FROM employee_details)
AND age = (SELECT MAX(age) FROM employee_details)
AND emp_dept = 'Electronics';



4) Use operator EXISTS, IN and table joins appropriately in your query.
a) Usually IN has the slowest performance.
b) IN is efficient when most of the filter criteria is in the sub-query.
c) EXISTS is efficient when most of the filter criteria is in the main query.

For Example: Write the query as

Select * from product p
where EXISTS (select * from order_items o
where o.product_id = p.product_id)

Instead of:

Select * from product p
where product_id IN
(select product_id from order_items



5) Use EXISTS instead of DISTINCT when using joins which involves tables having one-to-many relationship.
For Example: Write the query as

SELECT d.dept_id, d.dept
FROM dept d
WHERE EXISTS ( SELECT 'X' FROM employee e WHERE e.dept = d.dept);

Instead of:

SELECT DISTINCT d.dept_id, d.dept
FROM dept d,employee e
WHERE d.dept = e.dept;



6) Try to use UNION ALL in place of UNION.
For Example: Write the query as

SELECT id, first_name
FROM student_details_class10
UNION ALL
SELECT id, first_name
FROM sports_team;

Instead of:

SELECT id, first_name, subject
FROM student_details_class10
UNION
SELECT id, first_name
FROM sports_team;



7) Be careful while using conditions in WHERE clause.
For Example: Write the query as

SELECT id, first_name, age FROM student_details WHERE age > 10;

Instead of:

SELECT id, first_name, age FROM student_details WHERE age != 10;

Write the query as

SELECT id, first_name, age
FROM student_details
WHERE first_name LIKE 'Chan%';

Instead of:

SELECT id, first_name, age
FROM student_details
WHERE SUBSTR(first_name,1,3) = 'Cha';

Write the query as

SELECT id, first_name, age
FROM student_details
WHERE first_name LIKE NVL ( :name, '%');

Instead of:

SELECT id, first_name, age
FROM student_details
WHERE first_name = NVL ( :name, first_name);

Write the query as

SELECT product_id, product_name
FROM product
WHERE unit_price BETWEEN MAX(unit_price) and MIN(unit_price)

Instead of:

SELECT product_id, product_name
FROM product
WHERE unit_price >= MAX(unit_price)
and unit_price <= MIN(unit_price)

Write the query as

SELECT id, name, salary
FROM employee
WHERE dept = 'Electronics'
AND location = 'Bangalore';

Instead of:

SELECT id, name, salary
FROM employee
WHERE dept || location= 'ElectronicsBangalore';

Use non-column expression on one side of the query because it will be processed earlier.

Write the query as

SELECT id, name, salary
FROM employee
WHERE salary < 25000;

Instead of:

SELECT id, name, salary
FROM employee
WHERE salary + 10000 < 35000;

Write the query as

SELECT id, first_name, age
FROM student_details
WHERE age > 10;

Instead of:

SELECT id, first_name, age
FROM student_details
WHERE age NOT = 10;

8) Use DECODE to avoid the scanning of same rows or joining the same table repetitively. DECODE can also be made used in place of GROUP BY or ORDER BY clause.
For Example: Write the query as

SELECT id FROM employee
WHERE name LIKE 'Ramesh%'
and location = 'Bangalore';

Instead of:

SELECT DECODE(location,'Bangalore',id,NULL) id FROM employee
WHERE name LIKE 'Ramesh%';

9) To store large binary objects, first place them in the file system and add the file path in the database.

10) To write queries which provide efficient performance follow the general SQL standard rules.

a) Use single case for all SQL verbs
b) Begin all SQL verbs on a new line
c) Separate all words with a single space
d) Right or left aligning verbs within the initial SQL verb

Friday, March 5, 2010

Visa free travel for Indians

-All,

Read below information sometime today. Thought worth sharing.

Where all can Indian passport holders travel without applying for a prior visa? Well, it’s a question I have often wondered about.

It’s over 65+ countries to which we can land with our passports :-)

The following is the result of my research for the countries which
permit an Indian passport-holder to enter without a visa or by
obtaining a visa upon arrival.

ALBANIA
Visa required, which can be obtained on arrival if holding
confirmation from Albanian Ministry of Interior stating that visa will
be available on arrival. Confirmation must be obtained before
departure to Albania.

AZERBAIJAN
Visa required, which can be issued on arrival for a max. stay of 30
days. An invitation is not necessary but it is recommended to hold a
document that shows the purpose of the visit. Visa is only valid for
the cities listed in the visa.

BAHRAIN
If travelling for business purposes visa can be obtained on arrival,
but this is subject to Immigration evaluation.

BERMUDA
Visa not required.
Bermuda Immigration officers will decide on max. period of stay (up to
6 months) depending on reason for travel. Stays exceeding 6 months
require application for residency in person.

BHUTAN
Visa not required for a max. stay of 2 weeks, provided permit is
issued upon arrival by Immigration Department.

BURUNDI
Visa required. However, visa can be obtained on arrival, if no diplomatic
representation of Burundi is located in country of origin.

CAMBODIA
Visa required. However, visa can be obtained on arrival, if coming for:
- touristic purposes for a stay of max. 1 month.
- business purposes for a stay of max. 1 month.

CAMEROON
Visa required. Visa on arrival can only be issued to those holding a prior
approval from Le Diligue General de L’Immigration.

CANADA
Visa required.
If entering from the U.S.A. with a used single entry visa, the visitor
may re-enter without obtaining a new Canadian visa, provided the I-94
from the U.S.A. and the Canadian port stamps are still valid.

CAPE VERDE ISLANDS
Visa not required if:
- Passenger was a former national of Cape Verde Isl.,
incl. wife, husband or children provided holding
proof thereof;
- travelling as tourist in organized group and holding
Certificado Colectivo de Identidade et Viagem
(no limit for number of tourists).
Individual passengers coming from countries where no diplomatic
representation of Cape Verde is established may obtain visa on
arrival.

COOK ISLANDS
If visit is solely for touristic purposes visa not required for a stay
of max. 31 days.
If visit is for business purposes (which may include acting for or on
behalf of a person/firm established outside Cook Islands) visa
required (which can be issued on arrival), for a stay of max. 21 days.

COSTA RICA
Visa not required for a stay of 30 days.

CUBA
Visa required.
If coming for touristic purposes and holding Tourist Card
(“Tarjeta del Turista”): visa not required.

DJIBOUTI
Visa required, which can be obtained on arrival provided holding
return ticket, for a max. stay of 1 month.

DOMINICA
Visa not required for stay of max. 21 days.

EGYPT
Visa required. However, a 14 days visa -free of charge- can be obtained on
arrival, if entering Egypt via South Sinai (through Sant Katherine,
Sharm El Sheik or Taba airports), provided:
- remaining in South Sinai resorts; and
- not continuing to any other city in Egypt.

ERITREA
Visa required, which can be obtained on arrival for a stay of max. 1
month (renewable for another 2 months), provided request has been made
by sponsor to Eritrea Immigration at least 48 hours before arrival.

ETHIOPIA
Visa required, which can be obtained on arrival for a max. stay of 3
months if attending African Union meetings and holding official
letters pertaining to the travel. In some other cases visa can also be
obtained if coming for business purposes.

FIJI
Visa not required. On arrival a visitor’s permit can be obtained for a
stay of max. 4 months.

GEORGIA
Visa required.
Visa (of various types and length of stays) can be obtained on arrival
at the Ministry of Foreign Affairs Visa Dept. at the airport. However,
one months notice of arrival is required.

GIBRALTAR
Visa required. However, if holding:
- a multiple entry visa (valid for at least 1 year) to the
United Kingdom; OR
- a passport endorsed “Certificate of Entitlement to the
Right of Abode in the United Kingdom” visa not required.

GRENADA
Visa not required for a stay of max. 3 months.

GUAM
If arriving directly from U.S. Mainland, Alaska, Hawaii, Puerto Rico
or U.S. Virgin Islands, no entry documents required due to no
immigration control.

GUINEA-BISSAU
Visa required.
If arriving from a country without representation of Guinea-Bissau,
visa applications by letter to be made 14 days prior to arrival to:
Comissariado de Estado da Seguranca Nacional e Ordem Publica da
Republica da Guinea-Bissau (State Directorate of National Security and
Public order of the Republic of Guinea-Bissau). The visa will then be
available at the airport of Guinea-Bissau.

HAITI
Visa not required for a stay of max. 3 months.

HONG KONG
Visa not required for stay of max. 14 days.

INDONESIA
Visa required, which can be obtained on arrival for a max. stay of 30
days provided:
- passport contains at least one unused visa page for the
visa-on-arrival sticker, which covers entire passport page; AND
- holding ticket and other documents for return/onward journey.

IRAN
Visa required. However, it can be issued on arrival provided:
- coming for tourist purposes only for a max. stay of 7 days; OR
- passenger has been introduced by means of a letter from
valid organization or government at least two days prior to
arrival, for a max. stay of 72 hours.

ISRAEL
Visa required. However, if travelling in a group of 10 or more passengers
and holding prior approval from Ministry of Interior visa can be
obtained on arrival.

JAMAICA
Visa not required, for a max. stay of 14 days.

KAZAKHSTAN
Visa required.
A visa can be issued on arrival at Almaty/Astana airports (provided
pre-arranged and approved by the Ministry of Foreign Affairs of
Kazakhstan) for both private and business purposes, for a stay of max.
one month.

KENYA
Visa required.
It is possible for a visa for a max. stay of 3 months to be
issued on arrival. However, this will cause considerable delay.

KOREA (REPUBLIC)
Visa required.
However, visa not required for a stay of max. 30 days provided:
A. holding visa for Australia, Canada, Japan, New Zealand or
U.S.A. and travelling to or from these countries; OR
B. having visited Korea (Rep.) 4 times within the last 2 years
or 10 times or more in total.

KUWAIT
Visa required. However, visa can be obtained on arrival if coming for vacation
or leisure for a stay of max. 1 month, provided:
- having sponsor in Kuwait holding the original visa; and
- holding confirmation from transporting airline that visa is
available on arrival.

KYRGYZSTAN
Visa required.
Visa can be issued on arrival for a stay of max. one month when coming from:
- countries with Kyrgyzstan representation, provided holding
confirmation from Kyrgyzstan authorities;
- countries without Kyrgyzstan representation, provided
a sponsor can announce the passenger(s) to the authorities.

LEBANON
Visa can be obtained on arrival under certain conditions to:
- businessmen and other top professionals residing in a GCC
member country (see TIRGL/GCC ); OR
- businessmen with prior approval from Lebanese Immigration; OR
- tourist groups.

LIBERIA
Visa required.
If arriving from a country without diplomatic representation of
Liberia: visa issue on arrival possible if holding telex confirmation
from the station manager of delivering airline.

MACAO
Visa not required for a stay of max. 30 days.

MADAGASCAR
Visa required. A 90 days visa can be obtained on arrival.

MALAYSIA
Visa required. However, if coming for touristic purposes, visa can be obtained
on arrival, for a max. stay of 30 days.

MALDIVES
Visa required, which can be obtained on arrival for:
1. a max. stay of 30 days, provided holding:
– hotel confirmation; and
– sufficient funds to cover stay; and
– onward/return ticket for next destination.; OR
2. a stay of more than 30 days, to a max. stay of 90 days,
provided passenger has:
– a local sponsor, who must inform Immigration at Male at
least 1 day prior to passengers arrival; and
– onward/return ticket for next destination.

MAURITIUS
Visa not required for a max. stay of 15 days for touristic purposes only.

MICRONESIA
Visa not required for a stay of max. 30 days, provided coming for
touristic or visitor purposes.

MOLDOVA
Visa required, which can be obtained on arrival at Chisinau Airport provided:
- arriving from a country without diplomatic representation of
Moldova.

MONTSERRAT
Visa not required for a max. stay of:
- 3 months, provided travelling with passport;
- 14 days when travelling with other documents.

MOZAMBIQUE
Visa required. However, if coming for touristic or business purposes, visa can
be obtained on arrival (at airport only).

NEPAL
Visa not required.

NIUE
Visa not required for a stay up to 30 days provided holding:
- confirmed return/onward ticket; AND
- documents required for return/onward journey; AND
- sufficient funds.

NORTHERN MARIANA ISLANDS
Visa required. However, if holding U.S. entry visa, visa not required
for a max. stay of 30 days, provided U.S. visa:
- is valid for 60 days from entry date into CNMI; AND
- allows re-entry back into the U.S.A. on departure.

PALAU ISLANDS
Visa required, which can be obtained on arrival for a stay of max. 30 days.

PUERTO RICO
If arriving directly from Mainland U.S.A., Alaska, Guam, Hawaii or
U.S. Virgin Islands no entry documents required due to no immigration
control.

QATAR
Visa required.
The following visas can be obtained on arrival:
– 14 day tourist visa, provided application submitted to
airport immigration at least 24 hours before arrival by
any of the registered hotels in Doha.
Passenger must also hold proof of confirmed hotel
reservation and at least USD 1,400.- or any major credit
card; OR
– 7 day business visa can be issued at Doha airport
provided notification received at least 48 hours prior to arrival.

SAMOA
Visa not required if holding a visitor’s permit, which can be obtained
on arrival for a stay of max. 60 days.

SAO TOME & PRINCIPE
Visa required.
Visa may only be granted on arrival provided prior arrangements have
been made by transporting carrier up to 24 hours prior to flight
departure. Max. stay of one month allowed.

SEYCHELLES
Visa not required as Visitor’s Permit for 1 month (depends on validity
of ticket) will be issued on arrival provided holding:
- onward/return ticket or otherwise ticket must be purchased on
arrival; AND
- sufficient funds (USD 150.- per day) and proof of
accommodation during stay.

SIERRA LEONE
Visa required. However, visa on arrival is also possible under
following conditions:
- no diplomatic representation of Sierra Leone at point of
origin; AND
- sponsor or contact person in Sierra Leone should arrange
Landing Permit with the Principal Immigration Officer.
Details of such Landing Permit should be given to the
Station Manager of transporting airline at least 48 hours
prior to arrival.

SRI LANKA
Visa required, which can be obtained on arrival for a touristic stay
of max. 30 days.

ST. KITTS-NEVIS
Visa not required for a stay of max. 3 months.

ST. VINCENT AND THE GRENADINES
Visa not required for a max. stay of 1 month.

TANZANIA
Visa required, which can be obtained on arrival.

THAILAND
Visa required.
Visa can be obtained on arrival (ONLY at Bangkok, Chiang Mai,
Chiang Rai, Hat Yai, Phuket, Samui Int’l, Sukhothai, Surat
Thani, Utapao airports) for a stay of max. 15 days, provided:
- coming for touristic purposes; AND
- passport is valid at least 6 months; AND
- holding onward/return ticket; AND
- holding USD 250.- per person or USD 500.- per family.

TIMOR LESTE
Entry Permit can be obtained on arrival for a max. stay of 30 days.

TOGO
Visa required, which can be obtained on arrival for max. 7 days.

TURKS & CAICOS ISL.
Visa not required for a stay of max. 30 days.

TUVALU
Visa required, which can be obtained on arrival for a stay of max. one month.

UGANDA
Visa required, which can be obtained on arrival.

VANUATU
Visa not required for a max. stay of 30 days.

VIRGIN ISLANDS (BRITISH)
Visa not required for a stay of max. 30 days.

Source: Quantas
This search engine and database is provided and managed by the
International Air Transport Association (IATA).
http://www.qantas.com.au/info/flying/beforeYouTravel/visaHealth

Wednesday, February 17, 2010

Left-handedness

Very interesting one about Left-handedness. A week ago, happened to see a documentary in NGC on the same. Few points are here for you.

Left-handedness is the preference for the left hand over the right for everyday activities such as writing. Most left-handed people exhibit some degree of ambidexterity. Left-handedness is relatively uncommon; seven to ten percent of the adult population is left-handed.

Causes of left-handedness
-------------------------
• Hand orientation is developed in fetuses, most commonly determined by observing which hand is predominantly held close to the mouth
• Long-term impairment of the right hand: People with long-term impairment of the right hand are more likely to become left-handed, even after their right hand heals. Such long-term impairment is defined as eight months or more.
• Testosterone: Exposure to higher rates of testosterone before birth can lead to a left-handed child. This is the Geschwind theory, named after the neurologist who proposed it, Norman Geschwind. It suggests that variations in levels of testosterone during pregnancy shape the development of the fetal brain. Testosterone suppresses the growth of the left cerebral hemisphere and so more neurons migrate to the right hemisphere. The highly developed right hemisphere is now better suited to function as the center of language and handedness. The fetus is more likely to become left-handed, since the right hemisphere controls the left half of the body. The theory goes on to tie the exposure to higher levels of testosterone and the resultant right-hemisphere dominance to auto-immune disorders, learning disorders, dyslexia, and stuttering, as well as increased spatial ability.

How a Mathematician will write a Love Letter???

My Dear Love,

Yesterday, I was passing by your rectangular house in trigonometric lane.
There I saw you with your cute circular face, conical nose and spherical
eyes, standing in your triangular garden.

Before seeing you, my heart was a null set, but when a vector of magnitude
(likeness) from your eyes at a deviation of t radians made a tangent to my
heart, it differentiated.

My love for you is a quadratic equation with real roots, which only you can
solve by making good binary relation with me. The cosine of my love for you
extends to infinity. I promise that I should not resolve you into partial
functions but if I do so, you can integrate me by applying the limits from
zero to infinity.

You are as essential to me as an element to a set. The geometry of my life
revolves around your acute personality. My love, if you do not meet me at
parabola restaurant on date 10 at sunset, when the sun will be making an
angle of 160 degrees with our horizon, my heart would be like a solved
polynomial of degree 10.

With love from your higher order derivatives of maxima and minima, of an
unknown function.

Love

Tuesday, January 19, 2010

IT Survivors - Staying Alive In A Software Job

Here is an article written by Harshad Oak. Good to read, nice to publish...

IT Survivors - Staying Alive In A Software Job
----------------------------------------------

Before I started working for myself, I spent some years in some of the top
IT companies in India and still have many friends working in various
software companies. I wrote a blog Recruiting like crazy, about the same
time last year about how Indian companies are recruiting like there's no
tomorrow and the possible consequences. However I was avoiding writing this
particular piece as it seems like an unpatriotic thing to do, to tell the
world how bad the working conditions in software companies in India have
become. And there's always the risk of excerpts being used out of context
to bash up IT in India.

I am now writing this because I just keep hearing horror tales from the
industry and it doesn't seem like anything is being done in the matter, so
I thought I will do my bit and write.

First and foremost, before stereotypes about India kick in, I would like to
clarify that I am not saying that Indian software companies are sweat shops
where employees aren't being paid and made to work in cramped uncomfortable
places. The pay in software companies is very good as compared to other
industries in India and the work places are generally well furnished and
plush offices. India being a strong democracy, freedom of expression is
alive and well and Indians are free to express their opinions and voice
their concerns. Yet, I say that the software industry is exploiting its
employees.


IT work culture in India is totally messed up and has now started harming
the work culture of the nation as a whole. Working 12+ hours a day and 6 or
even 7 days a week is more the rule than the exception.


Consequences:
· A majority of IT people suffer from
health problems.As most of the IT workforce is still very young, the
problem isn't very obvious today but it will hit with unbearable ferocity
when these youngsters get to their 40s.
· Stress levels are unbelievable high.
Stress management is a cover topic in magazines and newspapers and
workshops on the subject are regularly overbooked.
· Most IT people have hardly any social /
family life to talk of.
· As IT folk are rich by Indian standards,
they try to buy their way out of their troubles and have incurred huge
debts by buying expensive houses, gizmos and fancy cars.


Plush offices, fat salaries and latest gizmos can give you happiness only
if you have a life in the first place.


The reason I feel this culture has emerged, is the servile attitude of the
companies. Here's a tip for any company in the west planning to outsource
to India. If you feel that a project can be completed in 6 weeks by 4
people, always demand that it be completed in 2 weeks by 3 people.

Guess what, most Indian companies will agree. The project will then be
hyped up as an "extremely critical" one and the 3 unfortunate souls
allocated to it will get very close to meeting the almighty by the time
they deliver the project in 2 weeks. Surprisingly, they will deliver in 2-3
weeks, get bashed up for any delays and the company will soon boast about
how they deliver good quality in reasonable time and cost. Has anyone in
India ever worked on a project that wasn't "extremely critical"?

I was once at a session where a top boss of one of India's biggest IT firms
was asked a question about what was so special about their company and his
answer was that we are the "Yes" people with the "We Can Do It " attitude.
It is all very well for the top boss to say "We Can Do It ".. what about
the project teams who wish to say "Please....We Can't Do It " to the
unreasonable timelines...I was tempted to ask "What death benefits does
your company offer to the teams that get killed in the process?". I sure
was ashamed to see that a fellow Indian was openly boasting about the fact
that he and his company had no backbone. The art of saying No or
negotiating reasonable time frames for the team is very conspicuous by its
absence. Outsourcing customers more often than not simply walk all over
Indian software companies. The outsourcer surely cannot be blamed as it is
right for him to demand good quality in the least cost and time.


Exhaustion = Zero Innovation
· How many Indians in India are thought
leaders in their software segment? - Very few
· How much software innovation happens in
India? - Minimal
· Considering that thousands of Indians in
India use Open Source software, how many actually contribute? - Very few



Surprisingly, put the same Indian in a company "in" the US and he suddenly
becomes innovative and a thought leader in his field. The reason is simple,
the only thing an exhausted body and mind can do well, is sleep. zzzzzz


I can pretty much bet on it that we will never see innovation from any of
10000+ person code factories in India.


If you are someone sitting in the US, UK... and wondering why the employees
can't stand up, that's the most interesting part of the story. Read on...


The Problem


The software professional Indian is today making more money in a month than
what his parents might have made in an year. Very often a 21 year old
newbie software developer makes more money than his/her 55 year old father
working in an old world business. Most of these youngsters are well aware
of this gap and so work under an impression that they are being paid an
unreasonable amount of money. They naturally equate unreasonable money with
unreasonable amount of work.

Another important factor is this whole bubble that an IT person lives in..
An IT professional walks with a halo around his or her head. They are the
Cool, Rich Gen Next .. the Intelligentsia of the New World... they travel
all over the world, vacation at exotic locations abroad, talk "american",
are more familiar of the geography of the USA than that of India and yes of
course, they are the hottest things in the Wedding Market!!!

This I feel is the core problem because if employees felt they were being
exploited, things would change.


I speak about this to some of my friends and the answer is generally "Hey
Harshad, what you say is correct and we sure are suffering, but why do you
think we are being paid this much money? It's not for 40 hours but for 80
hours a week. And anyway what choice do we have? It's the same everywhere."


So can we make things change? Is there a way to try and stop an entire
generation of educated Indians from ending up with "no life".


Solutions


1) Never complement someone for staying till midnight or working 7 days a
week.


Recently, in an awards ceremony at a software company, the manager handing
over the "employee of the month" award said something like "It's
unbelievable how hard he works. When I come to office early, I see him
working, when I leave office late, I still see him working".. These sort of
comments can kill the morale of every employee trying to do good work in an
8hr day.


Companies need to stop hiding behind the excuse that the time difference
between India and the west is the reason why people need to stay in office
for 14 hours a day. Staying late should be a negative thing that should
work against an employee in his appraisals. Never complement someone for
staying till midnight or working 7 days a week .

2) Estimates:


If time estimates go wrong, the company should be willing to take a hit and
not force the employee to work crazy hours to bail projects out of trouble.
This will ensure that the estimates made for the next project are more real
and not just what the customer has asked for.

3) Employee organizations / forums


NASSCOM (National Association for Software and Services Companies) and CSI
(Computer Society Of India) are perhaps the only two well known software
associations in India and both I feel have failed the software employee. I
do not recall any action from these organizations to try and improve the
working conditions of software employees. This has to change.


I am not in favor of forming trade unions for software people, as trade
unions in India have traditionally been more effective at ruining
businesses and making employees inefficient than getting employees their
rights and helping business do well. So existing bodies like NASSCOM should
create and popularize employee welfare cells at a state / regional level
and these cells should work only for employee welfare and not be puppets in
the hands of the companies.


If the industry does not itself create proper forums for employee welfare,
it's likely that the government / trade unions will interfere and mess up
India's sunshine industry.


4) Narayan Murthys please stand up


Top bosses of companies like Infosys, TCS, Wipro, etc. need to send the
message loud and clear to their company and to other companies listening at
national IT events that employee welfare is really their top concern and
having good working culture and conditions is a priority. Employee welfare
here does not mean giving the employee the salary he/she dreams of.


Last word


I am sure some of my thoughts come from the fact that I too worked in such
an environment for a few years and perhaps I haven't got over the
frustrations I experienced back then. So think about my views with a pinch
of salt but do think about it. And if you have an opinion on this issue,
don't forget to add a comment to this article

Tuesday, December 22, 2009

Have we forgotten

Happened to take couple of interviews today.
One common thing noticed... of course! not only for the interviewees but for most of us...

As and when we grow in the IT career, are we forgetting the basics? When u were in standard 12, or 1st year of graduation, were u fit like a fiddle in writing a quick sort/bubble sort program??? slowly as we move ahead, we started looking at a bigger picture (often its ONLY bigger pictures) without bothering to recall what have we done...

This is so true in one case... I was discussing a problem with my friend... it was something to do with complex algo in Telecom domain... Trying to get to a solution for a very simple problem with factory pattern etc... (forgetting, its such a simple problem and can be solved with 2 lines of code)... it boils down to the same... since we know design pattern, refactoring etc, to some extent people are tend to think in that terms