Wednesday, September 15, 2010

Global Economy...Good or Evil?

Everyone's talked about it for a long time. Programmers have been scared that their jobs will soon be gone. Executives have been salivating at the thought of getting a super smart programmer for less than the US minimum wage. The globalization of software development. I had an interesting conversation about this with a colleague and friend yesterday and some interesting points came up. Free trade.

Generally speaking I believe most people think that free trade is a good thing. It promotes competition and as a result the quality of products. My friend, who shall remain unnamed =), believed that only good could come out of outsourcing. He looked at it from the perspective of pure scientific benefit. The more the competition is for skilled software professionals, the more skilled the profession of software development would naturally become. I can't say that I disagree with this in the slightest. However, this is looking at the issue from a simple, and in my opinion rather naive perspective...

It assumes that all things are equal. That all other aspects do not factor in. In my opinion nothing can be further than the truth. First, the concept of quality. Quality is hard to measure in software. Bugs are of course not related to quality but rather unintended behavior from a functional perspective. Quality, in software engineering, is more associated with non-functional requirements or quality attributes. These are the 'illities.' For example, scalability and modifiability are very highly dependent on the micro-architecture and detailed design of a system. The structure design. This, of course, disappears when a system is compiled. The outside world cannot tell the difference between a well architected system and a poorly architected system. This means that executives cannot tell the difference. They can 'feel' the difference in an indirect, ambiguous way somewhere down the line. What results from that 'feeling' is a rabbit hole in of itself! Either way the only people who understand this quality are technical people and what executive is going to listen to them! After all they could be just lying to save their jobs!

Another aspect is pay scale. Software professionals are highly skilled people. I would go as far as saying their among the elite of the skilled professions. They usually have BS and MS degrees from rigorous academic programs. As a result, they are usually well paid. In a global economy this gets skewed. 15-20K a year job in the states is typically a dead end job requiring no skills or education. However, this amount in a third world country is great!

Some would argue that this is the same as the outsourcing of traditional manufacturing that happened in the late 70's and 80's. I would argue that in spite of the superficial similarities of labor and reducing costs of labor this is very different. Engineering and Computer Science are disciplines and are critical to the growth of society. The US way of life is what has inspired such growth in these fields. When our way of life changes, and it inevitably will as a global economy means a global way of life, so will the growth in the fields.

So is global economy good or evil? I guess we will just have to wait and see...

2 comments:

  1. well see how and if this takes off. I personally have tried outsourcing and it failed MISERABLY. With that said ...if you know of any good firms in India or anywhere else please let me know

    ReplyDelete
  2. Thanks for the reply. Ya I hear you, it's not that easy. I actually do know of a good firm that has an offshore team in Russia. I use to be the dev manager there. Drop me a line and I'll contact you.

    ReplyDelete