business/outsourcing


My friend Todd wrote about information overload and linked to this Seattle Times article. Is it possible to do good work when there are constant interruptions from inside and outside your head? When there is more interesting stuff in your RSS aggregator than you could possibly read? When friends and coworkers constantly interrupt you?

I would say that if you contrast my average and best work, this is one of the most striking differences.

At my paying work, I sit in a cubicle. I listen to music on headphones continuously because it covers up the noise of people talking around me, which is far more distracting. I believe this environment subtly discourages focused thinking. That is bad because in programming, a well-considered design decision can replace hundreds of lines of code—you can reach an equivalent or better solution with less work for yourself, your testers, and your successors; but not if you're never able to concentrate for more than two minutes. Consequently, there is a subtle, subconscious motivation to be a bad programmer. This reinforces the cultural misperceptions that programming is a rote activity and that programmers are commodity workers.* Another consequence is that any person not content with doing a mediocre job is urged to go into management. This makes the environmental problems self-reinforcing, because managers—whose daily business is primarily communication, not prolonged focus—both favor an interruption-friendly workplace and hold positions of power.

* Although I call the belief that programmers are a commodity a misperception, this isn't always true. In some cases, such as projects for which offshored development is successful, programmers are a commodity. If you are running a software development project, you should be honest with yourself about what you building and whether it's better to have a brilliant team or a cheap, mediocre one.

By contrast, in the programming I do in my spare time, I am rarely interrupted. I would estimate my average time spent focused is on the order of 5 minutes, with peak focus lengths of 30-60 minutes. By contrast, at work average time spent focused is probably about 2 minutes, with peaks of around 10 minutes. I focus more at home for a few reasons:

  • I personally love the project.
  • I sit alone, in my attic office with nobody around. Or I sit downstairs on the couch, but I can easily ask people to not interrupt me (or to stop interrupting) and they honor my request.
  • I never have to wait for my editor or compiler. This means I am not given lots of 30-second gaps perfectly suited to going off and reading stupid websites.
  • Because the edit-test-success/failure cycle is so tight, I don't get distracted enough to wonder if I have any email. So I reduce my checking from once every 5 minutes to about once every hour (I just instrumented my mail checker to measure this, so I should have real data to back this up in the near future).
  • I don't have to work on it if I'm tired, upset, or preoccupied.
  • I know the project better because I did most of it myself.
  • Because I designed the software, I can understand its design and I don't feel held hostage to idiotic design or technology decisions. (I.e. I feel more ourness.)

Of course, not all of these are luxuries employers would want, or be able, to afford their employees. All the more reason to push the feasible ones.

Question for audience participation: Businesses are inclined toward productivity improvements that are measurable. I think businesses could realize productivity gains if they understood some of stuff I just wrote, but I don't know how they would measure progress. Can you think of a way?

link

Cool story, Jennifer! Thanks.

Do I think this would work? I'm not sure. It does seem that some Chinese programmers have immigrated to the US and work successfully as hackers in companies here, so there must be some individuals of sufficient creativity to do at least that work. It is a challenge of building and communicating corporate culture, but I think that creativity *can* be nurtured in the right kind of institution. You're right in saying that it can't be built and budgeted like other products, but I think leveraging the competitive structure that people might already be used to could help it work. Ultimately, though, the real assurance is that China will someday need creativity in its economy. Perhaps not as much as the US does, but globalization will push China a little bit in that direction—for sure.

link

Philip Greenspun asked, "what kind of business should one start given that one already has a person on the ground in Shanghai?" Here's my response.

You should start a firm that, rather than doing commodity IT outsourcing, generates solutions to hard problems using a high-volume competition model. The goal is to drive creativity through competition: a customer provides a high-level challenge (I need to improve the efficiency of our widget manufacturing process), and you bring many different minds to bear on that challenge.

This is contrary to the conventional wisdom that Chinese offshoring is for uncreative work, but I think that (1) it has a chance of actually working, and if does work it will be huge and (2) it can exploit the population size advantage. The key is the competition model. In a nation as populous yet per-capita poor as China, those who get as far as technical school have made the cut over and over again. They are ruthlessly competitive, expert in doing things exactly right.

This has the unfortunate consequence of making them somewhat less creative, focusing on efficiency and correctness of product rather than originality. Still, out of a hundred top Chinese programmers, there must be a handful of already creative ones. In the right environment, others around them can learn to appreciate creativity. And if you want to motivate those others to learn faster, why not use the same motivator that has pushed them through years of difficult schooling? You can even recruit by inviting solutions to open research problems and offering a cash prize. Within the corporation, give the most creative employees a higher status (but do not stratify too much within these ranks in order to encourage mixing, freeform discussion, and serendipity).

Think of it as the marriage of Silicon Valley risk-taking and Chinese labor costs.

link

Behlendorf, co-founder of the Apache Web Server project and current CTO of CollabNet, a firm that hosts systems for collaboration in engineering teams distributed around the world, has an interesting interview at Netcraft. I went there just to use their handy "What's that site running?" tool, but really enjoyed Behlendorf's comments on open source software development, the SCO case, and his own company's experience with offshoring:

At the beginning of 2003, there was much discussion around the executive staff about outsourcing and/or offshoring. We had a dedicated and productive engineering staff in the U.S., but the amount of stuff we *wanted* to do was huge—and customers were demanding new features constantly. I was skeptical about the model where you hand someone a spec and magically they write code for you. While looking at this we met with a company named Enlite Technologies, who had a collaborative project management tool for the electronics-design market, and who had the majority of their engineers in Chennai, India. We were considering outsourcing some work to them, but I really liked the founder (Gopinath Ganapathy) and the team he'd formed, and I wanted something much closer and more, er, collaborative—so we decided to merge. Our products were complimentary, they had a great team in Chennai, and I figured that it was time for us to become our own best-use case in showing how our product could be used to build worldwide engineering teams, as many of our customers had done.

Since that point in time, we've integrated the two teams very tightly. Engineers in each location are spread across the combined codebases, and they know each other on a first name basis. We were the subject of an article in Salon about this. No doubt the topic is controversial, and there are huge challenges to making an offshore or outsourcing model actually work.

The open source model has a lot to do with making that possible. …

link

Friedman has a short and sweet commentary on outsourcing. What it boils down to is this: America has a unique culture and infrastructure designed to facilitate innovation.

America is the greatest engine of innovation that has ever existed, and it can't be duplicated anytime soon, because it is the product of a multitude of factors: extreme freedom of thought, an emphasis on independent thinking, a steady immigration of new minds, a risk-taking culture with no stigma attached to trying and failing, a noncorrupt bureaucracy, and financial markets and a venture capital system that are unrivaled at taking new ideas and turning them into global products.

This resonates encouragingly with some thoughts I wrote a few months ago under the heading A silver lining in the cloud of outsourcing. Though there are some major industry changes that will upset many people— including some I know personally and wish the best for— the end result will be to refine America's focus on innovation. The challenge to address is not just how do we make the short-term economic impact of offshoring less devastating, but how do we transition the labor forces to sustain and develop America's infrastructure for innovation?

link

A sensible take on offshoring from both sides of the debate/ocean.

But the rest of us, like it or not, will have to adjust. The hints about how to make this adjustment are evident at Patni. As I meet programmers and executives, I hear lots of talk about quality and focus and ISO and CMM certifications and getting the details right. But never - not once - does anybody mention innovation, creativity, or changing the world. Again, it reminds me of Japan in the '80s - dedicated to continuous improvement but often at the expense of bolder leaps of possibility.

And therein lies the opportunity for Americans. It's inevitable that certain things - fabrication, maintenance, testing, upgrades, and other routine knowledge work - will be done overseas. But that leaves plenty for us to do. After all, before these Indian programmers have something to fabricate, maintain, test, or upgrade, that something first must be imagined and invented. And these creations must be explained to customers and marketed to suppliers and entered into the swirl of commerce in a fashion that people notice, all of which require aptitudes that are more difficult to outsource - imagination, empathy, and the ability to forge relationships. After a week in India, it seems clear that the white-collar jobs with any lasting potential in the US won't be classically high tech. Instead, they'll be high concept and high touch.

link

Not a lot to this article, but a few notes worth reading toward the end, such as:

"There are truly some areas where complexities'' make sending work offshore difficult, Mr. Vashistha said. He recounted the experience of one client, a skateboard manufacturer with almost all its customers teenage boys, that found sending its support services overseas disastrous. The cultural nuances, and the constantly changing jargon of skateboarding, made it necessary for support calls to be handled by like-minded young American men. The company, which Mr. Vashistha declined to name, moved its support operations back to the United States last year.