Have we already forgotten the lessons from offshoring that apply to AI?

Friday 27th February, 2026

There’s a saying in my mother’s village in Jaffna: “போன கப்பலுக்கு கை காட்டேலாது” (Pōna kappalukku kai kāttēlāthu), which translates to you can’t wave down a boat that’s moved on, which is the Jaffna Tamil equivalent of “It’s no use crying over spilt milk”. The Tamil phrase itself has modernised with the times, and the boat has changed to a bus. I was only made aware of the change when my grandmother lamented forgetting to add yesterday’s spinach into her daily bowl of rice (she’s been on that OMAD grind for decades) and told herself to worry about waving down the boat. I had never heard this phrase in my years of mandatory Saturday morning Tamil classes and asked her to elaborate, at which point she made the connection that my mother’s generation had modernised the phrase with the passage of time. She then continued to tell me her stories of her children’s childhood, in between pauses to ask if I was going to eat now and whether I wanted any snacks, but that will have to wait for another time.

While this feels very Linkedin-ey to write, it does make me think about how much we take for granted and think of as normal. There are 5th graders alive today who haven’t heard of One Direction, right as a certain someone is trying to create a new version of them. Knowledge we work hard to gain is lost so very quickly before it gets to the next generation. How quickly will the original phrase become a vestigial phrase? It does have me thinking that we have probably lost and rediscovered so many things (self-healing Roman concrete, for example) that we, as a civilisation, could have advanced further technologically had we had the foresight and grace to share our knowledge more freely.

This is why your manager has been quick to tell you to adopt AI: we’ve forgotten the pains of offshoring our development, or at least, the ones who should remember aren’t being heard. In my experience with software engineers, they acknowledge that offshored engineers are talented technically. However, the issue arises when the foreign team needs context, and it wastes hours of resources on iterations, back-and-forths, and meetings, so many endless meetings.

This should bring about a feeling of déjà vu for vibe coders. It certainly does for me. Vibe coding has its place, and maybe it will reshape our workflow in a way we hadn’t considered. So what do we do?

  1. Be very explicit. We can’t all be Charles Xavier (the minoxidil supplements will hopefully contribute towards that), and we definitely aren’t mind readers. Likewise, your agentic LLM cannot understand something that is left unsaid. It has no sense of consequences (Josh Brake has a wonderful essay on this), so you have to spell it out clearly. Think of it as a communicating with a 5-year-old who has no idea why anything is done the way it’s done but will try their best to do what you asked it to. The Tamil film “Enthiran” had a very appropriate scene for this: the Robot is asked to put on the TV (in Tamil, this is said as TV போடு - which can be interpreted as throw the TV [down] or put on the TV, don’t ask me why the language evolved like that), and of course, he throws the TV. He has no understanding of consequences at that point, he was asked to do something and he tried to complete the request. So be explicit and try foresee any confusion.
  2. Make your own tests. If you, or your team, aren’t writing your tests to ensure your goals are reached, how would you know the output is trustworthy? Were you thinking of asking the LLM to write the tests too? Would you also ask the used car salesman to test the car too, or would you want to test drive it? Younger millennials and Gen Z, our equivalent is the same. Some roles never seem to change.
  3. Write it down. Your goals need to be overcommunicated, and not just to your agent, but to your team as well. You understand the problem, and you can identify and map potential solutions. AI won’t understand the context well enough to frame the problem, let alone understand the problem itself. It can emulate what others did, but it might not be the best option for your problem. Sure, it might recommend Kubernetes for your system design, but do you actually need it? It might believe our workflow will take 8 weeks, when it probably takes 30 minutes.

If we forget that not every single thing needs to be outsourced, this time it won’t just be our resources we are wasting away, but our brains as well (see: Cognitive Debt). And at that point, it truly will be too late to wave to the proverbial boat.