In Jakarta, the computer users as actually only several percent of all the populations. The people knowing computer is so few and not even to mention that they know programming or logic, they don't think in logic anyways! My problems in Jakarta as software developer is hard to find the exact and accurate of the system requires by the client. For one day a client can say that this form will be submit to this department or this entry form, but the next day, if you meet up with an other user, they will probably tells you that "oh this is not how I work", so it is difficult to gather a correct requirement that all staff agree upon. Since one staff does not have a fix way of doing things, they can handle a single form with different ways, they have all those exceptions which is not organised, base on their client, or maybe have any friendship with the boss and bla bla that makes your system will crash oneday.
Upon a time, I meet a boss, where he told me that why his company is always having failed developing softwares. Thinking and thinking, I told him all above problems, how could we actually use a computer if we are not ready? Like most of these companies are not even computer literated. If you are building a website for example, they ask you why must the page keep flipping (after you submit to refresh for certain). How do I tell them that this is a web application not a windows one, even he don't know how to differentiate one.
Moreover, you place a combo box to select, then they will ask you to place another control that they like. God, I dont know how to face them. Thus this makes many software house going to specialized themselves in some fields, like implementing other software from Microsoft to any others. And many even open training centre to train client, and many software house choose not to develop software from ground up instead. This makes indonesia's programmers reputation earn a great discredit.
And what even more complicated is the government. The government does not have fixed rules, they adjust rules daily like making breakfast, so every time the head or some one responsible is changed, a new rule is coming out to be seen as he is prestigious or is working, which does not really helps company to grow, but rather complicates the system created before, and so many doubts coming out about how this rule should be enforced since it is ambiguous and thus affecting programmers software for sure.
I think, up until the major population is literates well with computer, and have a fix way of doing things, rule by rule, that time probably software will become more stable than ever.

