Feeds:
Posts
Comments

Archive for the ‘General’ Category

Favourite Text Editor

This week’s poll results on CodeProject:

CodeProject Poll Results

Unbelievable !

BTW, my favourite text editors are Textpad & Emacs.

Read Full Post »

Most of the hits on my blog come from people searching about salary for jobs in the US. So finally, here is a list created by Salary.com from the data collected from the top 20 metros in US.

Read Full Post »

Foreword:

I started to write this post immediately after reading Dreaming In Code. The book forced me to think why developing software is hard and I decided I need to write a post about it.

Frankly, even after reading that book I couldn’t figure out what really went wrong with Chandler. Was it too much up-front design ? Was it going for a desktop application instead of trying to develop Chandler as a web app ? Was it lack of initial time pressure? Was it some internal politics not documented by the book? I cant say for sure.  After writing a little on this I saved it for future elaboration. I wanted to collect my thoughts and analyze the data which I got from the book. After several weeks I still don’t have any additional point worth writing about. So I just posted it.

Here you go :

 Why is software development hard ?

I think it is a tad unfair to think that Software Development is the only thing that we don’t know how to do. A lot of people, mostly management assholes, seem to get all fired up when talking about software development. Why aren’t we delivering on time? Why are there so many bugs? Why isn’t our zero defect program not working? Why isn’t the CMMI process(or insert your favorite software development process here) helping us do better? Why is all this so hard? Haven’t we doing software development for years? Why aren’t we learning from our mistakes?

After working in the software industry for 5 years, I really don’t know why software development isn’t getting any easier. Certainly the tools have improved. But the increasing complexity of applications, security issues, the development model in a flat world, an increasing amount of people choosing to be developers just because there is more money in it, etc might be reasons why there is so much bad software out there.

People have been raising kids since time immemorial. Still we haven’t figured out the best way to raise our kids. Should we let them be or should we discipline them as we wish ? Should we let them make the decisions or should we make it for them ? Should we teach them life’s lessons or should we let them learn it on their own? A similar argument can be made for the field of personal achievement. What makes a person successful? His genes ? His environment? Can the traits of a successful person be cultivated? Can I copy a successful person and be successful myself? Successful people come from well-to-do background and also from ghettos. There are hard workers and then there are take-it-easy types. There are short ones and tall ones. There are PhD s and high school drop outs. If we really think about it, there are no easy answers and no reliable patterns for this.

If we cant figure out the answers to one of life’s most common happening repeating itself over every generation from the beginning of human life, then why are we so frustrated about being unable to know how to develop useful, quality software on time?After all, software development is only a few decades old.

If you think that the above mentioned cases are not science or engineering related, I should say that the most critical parts of software development are not really Science but Art. Team co-ordination, Estimation and Design are examples.

Read Full Post »

I bought a Sansa Sandisk MP3 player just before my trip to India so that I could have a little more entertainment than staring out of the window and eating the healthy and tasty food served on the plane. I found the player to be pretty good and I had got a pretty good deal on it. There was a free subscription to Rhapsody To Go, worth $14.99/month, for 30 days. This was a pleasant surprise and I immediately used the coupon to start an account with Rhapsody. They do have a brilliant collection of mp3 and worked flawlessly with Sandisk.

On my return from India, I decided to check out their collection. I like to listen to music at work, so I decided to try Rhapsody at work. Unfortunately they dont support Windows 2003 and I have Windows 2003 on my office machine. I did some search on Google and found that they dont support Windows 2003 because some Digital Copyright management components are not available on Windows 2003. Urrgh !

So I decided to cancel the Rhapsody account. I went to their website and clicked the “Cancel Account” link, which took me to a page where it said I should call a particular number to cancel the account. I hate it when they do this. Their aim is to try and do some brainwashing and persuade the user to continue the subscription. Why cant I cancel my account when I want it to? I find it very irritating when the Customer Service Rep tries to ignore your pleas to cancel the account and goes “But Sir, this is a very good option. You should not cancel it. Please try it got a couple of months before you cancel the subscription…. Pleeaaasee…”.

I couldnt find any other option to cancel the subscription, so I called the number and waited. I was put on hold saying that “we are experiencing unusually high call volumes currently. Please call at a later time or continue to hold”, followed by the crap, “Your call is very important to us…”. I think their strategy is to put people on hold until they quit and decide that keeping the account and paying $14.99/month would be less painful than trying to cancel the account.

Having nothing else to do, I started to write this blog. I am still on hold 🙂

Update :

I was put on hold for approximately 45 minutes before I was able to talk to a Customer Service Rep who did the canceling for me, but not before trying all tactics to make me continue the subscription.

Read Full Post »

Justin Rudd works at Amazon. He has written about his interviews at Microsoft and Amazon on his blog.  Pretty interesting read.

Read Full Post »

As you can see from here, I am reading quite a few books lately. I am not a speed reader and so I dont get to read all the books that I want to. The reading list has changed after I wrote this page – i finished a couple, moved some to future reading list, stopped some in the middle and added quite a few to the list. I hope to update the list to reflect the changes soon.

I just completed reading a book called “The Best Software Writings I – Selected and Introduced by Joel Spolsky”. As the name implies, it is a collection of articles relating to software selected by celebrity blogger Joel Spolsky from submissions by his blog readers. He gives a brief introduction to the author and the topic of the article at the beginning of each chapter. Sometimes the introduction is better than the actual essay. A few of the articles are excellent, some are good and a few are mediocre. The quality forms the Bell curve of standard normal distribution. Nobody can get it all right. Not even Joel. All except one of the articles in the book are available online. So I intend to post the links here so that you can read them for free (sorry Joel).

  1. Style Is Substance by Ken Arnold
  2. Award For The Silliest User Interface: Windows Search by Leon Bambrick
  3. The Pitfalls Of Outsourcing Programmers – Why Some Software Companies Confuse The Box With The Chocolates by Michael Bean
  4. Excel As A Database by Rory Blyth
  5. ICSOC04 Talk by Adam Bosworth
  6. Autistic Social Software by danah boyd
  7. Why Not Just Block the Apps That Rely on Undocumented Behaviour ? by Raymond Chen
  8. Kicking the Llama by Kevin Cheng and Tom Chi
  9. Save Canada’s Internet from WIPO by Cory Doctorow
  10. EA: The Human Story by ea_spouse
  11. Strong Typing vs. Strong Testing by Bruce Eckel
  12. Processing Processing by Paul Ford
  13. Great Hackers by Paul Graham
  14. The Location Field is the New Command Line by John Gruber
  15. Starbucks Does Not Use Two-Phase Commit by Gregor Hohpe
  16. Passion by Ron Jeffries
  17. C++ – The Forgotten Trojan Horse by Eric Johnson
  18. How Many Microsoft Employees Does It Take to Change a Lightbulb? by Eric Lippert
  19. What to Do When You’re Screwed by Michael “Rands” Lopp
  20. Larry’s Rules of Software Engineering #2 by Larry Osterman
  21. Team Compensation by Mary Poppendieck [Not Available Online]
  22. Mac Word 6.0 by Rick Schaut
  23. A Group Is Its Own Worst Enemy by Clay Shirky
  24. Group as User: Flaming and the Design of Social Software by Clay Shirky
  25. Closing the Gap, Part 1 by Eric Sink
  26. Closing the Gap, Part 2 by Eric Sink
  27. Hazards of Hiring by Eric Sink
  28. PowerPoint Remix by Aaron Swartz
  29. A Quick (and hopefully Painless) Ride Through Ruby (with Cartoon Foxes) by why the lucky stiff

I should say Joel saved the best for the last. All in all, this was an interesting read. I would surely buy Part 2 if and when it comes out.

Currently I am reading Dreaming in Code by Scott Rosenberg which is about the development of Chandler.

Read Full Post »

Here is the story of a guy who worked as an intern at Microsoft and Google and is now working at Yahoo full-time. He describes his experience at the 3 companies and compares the work atmosphere.

Read Full Post »

Kevin Barnes is an American living in Bangalore, India. His view about India is interesting and he has written about it in his blog post, Living in India.

Read Full Post »

After writing this post, many H1B aspirants have been asking a lot of questions especially on the expenses of living in the US. Many of them are married and would like to know what are the additional expenses in bringing their spouse along with them and about having the delivery of their child in US. For the past few days I have been doing some research and collecting data which would help married guys to take decisions regarding the above. It is taking much more time than I thought so I am putting it off for a while and in the mean time I will answer a couple of questions concisely. I will elaborate on these in the blog post to come (maybe in a couple of weeks).

1. What is an average monthly cost for a couple to stay in CA?Is it possible to survive with an annual package of [60K annual + Health + Dental + Vision Insurance + paid vacations + sick leave etc]

There are a lot of factors to consider when we try to identify the expenses, but to make things simple I will concentrate on the most general ones.

  • Rent – $1200 – $1400
  • Utilities – $200
  • Phone + Internet + Cable – $100 – $150
  • Grocery – $400
  • Health Insurance premium- $200 (including spouse)
  • Car loan payments – $250
  • Car Insurance (depends on whether only one person drives or both of you drives) – $100 – $150 (this will reduce as you build a good driving record. I will explain what is a good driving record in the next post)
  • Gasoline – $100 – $150
  • Entertainment (eating out, visiting places, entertaining guests etc). This is optional – $100 (this is an irregular expense i.e. we might spend $20 a month and $150 another month)
  • Parking – If you work downtown and drive to work you will have to pay for your parking. Chances are low that companies in downtown would provide free parking to employees. It could vary anywhere between $75 to $200 per month.

We can see that the average expense is around $2000 – $2500.

A 60K salary means your monthly gross salary is $5000. Expect $3300 after tax (approx). So you can definitely survive with a 60K salary in CA. But your savings are not significant. But the idea is to get settled in the first year and then think about saving later. California is an expensive place. Other places might be comparatively cheaper. This is for living a decent life. Of course you can spend less if you want to, for eg., getting a cheaper apartment. Please note that we are not considering any unexpected expenses like medical emergencies or motor accidents etc. It is always a good idea to keep some money apart for such emergencies.

2. If I expect a child in US, then what will be the cost as far as care and child delivery is concerned? and do the child and parents gets any privileges in US?

Cost of having your child delivery in US mainly depends on a couple of factors:

  • Your insurance coverage
  • Whether it is a normal delivery or Cesarean

Typically insurance covers 90% of medical expenses while you pay 10%. Sometimes it can be 80-20 which means you shell out more money. Get the best insurance coverage if you plan to have the delivery in US.

Normal delivery costs will be approx $8000. So you spend like $800-$1000. But Cesarean is very expensive – like $25,000. So you pay $2500 – $3000 as hospital expenses. Cesarean means you also have to spend more days in the hospital and more money on medicines. Recovery period is longer too.

Irrespective of these factors, you have to pay for periodic checkups during the pregnancy periods and tests required, if any. There is a typical copay of $20 which you have to pay when you see the doctor. The rest is covered by insurance. Copay for emergency visits will be more, typically $100.

Then there is the expense of bringing your mother/mother-in-law or maybe both and sometimes father and/or father-in-law also for take care of your wife during and after the pregnancy. Assuming you bring just your mother/mother-in-law it would cost like $2000 for visa and flight tickets. If you bring mother/mother-in-law and father/father-in-law then the cost would be double and you might also have to move into a bigger apartment.

Once the delivery is over, other expenses kick in. Baby food is a little expensive. You need to buy diapers and other stuff regularly. If you plan to get a nanny, the expenses would sky-rocket. Day-care centers are also expensive. (More details on the actual expenses in the next post). Babies tend to get ill very often and that is something we cannot neglect. So naturally medical expenses also increase. Currently I dont have any information about the expenses of sending the kid to school, but I will try to get something on that.

If the child is born in US, he is automatically a US citizen. You can get him/her a US passport in a few days. This means you dont have to worry about getting the child a US visa, but will require a visa when you take the child to India (but that is much easier). The child is entitled to all benefits other US citizens will get but the parents don’t get any privileges. However, when the child becomes an adult, he can file for your Green card (not very useful considering the time period required for the child to become an adult, huh ?)

3. My wife in well qualified, Can she work in US legally by any way?

Your wife will be on H4 and cannot work legally in the US. However she can change to a H1 visa and start working (More details on this in the next post).

4. I will be signing an agreement with my employer. From legal point of view, can I break that agreement and go for a change?

The rule of thumb is to avoid getting sued. Legal expenses are more than affordable for the common man. The validity of the agreement you sign may or may not hold up in court depending on federal and state laws and also on the clauses mentioned in the agreement. Nobody can force you to work in a company if you dont want to work there (“Employment is at will”) but they might be able to show that your resignation caused them considerable financial losses and might ask you for compensation. Whether or not you win the case is not the point. The point is that a large sum of money is required for the lawsuit as lawyer fees. That said, the chances of the company taking you to court is low, due to loss of goodwill from other employees and due to the expenses involved. Ok, now my recommendation – work with this company for 6 months or 1 year. Then look for a better job or negotiate for better pay. Once you are on a project the company usually dont have much option other than to pay what you ask for. But this might ruin your relationship with your employer and is not recommended. It would take about a year for you to become settled (getting car, buying required things etc) so I think you should stay with your first employer for that period. By that time you will get to know more about life and work in the US and will be able to make better decisions.

Read Full Post »

Alex Ionescu, the reverse engineering prodigy who came into limelight when news spread that he found a way to bypass the Microsoft Vista DRM, had interviews with 3 of the world’s top software companiesMicrosoft, Google and Apple – and got offers from all three companies!

Guess which company he chose ? Find out here.

Read Full Post »

Older Posts »