The Code That Couldn’t Count Past Midnight
Episode 2: Body Shopping, Midnight Panic, and How India Became the World’s Back Office by Accident
The phone rang in a Bangalore office on a December afternoon in 1999. Not unusual, except the voice on the other end was American, urgent, desperate in that particularly corporate way where panic wears a suit. The problem: every computer system his company owned would forget how to count at midnight on December 31st. The “99” hardcoded into millions of lines of forty-year-old COBOL would flip to “00” and the machines would think it was 1900, not 2000. Banks would miscalculate interest. Airlines would cancel flights. Government systems would fail. The millennium wouldn’t arrive in celebration but in chaos, systems across the world grinding to a halt because programmers in the 1960s couldn’t imagine their code would still be running when the calendar turned.
This continues from Episode 1, where we traced IBM’s 1978 exit and the scramble years that followed. Read it here: Episode 1
The Indian engineer on the phone knew COBOL. Most American programmers didn’t anymore, the language was ancient, obsolete, no longer taught in universities. The Americans had moved on to newer, shinier things. The Indians hadn’t. They’d learned COBOL because that’s what the textbooks taught, what the old mainframes still spoke, what the license raj’s slow technology adoption had preserved like a time capsule.
The American was calling Bangalore because he’d run out of options. The millennium was eight months away. The panic was just beginning.
By 1999, Infosys had already built the myth. Not the reality, the myth came first. Narayana Murthy called it the Global Delivery Model: produce where it’s cost-effective, India; sell where it’s profitable, everywhere else. The twenty-four-hour workday. Indian engineers working American hours, timezone-gifted development cycles where code moved across oceans and time zones, Bangalore working while Boston slept, problems solved by morning. The war room in Bangalore operational around the clock with coordinators in Fremont, Boston, Europe, Japan. Not just offshore. Everywhere at once.
The public story was clean: India as the world’s problem-solver, TCS and Wipro and Infosys as the new infrastructure, the invisible plumbing that kept global business running. The cable-carried voices, the undersea-humming data links, the 128Kbit satellite connections that seemed impossibly fast because they were faster than nothing at all.
In 1991, India had unlatched the gates. Liberalization, privatization, globalization, the license raj crumbled, the Foreign Exchange Regulation Act that drove IBM out in 1978 was neutered, the telecommunications sector opened to private players. Software Technology Parks were born with tax benefits and faster data links. The reforms whose full architecture and contradictions we’ll trace in the next chapter, whose consequences would take a decade to unfold. For now, what mattered was this: Indian firms could finally bid for American work without drowning in bureaucratic quicksand, and the cables could carry data both ways.
The myth said: India saves the world from Y2K. The myth wasn’t wrong. It just wasn’t the whole story.
The scramble of 1978, IBM’s exit, the vacuum, the engineers who stayed, that was Act One. Act Two was learning to export what couldn’t be touched, shipped, or stored. Services. Code. Expertise traveling through telephone lines.
TCS had done it first in 1974, that twenty-four thousand dollar hospital accounting system for Burroughs, building software on an ICL machine they didn’t own for a Burroughs system they couldn’t see, inventing a filter to make incompatible systems speak. The partnership with Burroughs provided ninety percent of TCS’s overseas revenue until December 1978 when it ended and forty-three employees were transferred to a joint venture and TCS lost nearly everything. Again.
By 1981, TCS had bounced back and created India’s first client-dedicated offshore development center for Tandem. That same year, seven engineers in a Pune apartment were debating how to start a company on ten thousand rupees borrowed from Sudha Murthy’s savings. Infosys. They had no client for two years. Two years of nothing. In 1983, Data Basics Corporation from New York became their first customer. That same year they moved to Bangalore. That same year their first minicomputer arrived, a Data General 32-bit MV8000.
Wipro had watched IBM leave in 1977 and seen opportunity in the vacuum. Azim Premji, who’d inherited a vegetable oil company in 1966 at age twenty-one, pivoted. Collaboration with IISc Bangalore in 1981 to build a microcomputer based on Intel 8086. Renamed Wipro Limited in 1982. Software division started in 1984. Offshore software development didn’t begin until 1990. Thirteen years from recognizing the opportunity to actually delivering offshore services. The hardware dreams died slowly. The services model took patience.
Through the 1980s, the model was simple and brutal: body shopping. L-1 visas allowing Indian engineers to work as temporary employees at American client sites. In 1980, the US State Department issued 26,535 L-1 visas. By the late 1980s, entries averaged 60,000 to 70,000 annually. Indian engineers billing from Indian companies but working in American offices. Onsite first. Offshore later. Keep the work within US borders but the costs in Indian rupees.
The work was monotonous. Maintenance. Integration. Legacy system babysitting. The unglamorous, low-margin labor that American firms found tedious. Yet it was training. Every onsite placement was a masterclass in American business, American code, American expectations. The filter mentality from 1974, making incompatible systems work, scaled to an industry.
Why the West Let Services Go
On the other side of the ocean, the vacuum was forming again.
In 1989, IBM struck a landmark deal with Eastman Kodak, $250 million to design, build, and manage Kodak’s data center. The deal that kickstarted the IT outsourcing industry. By 1995, IBM merged its service units into IBM Global Services, became the world’s largest computer services provider. By 1997, a $19 billion operation with double-digit growth for over twenty consecutive quarters.
EDS, Electronic Data Systems, founded by Ross Perot, had been signing long-term billion-dollar contracts with blue-chip clients throughout the 1980s and 90s. Not a hardware manufacturer. Pure outsourcing supplier. Solving business problems through IT services.
Andersen Consulting, soon to become Accenture after splitting from Arthur Andersen in 2001, was taking outsourcing to new heights.
These Western giants weren’t abandoning services. They were offshoring them. IBM Global Services, EDS, Accenture, they remained huge. They just increasingly did the work in India or hired Indian firms as subcontractors. The margins were low. The work was repetitive. The competitive advantage wasn’t in services delivery but in client relationships and strategic consulting. The actual coding, the maintenance, the integration, that could be done anywhere with a satellite link.
Meanwhile, the product companies, Microsoft, Oracle, SAP, avoided services altogether. Oracle had entered ERP applications in the late 1980s but many inside Oracle wanted to discontinue applications throughout the 1990s. They were weak. They competed with Oracle’s partners. They weren’t profitable until after 2000. SAP launched R/3 in 1992, became the ERP heavyweight for Fortune 500 companies, but built software in-house as packaged products, not custom services. Microsoft focused on Windows, Office, platforms, high-margin software that scaled infinitely once written. Services didn’t scale. Services were labor, linear, low-margin. Let someone else do that.
The pattern was clear by the mid-1990s: Western services firms were offshoring to reduce costs. Product firms were avoiding services as non-strategic. Together, they created a vacuum. Not IBM leaving this time. An entire business model migrating offshore because the economics demanded it.
India had spent the 1980s learning to export services, learning SEEPZ’s export infrastructure, established 1973, providing 80% of India’s software exports through the 1980s, learning body shopping, learning offshore delivery. The 1984 New Computer Policy under Rajiv Gandhi had reduced import tariffs, recognized software exports as a “delicensed industry,” changed the government’s attitude from hostile to hopeful. The 1991 liberalization opened telecommunications, allowed full foreign investment in software exports, created Software Technology Parks with tax benefits and data communication infrastructure. Foreign investment increased more than three-fold between 1992 and 2005.
India had been training for this moment for fifteen years. The body shopping. The offshore experiments. The filters making incompatible systems work. The late 1990s just needed a crisis large enough to prove the model at scale.
The crisis arrived with a name: Y2K.
The panic started slowly, then all at once. By 1998, every corporation, every government, every system running code written in the 1960s or 70s or 80s realized: our machines will forget how to count at midnight on December 31, 1999. The “99” will become “00.” 1900, not 2000. Interest calculations wrong. Payroll systems failing. Air traffic control confused. Elevators stopping. Power grids miscalculating. The calendar-breaking moment when time itself needed repair.
Estimates for global Y2K remediation spending ranged from $300 billion to $600 billion. The United States alone spent $100 billion, including nearly $9 billion by the federal government.
The problem required tedious, unglamorous work: trawling through forty-year-old code line by line, finding every instance where a two-digit year was stored, changing it to four digits, testing, retesting, praying it worked. Millions upon millions of lines of COBOL code written before the men fixing it were born.
The skill gap was absolute. COBOL was ancient. No longer taught in American universities. The language had moved on to C, C++, Java, newer paradigms. American programmers who knew COBOL were retirement age or older. The expertise had been deprecated, made obsolete by progress.
India still taught COBOL. The textbooks were old. The curriculum hadn’t caught up. The technology adoption had been slow, license raj constraints, hardware import restrictions, the inertia of poverty. What seemed like backwardness became accidental advantage. Tens of thousands of Indian engineers knew COBOL fluently because they’d never had the luxury of forgetting it.
The H-1B visa quota was increased from 65,000 to 115,000 for fiscal years 1999 and 2000. Tens of thousands of Indian software professionals working for firms like Infosys, Wipro, Satyam, HCL winged their way to corporate destinations in Europe and North America to be on the spot physically to fix the Y2K bug.
Infosys set up a war room in Bangalore operational around the clock through January 4, 2000, with coordinators in Fremont, Boston, Europe, and Japan to resolve Y2K issues from clients. TCS developed a factory model for Y2K conversion, created software tools to automate the conversion process and facilitate implementation by third-party developers and clients.
The wages told the story. Indian programmers were paid $15 to $20 per hour. American programmers $35 to $40. Peak hourly wages were approaching $75 per hour as the midnight deadline approached and panic became desperation.
One engineer later recalled the working conditions: “10 hours a day, in 1999, trawling 40+ year old Western code, via a shared 128Kbit satellite link, and for a few thousand dollars a year.” Another remembered: “Those who were brave enough took the plunge and emigrated to a far away land where talking once a week to family was a luxury leave along seeing them. The job profile involved finding consulting gigs and fixing reams of COBOL code while figuring out H1B, SSN, Building your own vegetarian meals at McDonalds and hunting for the rare desi restaurants and other desi families to network with in remote corners of America.”
One engineer, Kumar Vembu, described the visa constraints years later: “I also felt that while employment was at-will at these companies, my visa status restricted my movement to other jobs. Sometimes, it felt like modern slavery to me.”
There was even a book published later, “Manhattanville & Y2K: Two Short Stories about Indian Engineers in America” by Anil CS Rao, where the second story depicted contractors from Hyderabad, working for a company similar to TCS, helping a Los Angeles state agency mitigate Y2K issues. Fiction, but close enough to thousands of real stories.
In eighteen months, Indian IT went from “body shops”, a derogatory term suggesting commodity labor, interchangeable engineers, to “essential global infrastructure.” The companies that desperate American voice on the phone was calling weren’t auxiliaries anymore. They were the only ones who could fix the problem at the scale required.
Y2K wasn’t just a technical crisis. It was a proof-of-concept test for the entire offshore model. Could Indian firms deliver quality code, on time, under immense pressure, coordinating across continents and time zones? Could the Global Delivery Model, the 24-hour workday, the offshore-onsite integration, the timezone-gift of continuous development, actually work when the stakes were civilization’s clocks?
The test ran from 1998 through January 1, 2000. Midnight arrived. The calendar turned. The “99” became “00.” And the machines kept running. The banks calculated correctly. The planes flew. The elevators moved. The power stayed on.
India had saved the world’s clocks.
Between 1998-1999 and 2000-2001, software exports from India increased nearly 2.5 times in dollar terms. If the millennium had ended with the IT industry exporting just a few billion dollars, over the next decade, exports of this sector expanded more than tenfold. Exports were scheduled to cross $200 billion.
Tata Consultancy Services, Infosys, Wipro, each boasted more than a billion dollars in annual revenue. The top five companies together accounted for only about 35% of software exports, meaning the industry was diverse, distributed, not dependent on any single giant. The United States was the biggest market, accounting for as much as 70% of revenue.
What Y2K proved went deeper than numbers. It was transformation of perception.
Before midnight: India was a source of cheap labor, body shops, engineers doing maintenance work Americans found tedious.
After midnight: India was essential infrastructure. The back office of the world. The place you called when your systems were failing and you’d run out of options.
The Global Delivery Model that Narayana Murthy had articulated, “producing where it is most cost effective to produce and selling where it is most profitable to sell”, had been tested at the largest scale imaginable and it worked. Cost-effective production meant doing as much software development work in India. Profitable selling meant focusing almost exclusively on foreign markets, particularly the US. The 24-hour workday wasn’t just theory. It was operational reality. Bangalore working while Boston slept. Problems discovered in New York in the evening, solutions delivered by morning through timezone arbitrage.
Offshore development could save companies 40-60% compared to onshore hiring, US developers costing $75-$120 per hour versus offshore equivalents at $20-$40 per hour. India’s average hourly rate for software developers: $25-$50. Project velocity could increase by 40% with round-the-clock development cycles across time zones. These figures reflect a model proven viable during Y2K.
The Western services industry accelerated its offshore shift. IBM Global Services, EDS, Accenture, they weren’t just outsourcing to Indian firms. They were setting up their own captive centers in India, hiring Indian engineers directly, building Indian operations. The 1990s pattern of offshore experimentation became the 2000s reality of offshore dependence.
India’s accidental positioning, COBOL expertise, cost advantages, English fluency, timezone gift, fifteen years of body shopping and offshore delivery practice from 1984 to 1999, had become strategic dominance. The scramble years of 1978-1986 had taught Indian firms to survive. The export years of 1984-1998 had taught them to deliver offshore. Y2K taught them they were indispensable.
The services model India had inherited, not chosen, but inherited, from the IBM vacuum of 1978 was cemented in place. Not just viable. Dominant. The only game India knew how to play. And it turned out to be the game the world needed played.
The Back Office
January 1, 2000 arrived without catastrophe. The zerozero-moment passed. The clocks kept ticking. The systems kept running. In Bangalore and Hyderabad and Mumbai and Pune, the engineers who’d spent eighteen months trawling through forty-year-old COBOL code watched the calendar turn and felt something that wasn’t quite triumph and wasn’t quite relief. Validation, maybe. The world had needed them. Had called them. Had paid them. Had admitted, finally, that the work they did, the unglamorous maintenance, the tedious integration, the making-incompatible-systems-work, was essential.
The phone calls didn’t stop after midnight. They multiplied. Every American corporation that had survived Y2K with Indian help now knew where to call when they needed code written, systems integrated, maintenance done. The Global Delivery Model wasn’t experimental anymore. It was infrastructure.
India was the back office of the world. Not the architecture. Not the platforms. Not the products. The back office. The services machine. The place you called when you needed code fixed, systems maintained, integration performed, when you needed something built to specifications written elsewhere.
The inheritance from 1978, services, not products; integration, not innovation; the back office, not the architecture, had calcified. Y2K had proven the model worked, proven it at a scale no one could deny, proven it so successfully that it became impossible to imagine doing anything else. The filter mentality that TCS learned in 1974, making incompatible systems speak, was now India’s permanent position. Filtering between Western demand and Indian supply. Making American specifications run on Indian labor. Translating, integrating, maintaining, but never owning the platforms.
In 1991, when the gates opened and liberalization arrived, there was a moment, brief, fragile, when other paths might have been possible. The telecommunications sector deregulated. Foreign investment allowed. Software Technology Parks built. The infrastructure for something beyond services briefly visible. But Y2K’s success answered a question that maybe shouldn’t have been answered so definitively: What is India good at? Services. What should India do? More services. The validation became a cage.
The internet was already arriving, though few could see it in January 2000. The dot-com bubble was inflating, would burst by 2001, but the platforms being built, Amazon, Google, the architecture of the web, those were being built elsewhere. Mobile was coming. Cloud was coming. The entire stack of platforms and products that would define the next two decades, none of it was being architected in Bangalore or Hyderabad or Pune. India was too busy proving it could maintain legacy systems, too busy succeeding at services, too busy winning the game it knew how to play.
Liberalization, privatization, globalization, the 1991 reforms whose full story and contradictions we’ll trace next, had opened doors. Y2K had walked through one door so decisively that the others started closing. Or maybe they’d never really been open. Maybe the IBM exit of 1978, the scramble that followed, the services model born of desperation, the fifteen years learning to export code through telephone lines, maybe that had already determined which door India could walk through.
India saved the world’s clocks. But who owned the time?
The machines kept running. The engineers kept working. The services model kept scaling. And somewhere in the space between the calendar turning and the phone ringing again, between validation and inheritance, between what was won and what was lost, a question remained unanswered:
When you become indispensable at one thing, when you succeed so completely that no one can imagine you doing anything else, is that victory or trap?
The midnight passed. The code still ran. And India, the back office of the world, started counting not down to zero-zero but up to something no one had named yet, something that might be liberation or might be the same cage with larger dimensions, services at scale but services all the same.
The hum of the call centers started rising. The office parks in Bangalore began filling with new hires. The Global Delivery Model scaled to hundreds of thousands, then millions of engineers. The undersea cables carried more data. The satellite links got faster. The timezone-gift kept giving.
But the platforms, the architectures, the products, those were being built elsewhere.
That was the inheritance. That was what Y2K proved and locked in place. Services, not products. Integration, not innovation. Essential, yes. Indispensable, yes. But never owning the architecture. Never setting the terms. Never building the platforms that others would have to integrate with.
The calendar turned. The zeros held. And India kept doing what it had learned to do between 1978 and 2000: making other people’s systems work, translating between incompatible architectures, filtering, integrating, maintaining.
The back office of the world. Proven. Scaled. Indispensable.
The question lingering in the silence after midnight: Was this what was meant by “emerging market”? Emerging into what?
What’s next in Episode 3
The 1991 reforms promised liberation. Manmohan Singh stood before Parliament in July, quoting Victor Hugo: “No power on earth can stop an idea whose time has come.” The license raj would crumble. Foreign investment would flow. Telecommunications would open. The Software Technology Parks Act would wire Bangalore to the world. What the reformers didn’t say, what perhaps they couldn’t see, was that opening all the doors simultaneously doesn’t mean you can walk through all of them at once. India had spent thirteen years learning one skill, perfecting one model, winning one game. Y2K had just proven that game was worth playing. The internet was arriving. The dot-com bubble was inflating. Amazon, Google, the entire architecture of platform capitalism was being built in garages in California while Bangalore’s best minds debugged COBOL for American banks. The doors were open. But which door would India choose? Or had the choice already been made, back in 1978, when IBM left and the only option was services, services, more services? Next: India’s lucky window, the outsourcing wave, and the question nobody wanted to ask—did we win by default, or was this always the only game we were allowed to play?


