do the needful

The trials and tribulations of outsourcing.

7-min read

Finding a reputable, trustworthy developer from India for a client project is challenging. Especially if you’re navigating this minefield alone. In this write-up, I try and make the process easier by identifying a few core issues and how I work around them. Please Find Attached: suicide rates in India (due to the rat race), mitigating ‘overpromising and under-delivering’, weeding out subpar developers through rigorous interviewing, and why I hate certain phrases.

Indian-based developers aren’t all that bad. Some of my most extensive projects have been outsourced to experienced IITians and they’ve handled deadlines with relative ease — with comprehensive code documentation, unit tests, and a close feedback loop. And they’ve been handsomely rewarded for their efforts. But for all of these software engineers, soft skills are something that lacks across the board. This problem rears its ugly head in many forms:

  1. Overpromising and Under-delivering — setting proper expectations

  2. Fake Credentials — spring cleaning

  3. Email Etiquette — why I hate the phrases do the needful, P.F.A, kindly revert back.

I attempt to address each point of contention below.

Rat Race

A 2009 dramedy exploring parental expectations, students' aptitudes, and rote memorization. A refreshing outlook compared to the bleak future of current Indian students. Appropriately subtitled ‘Chase Excellence, Success will Follow”.

For some reason, unbeknownst to me, all of these young graduates fall into this communication trap. They’re raised in extremely competitive environments combined with heavy tiger parenting, where if one loses a contract or can’t secure a job they’re deemed unworthy and fall behind. An unfortunate byproduct of this perceived failure is the uptick in average daily suicides in India (381), with a 3.4% increase in observed suicides in 2019 (139,123) as compared to 2018 (134,516) and 2017 (129,887), as reported by the National Crime Records Bureau.

In 2019, a person in India died by suicide every four minutes.¹

Now, not all deaths can be attributed to career/ educational aspirations, and the farmers of Sikkim and Karnataka are indicative of this causal relationship. Different reasons: droughts, low yield prices, exploitation by middlemen, and loan defaults lead them to cut their lives short. But still, the statistic holds true, because a kisaans inability to provide for his or her family is just another synonym of frustration

India is the greatest contributor to the absolute number of suicide deaths.
Global Health Data Exchange

In a pathetic attempt to curb these numbers, The Indian Government decided to deem suicide illegal, whereby survivors would face a jail term of up to one year and fines under Section 309 of the Indian Penal Code. Trust me, this irony wasn’t lost, especially after Parliament decided to repeal the law in 2014, and in April 2017, decriminalize suicide by passing the Mental Healthcare Act. Baby steps.

¹ The word ‘committing’ implies performing a cardinal sin through a deliberate act, however victims usually do not feel as though they have a choice. And while etymologically speaking this wording might not hold a lot of weight, according to Dictionary.com, replacing the phrase with died by suicide is a small change that can have a big impact.

The Duality of Man and One’s Achievements

I’ve digressed a bit, and since it a month has passed since Mental Health Day, I’ll get back on topic. What I’m trying to say is communal pressure pushes these developers to carve unrealistic goals which unfortunately results in one either losing trust in their ability (or lack thereof) in performing the tasks at hand or dropping them entirely. I pay well above the market rate and expect solid results.

I understand their predicament, but can’t empathize.

The time wasted, vetting, hiring, and peer-programming are lost and can never be gained back.

Playing devil’s advocate, Melissa Rutherford provides more context:

People who over promise and under deliver are often thought of as lazy, self-indulgent and irresponsible, when the opposite may be just as true.

We may get bored after the exciting ‘promise’ has passed.  Then we may begin to fear failure and avoid or procrastinate the now boring task, until it is too late.  We may become distracted by more urgent or fun tasks, telling ourselves that we will do it right after we do this other thing.  This results in last minute urgency and a poor job, thus self-fulfilling that prophecy of failure – and round and round we go -ugh.

Another concern of mine is the lack of communication between outsourcer and subcontractor. I myself had lived through countless horror stories of following up with developers numerous times over the course of a single day so I can then report back to a client. The most common reason why this persists is a direct tangent to the aforementioned issue — when one is knee-deep in a project and a deadline is nearing, they drop the ball and under-communicate to ‘attempt’ to focus on a particular feature. I’m not immune: I’ve done this countless times and have been chastised by clients and employers alike. I go into a hole (my room) and then try digging myself out by rushing to build out a screen or functionality when in actuality I should have known my limitations and either asked for help or asked for more time to address the problem.

A better approach for an engineer would be to identify the project scope at the very start, define strict end goals, and have complete clarity from both channels. Take a few days off and revisit the contract so you know exactly what you’re getting into, and if you have one iota of doubt about your ability to complete the project, be clear about expectations vs. reality. The client will greatly appreciate truthfulness and transparency over promises, promises, promises.

Also: Buffers. Add ten more days for scope creep, and then a few more for bug fixes. You’ll thank me later.

The Ancient Eight Forged Diplomas

In my four years of outsourcing projects, I’ve rifled through hundreds of resumes and CVs — some patterns emerge. Credentials, educational qualifications, plagiarism are rampant and omnipresent when you’re doing work online. If you ever feel something is amiss, one can generally connect the dots with a quick search and a perusal of their online professional profiles.

I’ve haven’t yet hired a developer who doesn’t have an online presence or glowing recommendations.

GitHub repositories are indexed frequently, and committed code can easily be searched. I use a combination of Grep, GitHub Search (unfortunately still lacking), and concatenated Google operators to drill down and find instances of forks. You can also just have a quick call with them to walk you through their favorite project.

For coding interviews, I provide the developer a single prompt, wherein they can either tackle the simpler 1-hour project or take on the 2-hour extensive project, (which has a handful of more accessibility features, for instance, unit testing, documentation, etc.) Prospectives can choose either, I hold no prejudice, but I do set hard limits on the time they can take to solve the question. This kills two birds with one stone: I respect their time and don’t waste it, and I get to see their creativity flow.

Later, we get on a call and once they’ve presented their application I ask them how they would plan to future proof or extend/ add features. If they had one more day what would they do? What about a week? A year? Ten years?

This provides me great insight on how they would operate and the extent to which they would think to hash out a solution. Some interesting nuggets from Twitter below (which in hindsight might be too pretentious and asking for a lot from the Indian subcontinent, but the replies are worth checking out):

Jeff Bezos once said:

‘I’d rather interview 50 people and not hire anyone than hire the wrong person.’

Please take advantage of the Amazon Interview Question Bank:

  • Tell us about a time when you missed a deadline or productivity target?

  • Describe a time when you struggled to communicate something to your boss, colleague, or customer. How did you manage to get your message over?

  • Can you describe your most difficult customer and how you were able to handle their needs?

  • Can you tell me about a time when you were more than halfway through a project and had to pivot quickly due to an unexpected change? How did you handle it?

  • If one of your close work colleagues stole a $1 item, what would you do?

Why I Prefer Canned Replies

Onto my pet peeve. You'll never find the phrases do the needful, please find attached or, my most hated kindly revert back, in any of my emails. For some odd reason, I detest when I read them in one of the back-and-forths from my subcontractors. I’m guessing, years back, those particularly worded emails burnt me and have now left a bad aftertaste in my mouth. It's not the phrases themselves, it's (almost always) the context they are used in. They signify babudom at its worst. Where did that saying come from?

Likely of British origin, during the Raj. I can imagine ‘Kindly do the needful, old chap’ scrawled in the margin of an official missive, as it languidly flitted from one administrative table to another. Many such anachronisms exist; and thankfully, they're dying out one by one. A few decades ago (in the last century, to be precise), it wasn’t very uncommon for official letters to be signed off with

I remain, Sir, your obedient servant.

Later, it was shortened to yours obediently and now has vanished altogether. But why are these phrases still ubiquitous in Indian-English-speak? It partly comes from the language the bureaucracy uses and expects in communication, and given several sociological factors like

  • India’s socialist history combined with a

  • weak pre-92 marketplace,

  • and a strong presence of state-owned businesses (even today)

hereditary roots/ the way you’re raised

  • learning from the grandparents and parents who worked in this bureaucracy

educational misnomers

  • with schools failing to teach soft skills like written communication — which won't help you ace exams and get a job, or push you forward in the rat race, so, therefore, aren’t important — pushing templated answers instead

and company norms, business practices, and formal mannerisms

  1. with workplace culture influencing one’s speech and also what their mentors and management previously did when they were junior (and how they set the tone) — somewhat akin to the polite language you hear in the U.S. South.

You can pick up habits easily when you are not sure what is the right way to behave.

The Indian white-collar mindset is already set in stone, and it’s proving difficult to enact any sort of change. Now, you might say this has no material impact on my life, I’m being facetious, and to some extent incredibly racist, but, for me, words matter.

It showcases a want to break away from the norm, explore possibilities by yourself, and most importantly, have your own voice. But forget all of this, I’m the one hiring and paying developers, and similar to Airbnb having their coding style guide, I can have my very own format where subcontractors should abide by and toe the line.