Tuesday, September 23, 2008

Are Software Developers in America Lucky?

This isn't a controversial post. Trust me. Let me give you a small background before you start freaking out.

I have been in the software industry for a long time now. Every time someone moves back to India, and at the same time I chat with someone in India or UAE, I have this dreadful conversation. Read on:

Question 1: Meera, when are you coming back to India?

Meera: I have some family responsibilities, I am not sure I will be coming back soon.

Question 2: You should, the salary they pay here is amazing, do you know?

Meera: Yes, I do. But, I am really happy and content with my salary here as well.

Question 3: How is the working hours there?

Meera: I work 5 days a week if I am within the DC area, and if I am travelling I work 4 days.

Question 4: We work almost 10-14 hours everyday, do you know that?
Meera: Yes, I do. I have also worked when the project was due, and we had tight deadlines.

Question 5: See, that could be one reason why you will not fit in here?
Meera: I don't know, I really know how to manage my schedule and manage work which is assigned to me. So, I don't see any reason whatsoever to work 10-14 hours everyday. I sure wouldn't work at a place where my Manager would expect me to work like that.

Question 6: You guys working in America are really Lucky.
Meera: I don't know, when it comes to work, I can speak for myself and the team with whom I have worked and most worked hard. So, I am not sure why we are lucky?



At this point, I knew the conversation was taking a wrong path, and decided to logout of IM, and later saying that I got interrupted. This has not happened to me once or twice, but many times over the past 2 years. I should admit, I just can't argue at all.

But, I am still shell shocked. Why do developers in India have to work 10-14 hours? Is it really needed? And can you stay focused working 10-14 hours a day? Do you still have the ability to concentrate after 8-9 hours of work? I don't know? I should try working for a month or so in India just to see how things are now, don't you think so?

What are your thoughts? Are we developers working in America really lucky? What do you think?

I remembered the quote from Thomas Jefferson, which says

I'm a great believer in luck, and I find the harder I work the more I have of it.

I guess that sums up why American Developers are Lucky, right?


P.S: If you haven't yet noticed, I am an Indian and proud to be one as well. But, I just don't understand the logic behind working more than 40 hours every single week; and hence this post.

Update: The only reason I posted this article was to know why our fellow developers were working long hours, and to know their state of mind. And it was posted in good faith. I am seeing that the comments are taking a completely different direction, and I just don't want to start a war of words. I am not going to respond/approve any anonymous comments.

41 comments:

  1. same here, I don't understand why they should work 10-14 hrs a day. In my own opinion working such duration will burnt you out and you are not that productive anymore, so most probably its a waste of time.

    ReplyDelete
  2. They work so much because they work for nothing - prices are so low so they need many hours get a good salary. On the other hand, as buyer, u get what u pay for...
    A very low price usually means a very low quality. And this not because the coder is not good ( or so ), but in this case is overworked....

    ReplyDelete
  3. I am not sure I agree with you Spawn. The prices are sky rocketing in India, especially in Bangalore.

    I also don't agree on quality either. If the quality was so poor, all these major companies like Microsoft, Sun, IBM, Accenture, HP.. and many many more wouldn't be there either.

    ReplyDelete
  4. Just came across your blog. The content is great!

    But please, please enable full RSS feeds instead of the partial ones!

    ReplyDelete
  5. Hi Onkar Joshi,
    I just added a subscription link. You should be able to subscribe to the same.

    ReplyDelete
  6. I can say from personal experience, working 14 hours a day would be counterproductive. You are tired, your brain is not firing on all cylinders, you stare at IDE for so long, code just begins to blend in with the background, etc. We work 6 hours a day maximum and are almost always are capable of meeting any realistic dead line while still producing quality code, so why change it?

    ReplyDelete
  7. Hi Paul,
    6 hours only for 5 days or 6 days? Are we not supposed to work 40 hours a week for a full time job?

    ReplyDelete
  8. I guess it depends on your definition of lucky. Is it lucky to have a huge workforce of competitors who work longer hours for less pay and aren't restricted by pesky things like US copyright law?

    I'd also be careful about claiming "major" companies move to India for the quality. Not to be an M$ basher, but Microsoft especially isn't renown for it's quality.

    ReplyDelete
  9. Chris,
    I completely disagree with you. If the quality was compromised the economy in India wouldn't be on a rise, and so many companies definitely would not have offices offshore.

    I am just worried about the amount of work developers do there, and their state of mind.

    ReplyDelete
  10. This may be a problem with perspective. If the people you know are 'contractors' or 'consultants' then they probably *aren't* working more than 8-9 hours a day.
    I can tell you as an American working as a salaried employee of a large co, however, that we routinely put in 80-100 hour work weeks. This has been true of every co I've worked for.
    It is counter-productive to keep this pace, though. Every member of our team (some of whom are Indian) tends to come down ill more often as well as suffer from general fatigue most times.

    ReplyDelete
  11. Meera good post.

    I am struggling to find an answer for that myself, as I am also trying to move back.

    I am sorry to see that your post is diverted by some condescending responses here.

    Quality or not, I think this overtime working culture was raised out of our insecure and over obedient culture. I don't mean to degrade our culture. I too love it. But there are -ves in every culture. And the next big thing is the bossism and bureaucracy that is hard wired into every Indian company's culture.

    I hope people/leaders like you go back improve our working culture and ethics.

    ReplyDelete
  12. It is convoluted logic to say that since Microsoft, Sun, IBM etc. have set up shops in India, the quality of software produced by Indian developers MUST be high. Few companies would tink of developing mission critical software in India. QA is another thing.

    In my personal experience, and I saw it several times - Senior developers at Satyams and Info Sys and Vipros, cranked out sub standard code. I don't mean to inflame passions or imply anything improper, because I am Indian too. The difference is I went to graduate schools in this country and got qualified. A Senior developer at Vipro & Satyam is hardly trained in Computer Science. (S)He took a crash course at some fly by night trade school, and started calling himself/herself J2EE Architect. So my take is - if you learn on the job; it takes longer to code, and you spew out sub standard code in the mean while. It takes some good grounding and experience before you get instincts to do right things. I have seen very few Indian developers at Satyams and Vipros, but they are in such high demand, that they get pulled away to manage or they change jobs. So it is a vicious circle.

    ReplyDelete
  13. Shaun,
    Before joining the current employer, I also worked as a salaried employee for more than 7 years. I did put long hours, but it was only when we had a deadline.

    I guess if you are getting overtime, I have seen employees adding up hours in their time sheets, but I am always skeptical about how much work is actually being done in those over time hours.

    ReplyDelete
  14. Hi,
    Not all 8 hours of working day is very productive.
    From 8 hours I spend:
    2-3 hours per day for some technical and organization cases: see what is with printer, wait my boss, discuss something, talking with customers.
    2-3 hours at morning time is very productive and I can generate good solution.
    2-3 hours that I can just type code.
    And I try also to learn something new every day.
    If I try work more than 8 hours for same project, I produce very bad code and next day I need to overwrite it.

    ReplyDelete
  15. Hi Anonymous,
    I totally disagree with you. I am not sure how many developers you have actually met in either Wipro or Infosys or for that matter even Satyam. Most of them are computer science graduates. I know several of them personally, and the knowledge they have is just amazing.

    BTW, I was just stumped to see that you didn't even spell one of those companies correctly.

    ReplyDelete
  16. Hi Babu Ravuri,
    As I commented earlier also, this post was written just out of concern for all those young developers working long hours to make a mark in this industry.

    Opinions differ, and so, we shouldn't be surprised by these remarks either.

    ReplyDelete
  17. Good post.

    In my opinion/experience I would say Indian developers are staying at office for more than 10 hours a day, because of the time difference between India and US.

    Most of the Indian companies have their projects in US and a on-site/offshore team. Offshore developers who come to office on morning 9'O clock, have to stay late in the evening in order to have meeting with their on-site colleagues, to whom the office starts at approximately 6:30 IST. Because of this, Indian developers are required to stay late at office.

    I agree that there is no relation between the price and the quality of the work we produce.

    ReplyDelete
  18. Veera,
    That sounds really convincing to me. However, if they are supposed to coordinate with developers in another country, why can't they change their timings? Why work from 9.00 a.m? Why not from 2 or 3 p.m. ?

    ReplyDelete
  19. I think its more of a economic situation. In order to attract work, they need to be faster, and cheaper. Once more jobs are located over there, and the economy is not so reliant on foreign companies, and Indian companies are producing a lot of quality software for there own. They will reach a point where they are in a position to not have to do this anymore. Its a very broad generalization yes, but I am talking in a macro sense.

    ReplyDelete
  20. 6 hours only for 5 days or 6 days? Are we not supposed to work 40 hours a week for a full time job?
    Hi Meera, yes I realize that that does not add up, but it's a full time pay, plus we work from home one day per week.

    I just find that everyone is more productive when not overworked. Coders are happy, so is the boss, so I guess everyone wins

    ReplyDelete
  21. Who is the 'friend' who works 10-14 hours a day.

    I know of friends in Bangalore who work only 2 or 3 hours a day and spend the rest of their time on chat/coffee breaks/meetings with their managers/browsing the net etc.

    Many of them are forced to stay for 9 hours at their workplace since they commute by their company transport from far off places.

    The are physically present for 9 hours, but that does not mean they 'work' for 9 hours.

    And yes this is due to the low quality of work they do.

    The good companies like Microsoft, google, yahoo, adobe etc. have the similar work environments they have in the US.

    There is a difference in the second rung of companies like Accenture and IBM who run their India units are lower cost centers.

    And with Indian companies like Wipro, TCS, Infosys and even some MNCs - it sinks down to the pure labour shops.

    It is even instilled in the employee that appearing to work for 10 hours is an aim. And the more mediocre of them eventually accept this as a reality.

    ReplyDelete
  22. In my experience the quality of Indian programmers are the same as any other group: some good, some bad, some superb. My only negative comment is that computer science degrees from India don't seem to correlate to actual knowledge or skills.

    Anyways, to answer your question: Yes, I do think American programmers are luckier. 10-14 hours every day is too long to keep your concentration at a high level and will lead to burnout.

    ReplyDelete
  23. This is another aspect why late sitting happens in software houses. http://itoday.wordpress.com/2007/09/18/late-sitting-in-software-companies/

    ReplyDelete
  24. I work "full time" in the US, but I really generally only work 35 hours per week. I'm actually trying to reduce it to 30, if possible. When you make a salary rather than hourly pay, the unspoken rule is that if you can get quality work done on time, it doesn't matter when or how long you work. That isn't always true, but no manager has ever reprimanded me for keeping a short schedule.

    I've always been confused by people who regularly put in more than 40 hours per week. Usually by 3:00pm, as my workday is ending, I can feel that I've become tired and I don't output at full capacity. If I had to work more, I know I'd become sick or suffer from "burn out". I'd rather have an extra hour or two at home every night and arrive at work fully rested and at peak capacity. It has been very successful for me.

    Ultimately, I think software developers who put in overtime should only do it if they enjoy such long hours. With discipline, anyone should be able to focus more on getting things done (as opposed to web surfing or excessive socializing) and be able to finish early with good results.

    ReplyDelete
  25. I know of friends in Bangalore who work only 2 or 3 hours a day and spend the rest of their time on chat/coffee breaks/meetings with their managers/browsing the net etc.

    Many of them are forced to stay for 9 hours at their workplace since they commute by their company transport from far off places.


    I would definitely like to know which company will allow you to work for just 2-3 hours, and spend the rest taking breaks and surfing the net. Never heard of anything like this in my entire career. Let me know, I sure will visit them next time when I go to Bangalore, which should be in a month ot two.

    ReplyDelete
  26. Josh,
    I agree 100% with you. If they are getting paid overtime, and they are willing to work long hours, so be it. But, none should be forced to do so.

    ReplyDelete
  27. I have to agree with one of the anonymous posters above, the quality of work I've seen from Indian developers varies as much as it does in any other group. The first few Indian developers I worked with were amazing -- very smart, very practical folks who got the job done the way it should be done. Then I worked as a sub-contractor for one of the large Indian consulting firms: what a contrast! Most of the consultants were barely adequate, and any who were competent were quickly promoted to a position where they became ineffectual. The real problem, though, was a slavish adherence to rules. We had a set of coding rules that were apparently generated by S&R on some C++ coding standards. The code wound up being structured on the same lines as the project: each sprint, each team would produce one EJB. We wound up with a couple dozen 10K-line EJBs, and the attendant performance problems. When I complained, everyone just shrugged. "Yes, it's stupid", they said, "but it's what we were told to do." This experience really took the shine off of "working with a CMM Level 5 company".

    ReplyDelete
  28. I have worked on project which required me to work for 14+ hours for almost 4-5 months. I became a victim of burnout with fatigue as a common symptom. Its not that we always work for 10-14 hours, I had my good share of 6-8 hrs / day too.

    I'm not aware of how big companies work, for I always worked for a medium sized company. In the tough competition to grab a project, medium sized / small companies agree for a shrunk timelines. This forces developers to work overtime to compensate for time.

    I agree that you won't fire all cylinders during those extra hours. Best way would be to keep your creative hours (mornings or which ever works best for you) for designing solutions / coding and other important stuff. And the extra hours for mundane tasks. This is how I used to manage my time.

    ReplyDelete
  29. Heh.. good post. I have a few opinions on the matter. In one company I worked for, we had a team in India of developers and QA that worked while we slept, and vice versa. This scenario worked very well and the team we worked with, for the most part was very good. They did work longer hours, however. I will say that they did have a fair rate of turnover. In the year I worked there, a dozen or more developers "rolled" through on the project on there team while we only had a couple of new hires.

    In a completely different scenario, another company hired to "find cheap labor" and cheap they did. The quality was horrible, communications was impossible as barely anyone spoke english and written english was very difficult at best.

    I've had similar experiences of both good and bad, and not just India, but Russia and China as well.

    The thing is, as I am sure all developers come across, some developers aren't so good, some are. Sometimes you may get a set of contract developers from another country that are fresh out of college and don't have a lot of experience, but the "sales team" for the contract company says they are J2EE architects, 6 year degrees, etc. What can you do. Fact of the matter is, I've seen the same thing here in the US, with american workers (of all creeds).

    That said, I don't know if the hours they work means they are slower... or perhaps the language barrier at times makes it harder to understand what is required. Maybe they are so worried about losing the contract they spend a lot of extra time double checking there code or others code to be sure. There could be lots of reasons why they work longer hours. I think it's really the location/company. We worked with two contract companies from India, one team worked a ton, other team worked long hours when needed, but otherwise had normal 8 to 9 hour days. Maybe it's come down to that developers are a dime a dozen now, and that if you don't bust your arse, you may lose your job to the next guy or gal that will bust there arse.

    ReplyDelete
  30. Posting again - this time, non-anonymously

    Meera,

    Most projects in India are maintenance projects, the kind of work no one would do in US.

    And deadlines are really tight, like - Fix this issue in 2 days or else.. That would explain the long hours, something that I too have to do sometimes.

    Also, this also reduces the kind of exposure the programmers in India get. You can never learn anything by fixing 10 year old code over and over again. Also possibly the reason why Indian programmers do not catch up fast enough with new technologies, or get time to experiment or work on community projects.

    - Programmer in India.

    ReplyDelete
  31. Hi Meera,
    Nice post!!
    Yeah people in india especially the younger lots work more that 10 hrs.
    I must say it is the cultural divide which is the reason. People in US respect other people's personal life beyon 5 PM. But the same is not true in India. For some god forsaken reason the managers in india some way or other make a point for employees to stay back late. If you are not in the good books (reason, not staying late) you sure will get the taste in appraisal. Managers think people staying late are sweating out more while the chump who leaves early is the reason for any mess coming.
    Can you believe people having company policy for work from home dont dare to use the facility just cause they shall come in eye of mangers.You should read the first chapter of 8th Habit of highly effective people and i guess you shall know.

    ReplyDelete
  32. Hi Meera,

    //Why not from 2 or 3 p.m. ?//

    This is something the corporate should decide. But, these days I am seeing a change in the working hours in India. Many companies introducing plans of working from home, flexible work hours, etc. So, I hope, soon Software Developers in India also will become lucky. :)

    ReplyDelete
  33. That is really nice to read that they are making changes, Veera. Lets hope it becomes a standard in all companies.

    ReplyDelete
  34. Hello Meera,

    Interesting post! I work in NZ and quite possibly moving back to India early next year.

    I worked in India for 6 yrs and I disagree that we don't have any green field development coming in. I have seen long hours as well - sometimes due to project schedules and many a times educating myself with new stuff ('cos I had no PC at home). But now I put in 7.5 hours a day at work and, if I can, another couple at home working with favourite open source projects.

    While academics are important I don't quite agree that you can't expect quality code from people who learn from fly-by-night schools. Learning and its application is a continuous process... for everyone!

    'The more you know, the more you know you don't know' :-)

    ohh... and I am not even a fly-by-night school grad.

    Cheers.

    ReplyDelete
  35. Hi,

    I do not believe in working long hours. I also feel that in India the developers are staying in office for 12 hours, but hardly half of that is used productively.

    Take a look on what Mr.NRN (Infy9 has to say about this

    http://kalyaan.wordpress.com/2008/01/17/supposing-a-email-by-narayan-murthy/

    ReplyDelete
  36. This may be a old article but I just saw this post. I have worked in India for many years and I am here in the US. I have gone through this debate many times over and here is my point of view. Many firms in India are offshore firms, meaning they work for the west. This also means the team members have to stay late to coordinate with a group/people in the US and other western countries. This is one of the reason the managers expect the team members to work late hours. In the long run these team members who become managers also expect their team members to follow this model. Ideally the same firms should bring in a policy to come in late to work in the morning if they have to stay late, but they dont as they are afraid that people abuse it. So in the long run it appears that they stay for a long time in the company premises. Although certain things about and Indian state of mind also contributes to it. An Indian give more importance to the colleagues and friends at work place than to the family/kids behind, so he is not in a hurry to rush back home. Also inspite of the fact that they stay long hours in the office, its not that he works for all the hours. Its a misconception to think that. I have seen people go on long lunch breaks and tea / coffee breaks.

    ReplyDelete
  37. Hi,

    The article is very nice i like it .But in my point of view that one thing i share with you that the management performed a very important role in any software company,I think there are three main important parts of management Planning,Staffing and controlling,With out these important there is no concept of a management.
    It is the responsibility of the staff that he should obey the order of management officers.

    ReplyDelete
  38. Hi,

    The article is very nice i like it .But in my point of view that one thing i share with you that the management performed a very important role in any software company,I think there are three main important parts of management Planning,Staffing and controlling,With out these important there is no concept of a management.
    It is the responsibility of the staff that he should obey the order of management officers.

    ReplyDelete
  39. Hi Meera,
    This is an interesting post.
    I am from India, Pune. I work for a software company since last ten years.
    I am also facing the same problem.
    We are actually Forced to work for atleast ten hours.Things are really horrible in most of the big companies in india when it comes to productivity and work culture. The perception is that, if an employee is spending more hours in office, then his manager is a successfull manager and that employee is a very good employee. The way they enforce it is like this:
    You have to attend a meeting at 10:00 AM and the last meeting of the day ends at 8:30PM. This way you are forced to spend more than ten hours in office.
    My observation(after some study) is that 1USD=50Rs is the equation due to which the projects are outsourced in india. The amount of money that the higher level managers make in India is fantastic since the developers are available at throw away prices. Services companies have a HUGE hierarchy and the people at all levels are busy in all sorts of work that is not at all productive. There are only a few guys in the project who really slog and make the project successful. These are the the most underpaid guys. The other guys can really afford to get paid for no value added work.

    ReplyDelete
  40. Very interesting. Thanks for sharing the same.

    ReplyDelete
  41. Now a days Every Software Development Company in delhi Offers Custom Software Development Services like a Application Software Development Services.

    ReplyDelete