Sunday, July 24, 2016

Happily Ever After

Marry, or stay single? Get hooked for life, or retain your freedom forever? Is it worth turning your nomadic existence into a three-legged race?

Some endure, others fall by the wayside (Courtesy: Wikimedia)

I once received sound advice on this matter that I feel altered the course of my life. I believe more people should be exposed to that line of thinking before they make up their own mind.

Are you a friend magnet?

It all boils down to one simple question - are you confident that no matter where you are, what your circumstances are, how old you are, you can always surround yourself with friends. Because here is a fact of life - friends come, and then they move on in life. Or you decide to move on. You have to make new ones all over again. If you stay single but your friends don't, you are competing with their families for their time.

Loneliness is always around the corner. Unless, of course, you find yourself so many friends the odds of your being alone approach zero. And remember, you must be capable of this mighty feat under all circumstances. Congratulations - you have now defeated one of humanity's greatest anxieties!

Mission Possible

Now, if you are one of the rare few who has already found their purpose in life, and are willing to dedicate everything you have to that purpose - time, money, life itself - congratulations! No, really. You don't need this advice. You don't fear loneliness. You accept your vulnerabilities. You are single-minded in what you want to spend your life on, because you realize there is no finish line to your purpose.

For everyone else, what my friend's father said is worth considering. A marriage is not about living happily ever after. It is about sharing your vulnerabilities with a companion. Within a socially acceptable bond. If  you're lucky and you both strive hard enough, you each also have a best friend for life.

So what will you choose for yourself?

Tuesday, April 14, 2015

A Highway To Hell

Telecom operators control our access to the Internet, but have recently started to challenge the openness and the content-agnostic nature of the world wide web claiming it affects their bottom-line. Should we care? Here's my take on making sense of all the #NetNeutrality fuss using an analogy.

The State and Central governments in India have long been unable to sufficiently fund road and highway-building projects in the country that are key to connecting producers to consumers and disparate communities together. The solution they arrived at was to invite private entrepreneurs to build this infrastructure on a Public-Private-Partnership model so that the projects did not wane for want of public money. In return, the private investors were allowed to charge a toll for all traffic that passed through the roads they setup. Just so we are clear, the roads were still defined as public property. The builders were only allowed to milk their investment for a finite period, usually between 5 to 15 years.

The results are clearly visible around us. Some of the most modern highways we are proud of today were built using this model. Travel times were cut, fuel savings were achieved, value was delivered to both producers and consumers of goods and services who previously could not connect with as much ease.

Toll Plaza Ahead

When you pull over at a toll booth, you pay based on the size of your vehicle. Cars pay less than SUVs which in turn pay less than trucks and buses would. The toll is defined to tax heavier vehicles and ones that can carry more load more than the lighter ones. Sounds fair, right?

One fine day, an established road-preneur starts wondering how they could make more money out of their investments. They look at statistics about the kind and count of vehicles that pass through their toll-booths. "30% heavy trucks! I wonder what they carry?" A little more investigation reveals that most trucks are carrying raw materials like fruits, vegetables, minerals, sand from producers to consuming industries. These industries then ship their finished goods out, some of which again pass through the toll-booths.

The Revelation

"Multi-million dollar companies would have no market or raw materials without my roads!".

This is when a smart, canny road-preneur hits upon a novel toll scheme. Tolls are charged not based on the size or load of the vehicles, but on what's inside them. People can travel for free. Cars and buses only have to pay a nominal fee - way less than what they are used to paying. 70% of the traffic is now elated! Essential goods can also ship for free - milk, medicines, vegetables, grain. How benevolent! Everything else will have to pay extra to be shipped past the booth. Iron ore, sand, cement, steel, food products, dairy products. This is how the road-preneur gets a share of the gravy train the industries around the roads have generated.


The New Order

Industrialists start to get apprehensive. Their production costs are shooting up. Some distributors won't take their goods anymore. The road-preneur senses another opportunity. For a handsome price, a good producer can ship their goods past the toll-booth to distributors for free, forever!

Not all industrialists can afford the handsome price. Only the large ones can. Groceries have fewer selections on the shelves. Construction companies have to deal with cement and steel monopolies. Prices shoot up everywhere.

And then, the road-preneur decided to go too far. For an incredibly handsome price, trucks loaded with smuggled weed and cocaine would pass through free and hassle-free at that. Despite inspecting the contents of the truck, the toll-booth operators would turn a blind eye and not report this to the local authorities.


Up In Arms

Roads and highways are a public property, no matter who constructs them. The Internet is the same. A property for all of humanity.

Road-preneurs were given the land they built on, which was again public property. Telecom operators rent the public spectrum to build their infrastructure on. They lay cables under our lands.

For their hard work and enterprise, they will be rewarded with a means to extract a profit by tolling the traffic on their roads. This is as far as we can allow them to go. Charge by load. Not by content. Not by clout. Or by any other metric that makes the roads more accessible to one over the other. Telecom operators are also handsomely rewarded for connecting us to the Internet. Charge me by data. Any further, and you risk becoming a social evil.

Take Action today. Don't let TRAI be bullied by the vested interests of telecom operators. Save The Internet.

Saturday, September 20, 2014

The Chennai Police Does Deliver

This is a story about a time when the cops did not ignore the call for justice from an ordinary citizen. About a time when an ordinary citizen was pleasantly surprised to see his plea wasn't dismissed as a minor matter. When the interests of those who stand up to violence were taken care of.

I have had few interactions with cops outside of passport application related verification and a chance encounter where an officer offered me and my brother a ride. Most of my perception about them came from the standard channels - newspapers, stories and anecdotes from shared perspectives and sadly, movies. Given this background, I was not optimistic about redressal when life decided it was time for me to visit a police station and register a complaint.

It begins with road rage

I was riding to work one morning on my 2-wheeler when I slammed my brakes to avoid hitting another bike crossing the road, and in my anxiety screamed at him "Aaaaaaarggggh! What are you doing??" (in Tamil). As I watched him park his bike, he walked over to me. I expected him to engage in verbal jousts where I struggle to exchange abuses in Tamil. After a "How dare you shout at me?" (again in Tamil), he lands a punch with his right fist on my cheek. I am still perched on my bike, and I am now trying to find both my own balance and the one that perching on a bike requires. I lose the latter as my bike topples to the side. The former is naturally in check given the size of my aggressor.

A crowd gathers. Of course it does. No one is interested in resolving this. I urge my aggressor to come with me to a police station. He refuses. After the crowd pushes, he asks me to pillion behind him to the station. I refuse to trust him. I tell him we can just park our bikes and walk over. The crowd gets restless. One middle-aged guy comes out of nowhere and screams loudly at me "Deeiiiiiiii. Shut up now. Enough of this." (In Tamil). I refuse to let my aggressor leave. I try to block his escape path as he mounts his ride and prepares to leave the scene. The screamer screams again as I tell him I cannot let this guy go because he has punched me. Another person asks me to note the vehicle number and go to the cops. A lady cleaning the streets nearby is watching all this. She comes over and advises the same. As the perpetrator departs, in my heightened levels of stress, I am not even sure I noted the registration number right a few seconds after I did.

Meet the cops

I walk over to the nearby police booth. It's too early and no one is present. I call the number printed on the booth. Someone at Nolambur Police Station (W7) answers. I describe to him what I had been through. He asks me to find the station and come meet him in person. In 10 minutes, I meet a lady Constable seated at the entrance, and then I meet him for the first time - Constable C. Johnson. He was the person who answered my call. He listens patiently to my story, asks a few questions for clarification, and then asks me to lead him to the spot where the incident occurred.

Once there, he asks around to understand where we exactly were, to confirm that this belongs to his jurisdiction. No one claims to have seen the incident though. I urge him to ask the cleaning lady who is still at work in the area. He walks over to her, and I can see from a distance that she makes a punching motion with her hand. She was probably the witness that mattered in the end.

Constable Johnson asks me to return to the police station and lodge a complaint. The lady Constable guides me through this. Constable Johnson joins us later to complete the formalities. He calls a few resources to see if they can help him establish an address for the registration number of the perpetrator's bike. He is told they do not have this information, probably because it is a recent registration. He urges me to try and find apps or any other online tool that could help him get the address, because his only recourse now is to visit a Regional Transport Office (RTO) a long distance away to get the same. I meet the inspector on duty as well, who assures us that they will help us. A CSR is registered and I am asked to get on with my day as I normally would.

Hope runs low

As I await an update from the cops, I hear many accounts, including one very violent road rage incident, that have been without redressal for years. Anything but positive. I decide to give it my best shot by visiting the station personally every day.

On Day 2, I don't meet Constable Johnson. Another lady Constable on duty reveals that on that particular day he has been allotted a night shift. So I could either meet him after 9pm or the next day after noon. The lady reassures me that they will do their best and that I should not be too concerned.

I realize how gruesome their schedules can be. Day duty one day, night duty the next. I see other cops catching a few much needed winks on steel benches. Not the best conditions for a citizen's first line of defence.

On Day 3, I visit the station once again well after lunch time in the hope that I could meet Constable Johnson. The lady from Day 2 greets me again and informs me that he is having his lunch. I decide to wait, but Constable Johnson overhears this and calls me over. He updates me that since he was busy with another case of a daughter missing from her home, he requested one of his colleagues to visit the RTO and get the registered address for the bike. He asks me to be available around 8pm in the evening, in case they are able to nab the guy from his home.

Closure

At 8.30pm that night, I receive a call from Constable Johnson who urges me to rush to the station. They were able to get an address, and find the perpetrator and have brought him to the station. I take my brother with me for support. When we get there, we find a small crowd gathered. I manage to find Constable Johnson within that assembly and he asks me to identify from a distance whether the guy they have brought in is indeed the same person I lodged a complaint against. I was starting to fear I am forgetting his face, but as soon as I saw him, I realized I hadn't. A few more questions to reaffirm and match my account with that of the accused, and Constable Johnson advised us to let them proceed to register a case against the accused. The Constable informed us that he would be fined and a case would be lodged on his record.

As we walked away, I felt a sense of justice return to the whole affair. That perhaps this means our cops aren't as inadequate as we make them out to be. That perhaps they do care about our welfare sometimes.

I had a whole speech prepared to egg them on to perform their duty. One that involved reminding them that we look at them as our protectors. And that they should ensure we always come to them when seeking protection, and not go instead to a goon who can deliver instant justice in return for money. That all we wanted was to ensure perpetrators do not go about their lives in the confidence that their actions have no consequence whatsoever. That the small guy has no recourse.

I never got to deliver that speech. And I am glad for that. Glad to know that even if this is a small matter, we can all seek a little reassurance that the system does work at times. There are those in the police force who do their job. Who work long hours. Who work gruesome shifts. Who talk politely and reassuringly. Who take our feelings seriously. I salute them.

Sunday, May 25, 2014

Chained To The Mailpost

 When I was a young developer learning his trade, I would look forward to receiving email on my official account. Email that shared important information, made me feel important. Email that asked for opinions, made me feel my opinions matter. Email that asked for help, made me feel I have an opportunity to be altruistic. That was when I used to get 10 emails a day.

Now things are different. I have been shouldered with responsibilities beyond just writing software. Email is now a massive sink-hole where your workday can go to die if you let it. Somehow every update about everything is now relevant because ... oh, you lead a team, and you never know what information might be useful to you.

Hook, line and sinker

"Some systems and services in Antarctica will be down this weekend". Why the hell would I care?

"Announcing the launch of a spanking new 7.1.2.18 version of that product you never heard of". Whatever happened to 7.1.2.17?

"Upgrade your mail-client now. Please do this before 18 September." But, it's only 18 May today.

"I am desperate. I need help finding how to write an asynchronous controller. Any examples?" Wow, you actually decided to email everyone on the team.

"Here's an idea I decided to dream up in my sleep last night. Let's discuss this over an email thread. It's only 4000 characters long." Sparks fly, and then everyone starts reply-all-ing. My mailbox just became someone else's open forum.

"I will be WFH today. My dog pissed into the garden hose." Please cc your neighbours as well, just to be certain. They ought to know there's a hose-desecrating mutt around. And while you're at it, please tell us whether you plan to flush the garden hose clean, or flush it down the garbage chute.

How does one sort through this mess without actually having to put some effort into the actual sorting of the mess?

The only thing a sender can do today is mark an email "Priority" or "Low Priority". But if you only look at Priority email, soon enough, people will figure you out and every email in your Inbox will flash a "!".

If you want my attention, show me you really want it

The Inbox needs to be turned on its head. It should not be trivial to just grab someone's eyeballs. Perhaps we made email too straightforward. Enough for someone to start feeling it is their personal radio station. 

I'm not here, in my Inbox, to entertain myself, but to see if someone is trying to tell me something I should know, or if someone needs me to go do something. If you did not put in adequate effort ensuring your email is designed to help me decide how to prioritize it, you don't deserve my time.

We need the ability to mark every email with a "sell by" date. If you read this after 18 September, it's too late. The closer the expiry date, the more likely I am to prioritize reading and acting on it.

We need the ability to tag each email. "Vital Information", "Immediate Action Required", "To Do", "Help", "Update", "Discussion" and of course, who could forget "WFH"? Better still, tag this separately for recipients who are simply copied because they "Need To Know".

A grown-up's mail client

Now, dear email client, give me the ability to filter by tags. Show an expiry date in the email summary, and let me order by it. Force me to tag each outgoing email, and encourage me to separately tag the ones on CC.

Hopefully when we do that, Discussions go where they ought to - online forums. And Updates go where they ought to - online announcement boards. WFHs disappear because people realize everyone has a delete filter for them, or reach only those who really "Need To Know".

Or better still, we figure out how to bring all the social features found in modern corporate social media to our mail client. Or maybe take our email to a more social platform. Now all those discussion threads, announcements, personal and team-wide To-Do lists, calendars, are right next to your other "Need To Know" and "Vital Information" email. Next to, not intermixed.


It's time to get the excitement back into working with email. Official email need not be a chore. It's OK to let a "Ding. You have mail!" be a heart-fluttering moment.

Sunday, May 18, 2014

Wishlist For The New Government

I did not vote for you, but I did vote. I pay my taxes. I am a citizen of this proud country. Like all other citizens, this is now my government. Whether you read this or not, I have expectations of you. Here is my wishlist.

Don't reform just for the sake of it. Don't open up FDI without analyzing how it affects the masses. We don't want a local Walmart just because. Don't just simply pump money into infrastructure. Instead, have those who yearn for better infrastructure participate in this initiative. You set the business environment. You don't need to setup the business infrastructure.

No more free power, water, land to IT companies. They've milked the tax payers enough. A single Indian Railways employs half as many as the whole IT industry.

Don't ape the US. They are not worthy role models. They snoop on you for heaven's sake. Many leading American economists question their gung-ho capitalist model. We don't need a recession to prove our aping wrong.

Back all your work up with data and models. Hire statisticians on your policy-making panels. Have them predict trends and prove which models will yield expected results before we deploy these policies.

Be Open. Share everything. How decisions are made. How individuals are selected on panels. I should be able to Google anything about your work and land on a .gov.in page. Share information about all subsidies for social schemes and sops given to big business. Let there be no doubt about whether we really are running a socialist government.

Auction everything owned by the citizens. No more doles for non-enterprising businesspersons. Bribing a statesperson or being their relative does not qualify as enterprise.

Increase the scope of e-governance. Make the middle-man obscure. I don't need a passport agent today. Push further. Bring everything online. I would rather not meet a "Babu" if had a choice.

Plug leakages in the PDS system. There are systems that have proved this is possible - Gujarat and Chattisgarh. Ape them.

Bring in universal PDS. You can never be completely sure who is not poor in a majorly poor country like ours. Don't guess. If a few non-deserving families benefit unduly, it's not as big a deal as deserving families being left out.

No more rotting grain due to a lack of storage facilities. Is there any greater sin to let this happen when millions starve each day?

Be pro-entrepreneurship. That is not the same as being pro-business. Make starting up easier. Provide a path to failure for those who wish to learn building something. Entrepreneurs will build those bricks for the foundation you want the future India to stand on, not your Ambanis.

Job creation through entrepreneurship not MNREGA. MNREGA is a band-aid. Not a solution. Entrepreneurs add jobs through their enterprise. They disrupt old norms that don't fit anymore. They create new markets where none existed. They need hands to help them get there. And so they hire. A 100 entrepreneurs will hire more over 5 years, despite a high failure rate, than your pampered big business bullies.

Internet connectivity to every school. This is how we will bring quality lectures to those who don't even have teachers. Enroll volunteers to dub lectures to local languages. Even better - maybe an entrepreneur will figure out how to monetize this. Post everything on YouTube. No barriers to education.

Abolish diesel subsidies completely. Enough bad smoke has filled our skies from folks riding 4x4s running on diesel. They can easily pay double to do the same.

Be pro-agriculture. Make farming a more attractive proposition for those who want to farm. It's not just that agriculture is a traditional occupation. We need self-sustenance and food security for stability at the large scale the second largest population on the planet desires.

Promote organic cultivation. Encourage agri-institutes to R&D and publicize "green" farming practices that ensure long-term food security.

Measure development not by economic growth but by "social mobility potential" - what sort of opportunities are available for upward mobility for those at the bottom of the pyramid.

Prioritize businesses that deserve sops based on long-term objectives. Like combating climate change. Ensuring energy security. Socializing education.

Protect the wild. This is not a nation known for plundering forests. We are historically oriented toward maintaining balance with nature. Empower those who care for our flora and fauna. India is more than just its billion-plus humans.

No more politicians in sport. We need them to take care of larger national interests - not run fiefdoms within sport. Sharad Pawar cannot simultaneously be ICC chief and agriculture minister. Let more sportsmen and businesspersons run sport - bring strategy, experience and business initiatives to sporting bodies.

Invest in citizen security. Pay our police fairly. Make their lives better so they can make ours safer. I'd rather my tax money went to them rather than to sops to big business. Train our police to investigate, coordinate with national security agencies, learn to use modern technology. It is not OK that innocent citizens continue to be blasted away without their families and friends ever receiving justice.

Push businesses to invest in R&D in tie-ups with universities. They cannot continue to sit on the outside and grumble about the poor quality of higher education institutes.

Stop bowing to the West in Climate Conferences and Trade Agreements. Despite their charity toward poverty-removal schemes, they don't give a hoot about poverty alleviation as soon as it directly conflicts with the interests of their own big businesses. You watch out for our best interests. Always.

I would like to believe these are the expectations of not just myself. I would like to believe they belong to an India where our aspirations are no longer bound by reality, but by the dreams the openness of the Internet has exposed us to. It is up to you now to involve us in making these dreams come true. We are here to help. You have our support. Show me what you can do.

Monday, October 14, 2013

The Software Chef - II

Imagine you are a music composer. Would you reel in a singer for your soon-to-be-a-hit song without having heard how they sing?

Now imagine you are a restaurateur. Would you have someone be your chef without having them cook something for you first?

Yet, we work in an industry where we seldom bother to ask a software engineer to write us a small program before we hire them. Why is that? Is software development deemed to be not creative enough? Not skill-heavy perhaps? Then why do we deserve these pay scales?

Your resume here says you can cook....

Some believe programmers can be "trained". All that matters is how intelligent and willing you are. This probably applies to our mass employers (need not name them here). Programmers are a commodity here.

Others believe it is inappropriate to ask someone who says they have been programming for 5 years to write us a program. Almost taboo. After all, programmers will have other opportunities where they are not required to write a program before they are hired.

It all boils down to what you are really looking for. Are you looking to add to your headcount because you told your client there must be 10, not 9, programmers on this project? Or, are you looking for someone who can fit right in and quickly start adding value to your team? Are you looking for someone who clearly enjoys programming, and would bring that same passion to the work they do for you?

The culture of programming

There is a culture to programming, just like with anything else where there are many ways to do something and many heads working together. That culture defines whether I put a space after the '=' operator, whether I use a typical loop or instead apply recursion, and whether I define my classes strictly by properties or by function.

Wouldn't it be useful if we had some idea of the programming culture a certain programmer is bringing into our organization? Does it suit your own programming culture very well? Would they bring a much needed breath of fresh air to your programming team? Or would your senior programmers end up having to constantly review their code so it all "fits in"? What would you have to live with, and what would you be able to welcome with open arms?

You do not necessarily need to use a programming test to weed out your candidates. But, there is so much to be learned from such a test about a candidate's programming acumen and style, that it would be absurd to ignore it. Does my chef candidate prefer to make their dishes too spicy? I'd prefer to know that so I could tell them before I hire them - "We like you. Your Baingan Bharta rocks. If you could just turn the chilli pepper down a notch for our customers.."


Cook me something...

Depending on your inclination to invest time in this, and the kind of team you are trying to build, one of the following testing styles should ideally suit you. The tests could be "offline" - the candidates do this when they can, while trying to balance their other responsibilities and their current day job. Deadlines could be extended on request.

Be My Sous Chef For Today: The ideal test is one that involves having your candidate do something you do on any typical day. That would involve sharing the whole code base with them, or have them work out of your own workstation. In fact, many startups do prefer this "spend half a day with us and do what we do" routine.

A Three-Course meal please: You could come up with an interesting problem that can be easily described in words, and that does not have a ready solution on the internet, and have your candidate solve it completely. Add bonus questions to see which candidates will push beyond the minimum requirements. Ideally, the solution should also have certain clear "culture" requirements like "use Object Oriented Programming" so that the candidate knows they will be assessed for this as well.

Cupcakes: The third best option would be to have them implement a helper routine or class you have developed previously as part of your own work. You should provide compiled classes that they will need (hopefully just a handful) as libraries to use, and perhaps even prepare a skeleton of the class they are expected to implement, complete with method names, arguments and even docstrings. This should be something they can do in a few hours.


Finally, you may choose to give them one shot at it, or provide feedback from their first submission and let them decide whether they would be willing to have another go at it. You will soon discover who is willing to go the extra mile simply because they want their programs to be "perfect" and "bug-free". (There is a reason I used quotes here)


I have made it a point to use programming tests as part of my recruitment process. If you try this out someday, let me know whether it worked well for you. What would you change? How would you make things easier?

Saturday, June 02, 2012

I Apply Therefore I Am

"An engineer is a professional practitioner of engineering, concerned with applying scientific knowledge, mathematics and ingenuity to develop solutions for technical problems." - Wikipedia.

Application. Problem Solving. That is precisely what engineering is about.

In the 4 years that I spent studying engineering however, there were few examinations that actually required solving problems ingenuously by applying knowledge acquired during the course of studying the subject. The only knowledge engineers in India need to possess is the fact that if you spend enough time practicing questions from the last 5 years' papers, you will emerge unscathed into the next semester.

So exams as a medium of testing application is thrown right out of the window. There used to be a saving grace however - the Final Year Project. Your one chance as a future engineer to completely embrace and understand a problem, design and implement it (if you are lucky, with valuable guidance from an able guide), and then proudly present to a jury what you have accomplished in one year.

Revelation

Over the past few months, conversations and interviews with young software engineers have woken me up to a reality apparently everyone else already knew about - no one does their Final Year Project on their own anymore. Well, almost no one.

Open a candidate's resume, find the Final Year Project title, and a quick Google search will reveal two things -
  1. There is a paper published in an IEEE journal with the exact same title.
  2. The project is available for sale at one of the local software training centers.
Teams of four are still formed to "execute" a project, but their members contribute more in terms of chipping in to the pool of money that will be used to purchase a neatly prepared, gift-wrapped project, complete with printed theses and presentations.

Bring the project up in an interview, and 2-3 basic questions later, it is already clear the candidate has no clue how to solve this problem. An excuse or two about amnesia later, the truth bundles out. This is followed by the familiar adage of "everyone does this".

How the examining jury does not realize this project was bought off the shelf like candy is beyond me. Perhaps they have also bought in to the "everyone does this" routine.

Certified To Be Trained

The monolith that is the Indian IT industry has long ago accepted the fact that engineering degrees count for little, and that every single fresh hire will need to be put through the paces of a training regimen. This has in turn lulled our future engineers into the belief that they do not need to apply or prove anything in their 4 years.

Why bother when you will undergo training in DotNet and Java anyway once you have been selected? Focusing on spoken English, aptitude tests and a decent score-sheet tend to pay off more handsomely in these interviews.

Solution At The Root Of The Problem

While not placing the blame squarely at the door of the Indian IT monolith at large, it is hard to see beyond it to find where the problem begins. Being a services based industry, it requires tens of thousands of employees each year - something that has obviously not gone unnoticed with ambitious parents who wish to bring up engineers, and the mushrooming new engineering colleges across the country. This has led to a side-industry of helping students push through the 4-year hurdle of getting a degree - first came the coaching classes, and then the "project training centers".

Instead of, or perhaps in addition to, running enormous training facilities for new hires, why do the behemoths of the industry not actively encourage final year students to take up projects with them? This has the triple impact of improving the quality of the engineer that passes out, while at the same time selling your organization to them and giving you prime access to the cream of the lot.

There are logistical issues to work out, but who is to say that students who can fund their purchases for off-the-shelf candy cannot instead spend on frequent visits to the closest office of a behemoth? Cash spent on grand recruitment schemes could instead be diverted to attracting more students directly from colleges to work on projects and prove their worth on the job, without having to pay them. This is not even close to being an original idea, but I am surprised it isn't more actively utilised.

No More Free Lunch

I like to repeat this. The day isn't very far when just like work migrated on the outsourcing silk route to India, it will migrate further to cheaper locations. When that happens, we either work on projects demanding a lot more application and problem-solving or build products for our local market, that again demand application and problem-solving experience. Both our behemoths and our engineers need to gear up for this eventuality. It has probably already snuck through the door and is hiding behind the couch.