Code Monkeys

October 5th, 2008

In today’s IT Industry,  a Software Developer is a person who codes program rather developing it and to make it  irony we call ourselves as developers instead of coders.

A developer in a small company often has to do all phases of software development by himself. The advantage of this is he will know the in and out of whole project right from requirement phase to acceptance testing to deployment in prod. The downside of this is a person has to do the tasks that he is not skilled for. A developer cannot design. Eventually, he develops the solution that satisfies his convenience instead of requirements.

A developer in a big company has to do only coding without thinking about other phases. In a worse case, he will be provided stub code with methods , parameters and return type .. etc. He has to fill up that method with required code just like filling up blanks with suitable words.

We always define program as a set of instructions that do required task. But we never care about effectiveness and quality of code. IT Industry has always produced poor software with low quality code. Tight deadlines which don’t give space for developer’s best makes him to do so. Unfortunately, performance of developer is always measured in terms of number of lines of code.

One of such mistake that we do always is writing unit test cases after writing code. I bet those test cases are the cases that never fail as we write those unit test cases according to the code we have written and not according to the functionality. Have you heard of Test Driven Development? I don’t know how many of us follow this Test Driven Development but one thing is sure most of us wont

We code. We test. We do whatever is needed. We never care about what models we should use. Infact, most developers even might not have known many models except for waterfall or spiral model ( that too if that person is from CS background ). Have you come across scrum or Extreme Programming?

Extreme Programming is one of the most debatable practice in Software Industry. You either love it or hate it. It takes software industry to more unconventional paths. XP breaks all walls and makes its own self defined room.

One last question: Do you write Java as java or as C? Inspite of repeated effort, I am still not able to come out of that. I still write Java as C  :-(

Structured Procrastinators At Workplace

September 3rd, 2008

Aditya, yet another SE, is working at a big MNC for over last two years. He was hard working although lazy sometimes and used to complete his work much before the deadline. He had handled most difficult tasks very well and was alpha geek in the team.  Considering Aditya’s excellent performance his pleased boss put him in an very important project of some big client. But after few months, client started complaining about Aditya’s performance. Aditya was not doing his work at all. Inspite of repeated warnings from both client as well as from his boss, he did not do even a bit of his assigned work. Finally, Aditya was taken back from the client project.

What went wrong with Aditya ?

Giving a thought to this, his boss recalled that during last two years Aditya never used to do certain tasks that he feels uninterested. As he used to carry out most of difficult tasks successfully , those unfinished certain work were always given to someone else in the team. Aditya always had a freedom to choose what tasks to do first from the bunch of tasks that were assigned to him. Out of all tasks, he always used to complete 90% of tasks in less than 50% of allotted time. But he never used to do those remaining 10% tasks and those were always assigned to some other in the team.

At the client location, they used to follow strict order of doing tasks and Aditya was never allowed to choose the tasks that he wants to do. Unfortunately, he was assigned to do the tasks that he never wanted to do. The tasks, which he feels interesting, were queued after these uninterested tasks. Due to Aditya’s basic procrastinating nature, he never finished those uninterested tasks ( which client wanted to finish them first before taking rest of tasks ). Aditya failed terribly and was taken back from the client project.

How Aditya, his boss and the client could have handled this situation better?

The answer is Structured Procrastination.

What is Structured Procrastination?

Structured Procrastination is an approach / strategy discovered by John Perry. It is a way of doing everything else inorder to avoid one important task. It is a technique, if properly used, makes structured procrastinator most efficient than anyone else in his team.

How it is different from procrastination?

Normal procrastinators always avoid doing important tasks ( that are really important and urgent ) and also they don’t do other less important tasks inorder to avoid those important tasks.  They just procrastinate everything.

While structured procrastinators always avoid doing important tasks ( that are not really important and not urgent ) and they do other less important tasks ( some of these tasks are really important and most difficult ones ).

Got it? NO? Let me explain in detail.

How to become Structured Procrastinator?

The first step to be structured procrastinator is to create self-deception point.  Given a list of tasks, choose one or two tasks that you don’t like ( and are not so important or urgent ) and mark them as very important high priority tasks ( self-deception ). Mark the actual important tasks as low priority tasks. Creating self-deception for yourself, now you have to do all those low priority tasks ( which are actually important tasks ) inorder to avoid those high priority tasks ( which are less important or urgent ).

This may initially feel awkard / funny / weird. But as you go on practising it, you will achieve tremendous productivity.

How bosses should handle Structured Procrastinators?

There are many approaches:

Suppose say if there are six tasks to be done by a sub-ordinate which normally takes 18 days considering avg 3 days for each task.

1) Making him fool:  Assign all six tasks to him. Tell him that one out of six is very important task ( which is actually not an important task ). He will do rest 5 tasks in 9 days and will avoid 6th task which he don’t want to do. When he finishes 5 tasks, assign that 6th task to someone else.

2) Understanding what he likes and what he hates: A boss should always understand what his subordinate likes to do and what he hates to do. Always attach a task ( which he hates to do ) along  with other tasks. He will do rest of all tasks inorder to avoid that task which he hates. when he finishes rest of tasks, assign the remaining task to someone else.

3) Let him choose: Assign bunch of tasks and leave it to him. He will choose one task which he don’t want to do and will do rest of tasks. He will usually keep that as last task. As usual, you can always assign that last task to someone else.

Where bosses do mistake?

Structured Procrastinators are not normal workers. They need special treatment. You cannot treat them just as any other worker.

1) Assigning one task at a time instead of bunch of tasks where he will loose the freedom of doing rest of tasks and avoiding important task.

2) Enforcing to follow strict order to complete tasks such as Task A must be completed before taking Task B and Task B must be completed before taking Task C.. etc. If  Task A is the task that he hates to do, then he will never do it and thus he will not be able to do none of them.  ( This is what really happened to Aditya at client location in the above scenario ).

3) You can never ever force a structured procrastinator to do a job that he hates to do. Scold him, threat him, beg him, request him, kill him.. but he will never do that job. His boss must understand this.

Conclusion: Structured Procrastinators, if properly utilised,  take 50% of time to do 90% of tasks while normal workers take 90% of time for the same.  Structured Procrastinators are not black spots at workplace. Only their bosses should know how to handle them properly.

Hyderabad Trip

July 13th, 2008

This trip was unplanned and all suddenly emerged as weekend stress-buster trip. The 3 day trip started from friday evening. We left Bangalore at 7pm. Although, it was expected to reach by next 12 hours, bus took another two hours due to some unavoidable reasons.

Day 1: Our journey began with Golkonda Fort. It is located about 10 kms away on the west of Hyderabad. It is one of the magnificent forts that I have ever seen with splendid architecture. Fort is said to be 800 years old and built by Kakatiya King and later expanded by three Qutab Shahi Kings consecutively.  As you enter the main gate, you will notice the magical acoustic system. A hand clap sounded at the main gate will be heard at the highest point of Golkonda which is almost a kilometer away.  There are beautiful palaces, mosques and temples inside the fort. The whole fort has water supply system. When you visit, don’t forget to see the rock made small pipes attached to the walls of Golkonda fort. The fort is also designed to have well ventilation and flow of air. You can feel the breeze of air even at interior constructions.

After this, we moved to Charminar which is situated at the heart of the city.  It is completely surrounded by shops of Lad Bazaar. Lad Bazaar is famous for pearls, diamonds, jeweleries and bangles. A must visit for  girls. You can also see splendid view of Mecca Masjid from the western direction of top of charminar.

Birla Mandir is a  temple built entirely with white marble. As you go up, temple gives a fantastic panoramic view of Hyderabad and Secundarabad.

Our last point of day one was Lumbini park. It is one of the beautiful parks of Hyderabad located at the banks of Hussain-Sagar Lake. The main attraction of the park is Laser Show. This multimedia show is first ever of its kind in India and is worth to watch it.

Day 2: Our day 2 started with Ramoji Film City. It is world’s largest film studio located 25 kms away from Hyderabad.  It will take almost one day to see entire film city. If you have kids, don’t forget to take them there, they will surely enjoy it. By visiting, you can recap all those popular telugu films’ scenes and also some hindi movies. Buildings with each side having different architectures.. hospital, airport, railway station, library.. etc. You will see many such buildings.

After spending whole day at Ramoji Film City, we went to Hussain-Sagar Lake in the evening. This beautiful lake separates Hyderabad and Secunderabad. There is a magnificent Buddha statue in the middle of lake. We took speed boat race. Ride was fabulous. You can have the glimpse of night view of twin cities, buddha statue and calm lake.

Day 3: This was our last day at Hyderabad. we visited Shilparamam, an arts and crafts village. You will see many hand crafted materials here. There is also a  rock gallery which has natural rock shapes and a village which shows village lifestyle. After this we left to Salarjung Museum. This museum is a must visit. It has so many things that you will feel tired to see all those. art pieces I couldn’t believe that it is one-man’s collections!. There is also one musical clock where for every hour a guardsman ,in the upper deck of clock , comes and strike the bell.

Rest of the day was reserved for some real shopping and some window shopping at the Necklace Road.

In total, it was rejuvenating 3-day trip. We travelled to all places through autos. Autos take you through  shortcuts, inner roads of Hyderabad where you can see the lifestyle of urban Hyderabad.

All photos are stored at this link http://www.zooomr.com/photos/harsha/sets/33799/

Identi.ca – New Microblogging Service

July 3rd, 2008

Today, that’s on 2nd July, Control Yourself, Inc. has launched a new microblogging service Identi.ca . It is similar to other existing microblogging services like twitter, pownce..etc. However there are differences. Loot at the features below.

Features of Identica

  • Identi.ca’s underlying software is available under an Open Source license. It uses Laconica.
  • It supports OpenMicroBlogging. This helps users to subscibe to updates / notices of other services which support OpenMicroBlogging.
  • Content ( except for private user data such as password, email, phone number..etc ) posted on Identica will be open content licensed under Creative commons. So, it is true open service.
  • By default, it provides ur1.ca url redirection service,  which is OSD-complaint, to shorten urls.
  • It supports Openid. WOW!
  • If you don’t like identica or got bored with it sometime later, you can take your data back, move on to another server or service of your choice or even on your own server. WOW! WOW!!.

I have already registered an account. I am 225th user. Subscribe to me at http://identi.ca/harsha

I have also added it to my gtalk. Considering the features mentioned above, I think it will get a huge success. Lets hope.

Love that hurts…Love that heals…

June 30th, 2008

I always wonder about the power of the words that we speak. words control us and our emotions. Words make us happy, sad, angry.. words hurt us.. words heal us.

That is the power of words. Sometimes, knowingly or unknowingly, we hurt our loved ones. Why we hurt our loved ones? Is that another form of love? Or we taken them for granted or we just not able to understand them properly. Yes, we do fail to understand our loved ones no matter how deep our relationship is..

Loving is not about finding similarities but accepting differences. Relationship starts with the process of finding similarities. It is the initial stage that make us to feel, that we are identical Gradually, we realize that, we are not identical, we too have differences just like any other person  in this world. The survival of relationship depends on this entire fact,  “Differences that make relationship and not similarities”.

In order to build a long lasting relationship, there are some responsibilities from our side irrespective of whether the person from other side does it or not.

  • Never stop loving. Never stop caring. Hope for best but don’t expect anything. Love will become divine when you don’t expect anything in return. It is the form of love that a mother gives to her child. Love that hurts will turn to love that heals when it becomes divine.
  • It is more important to trust your relationship than anything else. Trust gives strength.. a strength that bears the pain of wound caused by the other person in a relationship.
  • Be honest. It is not necessary to share everything. But whatever you share, make sure that it is true. Being honest is very important for the survival of relationship. You spoke harsh words. You hurt the person. You spoke a lie. You cheat the person. Love can heal the wound made by hurting, but it cannot heal the wound that caused due to cheating.
  • Understand the situation. Everyone has their own duties. All are busy in their own lives. Still, they try to get the time for their loved ones infact they try their best.  Most important is understanding the person in a relationship. We do everything for that person but we actually fail to understand him/her. Thorough understanding adds another 100 years to the life span of your relationship. “I can’t cry.. that doesn’t mean I am heartless”
  • Forgive and apologize.  We need to learn to forgive when others make mistake and we need to learn to apologize when we make mistake.

Love heals everything. Hmmm… That’s a secret for long lasting relationship. :-)