12 March, 2006

a coworker asked me this question in an e-mail the other day:

" In "The Pitfalls of Outsourcing Programmers" [ http://www.forio.com/outsourcing.htm ]
Michael Bean argues that offshoring is bad for companies not because of the short-term programmer layoffs but because technology companies will lose their capacity to innovate. He claims that Offshoring is a mistake when technology companies confuse operational effectiveness and strategy.

Do you agree with Michael's assertions?"

here's my response...

interesting reading. i think the author's bit on operational effectiveness vs. strategy is one of the things with which those of us technical, non-c-level folks have trouble. meaning: we're purists on what we do. we think there shouldn't be any compromise on strategy. i do think there's a place for someone to focus on operational effectiveness and his simplistic story about the chocolatier was a good example (albeit, chosen nicely for its rhetorical value).

i think running a business is a tough balance between taking advantage of your workers and taking advantage of your customers. yes, that's a cynical description of it, but, in reality, it's the heart of capitalism. there are times at which a company's leadership has to grab for the profits (especially for a publicly traded company in this market). do i like it? no, i think it sucks. do i agree with the premise of michael's article? yes, outsourcing your core competencies (even part of them) seems like a bad, bad, BAD idea. there are a number of reasons to not do it in software namely: you're taking your entry-level, training type jobs and handing that off to people who won't be feeding your senior staff ranks. eventually, that model bleeds your resource pool and you have to outsource even the senior work. at that point, you've lost all control.

i think, though, that we as developers need to find more ways to add to the process. if the process is as simple as feed documented requirements on one end and code comes out the other end, then it can be done anywhere someone has access to the code repository. i've been thinking of this a lot lately and believe very strongly that we need to be able to add to the process beyond just "writing code," and i don't believe i have an answer, yet.

i don't know if there's anything we can really do in a big company like this, though. i think the trend to outsourcing is a disturbing sign that the business model cannot support the costs of running these businesses. it's kind of like the airlines, the market pressure on ticket prices is in opposition to the market pressure of wall street to make profits. much like the downward pressure on electronics, our software is becoming commoditized too, which means they have to increase productivity per dollar. i honestly feel it's collapsing. however, from those ashes, i think we'll see innovation. broad innovation on much smaller scales. i don't really know how long it'll take, but if the business model doesn't change, implosion is the inevitable outcome.

a slight segue onto my theory of what's causing all the problems... i think it's wall street. but can i blame them? they're just doing what they've always done, which is try to make money. no, i think you have to look at what's infusing all of the cash in wall street. it's us. we all have 401ks that depend on wall street. why do we do that? social security is dying, and the money that, in the past, would have been locked up tightly in that system is flowing to the unstable world of wall street. this is bad. why? because capitalism has no morals. capitalism is about making money and things are only valued by the market. i think things, people, and ideas have value in their utility, not just their calculable cost-benefit... but, then again, i'm not a businessman. i get too tied down in the morality of the situation, which is not to say businesspeople are immoral (well... some are... but there are also immoral technical folks too). i'm saying they are amoral, they are able to make decisions based on the performance of the outcome from the perspective of the company. is this good? well... as long as we're forced to operate in a purely capitalistic system, that's how they have to operate, and we as technical employees should understand that this is how it works and find ways to either make peace with it or take advantage of it in our own way, e.g., educate the heck out of ourselves with the benefits provided by the company, volunteer for projects that stretch our skills, and do all we can to expand our soft skills.

as far as when outsourcing becomes offshoring? i see many sides... the nationalistic side of me says we should do onshoring and work to train people in the US to do this work in areas where the cost of living is low. the globalist view says that it's a good thing to get more economies in this world participating as first-world economies, so we're doing a good thing sending white collar jobs overseas. i am truly divided on this issue.

well... i've droned on for long enough... thanks for asking my opinion.

--rt


No comments: