WIRED

Friday, July 24, 2009

the job of a Software Engineer

Sometime during my lunch or over a glass of beer, we discuss about the work life of software engineers. The irony is most of the software engineers seem to be unhappy with their job. It looks quite amazing that a high paying, unsoiled, high-tech job also cannot make people happy. Some of the common complaints that most of the software engineers have are work pressure, bad supervisors, not proper utilization of skills, no onsite opportunity, heavy competition etc.

As I always love to be the devil’s advocate, I argue with people who say Software job is difficult. They have their complaints as above and I always have my side of words. Here is what I have to say….

I think Software jobs are one of the most easiest among available jobs. First let’s talk from the beginning, let’s talk from recruitment. Can you tell me what is the job which is easier to get than a Software one? If you are in an average standard engineering collage and have a good percentage of marks, you are most likely to be picked by a good software company in campus recruitment. If you are out of collage and want to get into a software job, do a crash course on Java, Data Warehousing or any hot technology you most likely will get a job. Even though its bit hard to grasp the technology in couple of months and crack the interviews but in order to get a similar status and similar paying job you have to work much harder.

When somebody says software is a high pressure job, I suddenly think about Policemen, Army personals, Doctors and Lawyers. I am not sure, I may be very well wrong but does this software job work pressure is anywhere near to the former jobs that I just said. Each and every job has its own pressure and tensions no doubt about it. Even a garbage collector has its own job pressure. They also have to complete their job in time and thoroughly. But the way a software engineer describes about their work pressure, I often feel like laughing. One funny thing I always remember. My father is a Criminal Lawyer. Once I was saying about my job and he asked me what if you don’t go to office for a day. I said, “Some work would be stopped, deliverables would be affected blah blah”. He said, “Well all that can be avoided if you work more the day before or someone else work on behalf you or in worst case the work can be put on hold for the next day. But if I won’t go to the Court for a single day you never know my client would be hanged or jailed or fined.”

Other very good things of software jobs are foreign opportunity, good salary (of course working 10-14 hrs a day). So these aspects are some of the rarest things that other people can imagine. A software guy gets to see the whole world which is a dream for all other industry people.

The secret weapon of software engineer is changing the job. In other industries it’s very difficult to change the job frequently. But in software if you have any problem with your boss, if you need a salary hike or if you need a higher role, you can switch the job easily to get all those. Other important aspect of job change is, once you do that, any bad comment or remarks associated with you are erased. You start a fresh career with the new company. In many other private jobs and in government jobs this not the case. If you have done anything wrong that will haunt you for sometime and affect your career.

Let’s talk about working with difficult supervisors and ill mannered co-workers. Without describing much what I can say is, it’s fairly easy to avoid these guys in software companies compared to any other company. You will definitely suffer once you are not in good touch with your boss but it could be easily avoided in software companies. If anything is not working, you remember the secret weapon!?

Now if you talk about the competition among peers, its very stiff in other companies. In software everything is scientific and measured. Everywhere else its more of artistic and lot of politics mixed, which makes it harder for anyone to handle. If you see in terms of number also the number of people you are competing with in a software company is lesser compared to other industries.

Other complaints like not getting onsite, no hikes this year, no proper utilization of skill, seem to be luxurious complaints. Which I never cared a lot.

Whatever say there are some real challenges for software engineers. Certainly its not a cake walk to be a software engineer. Like they have to be very dynamic and diversified personals, smart, they always have to live in a world of anarchy and ambiguity which itself is a tough thing. I am not discussing those here. I might write a different blog for this.

Sunday, July 19, 2009

dont we need skill to hit sixes?

Well those of you don’t know; let me tell you that I am an Indian. As an Indian I know three things very well...how to make software, how to break software and Cricket. Anyway forget about software in this economic meltdown, let’s talk about Cricket.

There have been stormy discussions and lengthy blogs written by many Cricket pundits on the evolution of T20 and the future of Test Cricket. As my mood went bit sporty this weekend I thought of writing a blog on the same topic.

Why T20 is not good? When someone say “it’s not real Cricket”, what is real Cricket then? Can anyone tell what that non cricketing factor there is in T20? If you are referring to the glamour of IPL, the belly dance (I mean cheerleaders cheering!) and club structuring of Cricket team, you might be true but in the game itself what is the difference, apart from the game being of 20 overs?

There have been lots of blogs where it is said that there is no cricketing skill required in T20. Do you really agree with this? What my friend Rajesh feels is players need more skill in T20. Rajesh says check the last two IPL and T20 world cups; check out the best batsmen and bowlers. The players you find in the top of the list are the world class batsmen and bowlers (Check the list at the end of the article). There are hardly any Indian or foreign county player who is topping the list. Needless to say that the international players are more skilled than the young league players.

Other point to discuss is after two seasons with 4 big T20 tournaments (2 IPLs and 2 T20 World Cups) there is no clear dominant in T20 format of Cricket. Because the lesser over the game of Cricket would be, the more uncertain the result would be. That is the reason why no teams as of now are winning consistently to emerge as clear T20 champions. In order to become T20 champion you have to win T20 matches consistently which is of a taunting task. You need to be mentally and physically 110% fit at all times to win t20 matches consistently. Each and every ball has to be given utmost importance and there is no scope of laziness or mistakes. Couple of balls can turn the whole match around. You got to be on your toes each moment. You maintain the pace of Test Cricket but T20 has its own speed, its upto you whether you get to the speed or not, if not you are the loser. It is not clear when people say T20 is all about hitting and no skill. Can anyone make me understand how hitting sixes is different from cricketing skill? What is batting all about, is it not about hitting sixes? I know there is something called patience and occupying the crease for longer time but in T20 there is no time for all these things, get into top gear from ball one, if not there is no point wasting time in middle if you are not middling the ball. And mind it; middling each and every ball, hitting sixes each over is all about pure skill, nothing else. Even Mr Gavaskar has told in his interview with Cricinfo that if given a chance he wants to change the match where he made only 36 runs occupying the crease for 60 overs. Same can be told for bowlers. They have got 4 overs to do their job. You better be sending the batsman to pavilion right from the first over else its all over. Same can be told for fielding. This is a department which has to be very very tight when it comes to a T20 format. A 10 run miss or a catch drop can very easily cost you the match. Similarly lets talk about captaincy. If the captain makes a mistake in a decision, there is no time to come back and recover from the mistake. The decisions have to be very accurate to sustain a T20 match. So it is evident that to win a T20 it requires more skill, patience and presence of mind compared to any other format of Cricket.

Cricket is a popular sport worldwide which comes probably third in the rank in terms of number of viewers (thanks to India) but how many countries are playing the sport now? Some years back there were as many 9 major teams (countries) playing Cricket. Now as Zimbabwe is suffering from its own problems the major team count has been come down to 8. Additionally the popularity of Cricket is going down in Cricket major countries like England and West Indies, as per a research. So in order to make Cricket worldwide famous we need to make more countries play Cricket. And mind it if you play Test Cricket there is no one going to follow Cricket for another 100 years. If you want Cricket to be played by countries like America, Japan and China you have to come out of Test Cricket. T20 is the format which can impress them and they would start playing it. I mean its not that you have to stop playing Test Cricket but T20 is the format which you can sell in other countries to make then play Cricket. This is only good for Cricket nothing else.

T20 is a format that requires more skill there is no doubt about it. Also this is the format of Cricket which is the future of the game. So as Cricket lovers lets start supporting T20, to make this sport a great success worldwide.

Statistics ( * marked players are new to international cricket)
IPL 2008
Most runs scored - SE Marsh* , Gambhir, Jayasuriya
Most number of sixes - Jayasuriya, SE Marsh*, Yusuf pathan*
Most wickets taken – Sohail Tanvir, Shane Warne, Sreesanth

World Cup 2008
Most runs scored - Mathew Hayden, Gambhir, Misbah-Ul-Haq Most number of sixes - Craig McMillan, Yuvraj Singh, Chris Gayle Most wickets taken – Umar Gul, SR Clark, RP Singh

IPL 2009
Most runs scored - Mathew Hayden, Adam Gilchrist, AB deVilliers
Most number of sixes - Adam Gilchrist, Mathew Hayden, Suresh Raina
Most wickets taken – RP Singh, Anil Kumble, Ashish Nehra

World Cup 2009
Most runs scored - TM Dilshan, J Kallis, Chris Gayle
Most number of sixes - Yuvraj Singh, Chris Gayle, Kamran Akmal
Most wickets taken – Umar Gul, A Mendis, Saeed Ajmal

Wednesday, July 15, 2009

road trips

When you are taking a long road trip with your friends or families there are two main things to consider and to be taken care of. 1. Safety and 2. Comfort. These two are the most important things, apart from this if you have anything to consider like time or money put them behind safety and comfort. Here I will be discussing about long road trips, means which are more then 8-10 hrs of drive.
So let’s talk about both of the points separately in detail.
1. Safety:

Always prefer Rental Car:
Always consider taking rental cars instead of taking your personal car for long road trips. There are several advantages you will get in rental car. As I have already said, put money behind safety and comfort, so you might have to spend a good amount of money in car rental but that is a better option over driving personal car. Below I am discussing some of the advantages of taking rental car.
· Rental car companies give good new cars, which are comfortable and safe for driving.
· There is no hassle in following up when there is a small accident or something if you have taken the insurance with your car rental
· Rental car come up with spare tires and all the necessary tire changing equipments
· Rental cars are often in good condition with right level of oil and tire pressure
· If there is any major problem with the car in midways, you can change it by going to the car company in any nearby city/airport
· There is no tension if there is a small scratch or something during long trips
· Finally you will not put on mileage on your personal car so your car will retain its resell value :)

Check the car:
I have already told that rental car is a better option over personal car, but if at all you are taking your personal car for road trips please check if the car is ready for the trip or not. It’s important that the car is ready like you. Perform the below checks before you jet set go.
· Examine your car if any local shop. Usually some car shops like Firestone, Jiffy Lube etc offer special checkups for road trips. So if you are doing that, that’s the best but it will cost you some money.
· If you are taking a personal car, overall it should be good and it should not have any fatal problem. Some basic checks like the tire condition, tire pressure, oil level, a/c, wipers, horn and brakes are some important to check. You can get lot of articles on car maintenance in web, check for those.
· Newer car models come with many features. Know all the features perfectly so that you can use it.

Know where to stop:
· GPS is the best thing you can have in road trips but apart from GPS have all the map printouts and a details map with you.
· If you are lost, it’s better to seek help sooner then later. But if it is night don’t stop anywhere as long as you find a right place to stop.
· If you see any tool booth you can ask the toll-man about your route they will help you. Else if you go in a restaurant then you can ask people there. Avoid gas stations and convenient stores.
· Stop and take rest whenever you feel sleepy and tired. It’s good to book motels in between for a nap.
· If you are resting in Rest Area check the surroundings. If you do not feel safe come out of the place
· Plan properly beforehand. Study the maps before, get to know the details of the places and stop appropriately.
· Book the motels and hotels before you arrive the place.

When to drive:
· You can drive anytime, but if possible avoid the twilight and owl-light time. These are the most dangerous time for driving. That is the time when there is problem in visibility because the human eye has to adjust to the changing light. Also that is the time everyone feel sleepy. If not you, other drivers would be sleepy. So that is the dangerous time to drive.
· Apart from these timings all other time are good for driving. Some people say it’s not good to drive in night but in my opinion its better at night because of less pressure (because of no sunlight) to eye. Obviously you have to be more cautious because of less light on the roads.

What to do on road:
· Always abide the rules. Drive within the speed limit.
· When you are entering a different state check the state law. If you are not sure of anything you can check in visitor center, usually located within 5-10 miles after you enter the state. If the visitor center is not opened you can have a stop on any exit and ask restaurant people.
· Usage if Cruise Control should be very minimal. Cruise control can make you sleepy and even it can impede you braking suddenly when it is required. So use Cruise control carefully.
· Listen to local radio if there is any available. It can give you some important information you might be looking for, especially on weather and traffic.

What to do to avoid sleep:
There are some tricks that can keep you awake for some short period of time. But those tricks do not work for extended period. So in order to avoid drowsy driving please see the below tips.
· If you have someone with you its better. Indulge yourself in some conversation. This is the best bet to avoid sleep.
· If you are alone you can also talk in cell phone, but use headphone or car speaker. Do not talk holding the mobile phone.
· You can listen to music; usually bit louder volume is preferred. Avoid any slow, rhythmic music which may put you in sleep instead keeping you awake. Avoid Enigma. This music has the notorious record for the cause of car accident.
· Eat something hot or bitter, it will keep you awake for sometime.
· Coffee or drink with caffeine can keep you awake for sometime.
· Keep the car a/c towards colder side.

2. Comfort:

Choosing a perfect car:
Sometime we do a mistake of choosing a car which is not suitable for us for the trip. In order to choose a perfect car please checks out the following tips.
· Know how many people going. If you are a group of 5 people do not take a compact or even a full size sedan because it would be very congested for a 5 seater car to seat 5 people with their luggage. Rather consider a 7 seater minivan.
· If you are going for a hilly place consider a SUV rather than a sedan, if you are 3 or 4 person.

Be equipped:
· Take all the necessary luggage with you that you may need during travel but keep the list short.
· Take all the equipment you may need in the car like GPS, Car charger, ipass (you can get it from car rental) etc for your comfort
· DO not forget to take all the chargers with you like laptop, camera, handy cam, cell etc

Choose the right place to stay:
· Plan and book before where you want to stay.
· Do not jam pack the rooms with more people sacrificing your comfort.
· Book hotels nearby your visiting places. Sometime it might be costlier but consider the driving time and gas price you will have to spend in travelling.
· Book hotels during night when you are driving long for a nap. Its refreshing and safe.
· Check the reviews before you book the hotel.

Eat the right food:
During trip it’s highly necessary that you eat light and good food so that you will have easy time roaming around places.
· If you can its best to have some of your own food that you can microwave and eat.
· Choose the right restaurant and food to eat, whatever you like even if it takes some more time to reach there.
· Eat light and healthy so that you will not fall sick during trip/vacation