The Woman Behind the Code
By Christopher Kenton
For the last six weeks, I've been exploring the market for offshore technical labor. My company provides application design and development as one part of our integrated marketing services, and we've been watching large numbers of development projects move overseas to cheaper offshore locations. The trend has been moving full bore, with large businesses like Oracle and Dell shifting entire divisions to places like India, where the hourly wage is low and technical skills are high. But in the past few months, a shadow market has begun to emerge for offshore programmers working on an hourly or per-project basis, with all transactions occurring over the Internet (see BW Online, 3/24/04, "Surfing for Offshore Labor").
The opportunity for a business like mine is significant. Highly skilled programmers in the U.S. earn anywhere from $75 to $300 an hour. This makes software development exceedingly expensive. When the economy stalls and competition rises, pricing pressure squeezes our margins to the point where we're barely covering our costs. Finding a cheaper source of high quality programming is the only way to remain both competitive and profitable.
THE QUEST BEGINS.
Having worked with offshore development teams on larger commercial projects, I already knew there was a world of skilled programmers outside the U.S. The only question was how to find individual programmers for much smaller projects, and how to manage the risks without the weight or backing of a large corporation.
After searching bulletin boards and community sites, I was confident I could find qualified programmers interested in small projects, so I picked out a project to use as a test run. Have you ever thought, "Gee, if I only had an application that did X, Y, or Z, my life would be so much easier?" I have a dozen of those thoughts every day. Invariably, the idea isn't big enough to represent a respectable market, and it would cost too much to develop as a custom application, so it never gets built. One application I've wanted to create for a long time is a market-research survey generator -- a tool that I could use to create online surveys customized for my client's Web sites. It was a perfect candidate.
I wrote up a brief functional specification and developed a series of HTML mock ups showing what I wanted the application to do, and put the project out to bid. One site where I posted my project, called Rent-A-Coder, produced about 20 bids from $95 to $4000 for the entire project. The bidders hailed from all over the globe, representing countries in Europe, Asia, and South America.
WINNOWING THE FIELD.
The hardest part of the process has been narrowing the field and selecting a programmer. The first step was to eliminate those who made blustery bids, but didn't bother to mention any details of the functional spec or ask any questions. Experienced programmers tend to ask a lot of questions at the start of a project. Even after eliminating the big talkers, I still had a handful of programmers who seemed both capable and interested. So, without the benefit of a face-to-face meeting or even a phone interview, I needed to learn how to make a decision based on data alone. First, I wasted a lot of time sifting though resumes and cost estimates. Then, inspiration struck and I decided to focus on their bid messages -- and that's where I found a standout.
Other than her immaculate English, Veronica from Argentina seemed to be a strategic thinker. A lot of programmers -- even brilliant ones -- are detail-oriented to a fault. They can easily get sucked into problem-solving routines and lose track of overall progress. While all of the candidates asked questions about the specifications I had defined, Veronica asked about some larger issues that I had overlooked. Even better, she also discussed her strategy for developing the project. It suggested that the she not only had the experience of working on larger projects, but the intelligence to have learned the important lessons from those experiences.
I accepted Veronica's bid and she's been working on the project for a week. Our communication is conducted purely by e-mail, and the project has been going well. She's already completed the "admin" area of the application, and is starting work on the "presentation" area. I expect the project to be done in another two weeks or three weeks. The total cost of the project will be less than $500, not including the time I spent developing the specifications. If my test project works out well, I'll move more projects into the pipeline.
THE HUMAN ELEMENT.
While the business aspects of this venture are exciting, the social and economic issues are just as compelling. I was pleased to discover that the process of managing a small, offshore project follows the same pattern as larger development initiatives, which made it easy to get the project rolling. But I also realized that after working with Veronica for a week, I knew absolutely nothing about her as a person. I didn't know where she lived, what she looked like, what her voice sounded like, or her interests beyond work. In fact, it was only this column that provided the impetus to fill in a few blanks.
Veronica lives in Buenos Aires, Argentina. She is married to another programmer and has a two-year old little boy. The economy is in really bad shape in Argentina, so Veronica started providing programming services online as a way to make extra cash. Just like many Americans, she works in a home office, often waiting until her little boy is asleep to start programming. Other than work and spending time with her family, she likes to read books in English, enjoys writing, and loves to cook.
These are just sketchy details, of course. But they're a sign of what we risk losing when we have the technology to move our business anywhere in the world -- and do so without meeting the people with whom we are doing business. I'm an ardent advocate for these advances, which will benefit both my business and Veronica's. But I find myself wondering how we'll replace the human connections we take so much for granted -- until they're streamlined.