The Bargain

We always do that in here. Its a way of life. Right from milk, snack, groceries, tickets, electronics, apparels, dowry, corruption everything.. Some legal.. and some illegal. But yes, there’s bargaining everywhere. So, our software industry is not far away.

This draws a very thin line between ethics and business smartness.. though, there’s nothing smart about it.

This is a constant struggle most of us face in a software Job. So much so that, its now an expected behavior between employees and employers. So one asks a question.. If you’re one of those self-respecting and introvert-ish souls, how do you tackle this situation? Frankly, we do not have an answer.. yet.

But, hey.. this is not just an employee’s problem. Its as much an employer’s problem too. In our profession, many engineers tend to be introverts, who’d rather leave a company than get into an argument with lesser beings (managers). So both parties suffer in this situation..

Lets try to analyze the situation a little.. The primary items for discussion tend to be around:

1. Salary (of course, guess thats not india alone)

2. Designation (Yup, explains all the nonsense designations that exist)

3. You guessed it.. Going Abroad.

Lets try to look at them at greater detail.

1. Salary

This is a no-brainer. There’s been a time in everyone’s career, where he’s had to negotiate for the salary package. Its almost like a game of wits between the employee and the employer. This happens at primarily two occassions:

a. During joining a company.. typically determined by the past salary, with a raise.

b. Salary review.. once a year, in most cases.

If you’re in one of those companies where Pay is determined by number of years you’ve served this army, well.. you can’t help much. Just got to serve your time or get out of there.

For others, typically, companies do not have a transparent and well-defined review processes. Lack of transparency means many questions are unanswered and things are manipulated around. This typically serves purpose of the Negotiators.

As a company, you need to be avoiding such cases. Let the recruitment and the review process be as transparent as possible. Always over-communicate in these situations. Do not leave a window for bargainers and negotiators to influence the decision.

2. Designation

Well, they found a solution to it. Invent a new one yourself. I believe companies would be going the route of “Invent your Designation” as an HR perk now. Lets leave this discussion before the Chief assistance Designation Discussion moderator stops us.

3. Going Abroad

This is pretty popular. Some do it coz they like to travel. Some, coz they like the extra money. I’m sure this is not the situation in Western Countries, but yeah..they have the reverse problem. No one wants to leave their place. Lets get back to the point.. This is one of the worst kind of discussions. There’s hardly any merit or logic behind this.

In a product setup, it’d make more sense when the engineers would like to get closer to a customer and understand the situations better. But, in other setups, its basically not related to work at all. In that case, its typically an arm-twisting affair. Or in some cases, act as carrots for the managers too.

Ideally, as a company you’d like to have your most appropriate person for the job to be sitting closest to the customer. That isn’t always the case. In some companies, they also have a round-robin way of selecting who goes next. The situation is rather sad.

As companies, you could make it fair by again making it a very transparent and objective decision. Do not use them as carrots. Do not advertise these things during recruitments. But it seems too ideal.

I understand that there’s no solution being suggested here. This is just an analysis of the situation. I believe it top companies want to attract and retain high quality developers and employees, they need to be solve it in their own ways and not let this nonsense creep into their culture.

As employees, well.. good luck.

Who do you work for?

Who’s your customer?

Typically you work for your customer. A person who pays in return for your services. Its extremely important to know who or which one of them is your customer.

That’s easy, isn’t it.. OK. A small quiz:

Q. If you’re a software engineer.. Who’s your customer?

a) Project Manager

b) Team/Tech Lead

c) Your CXO

d) The actual customer of the company that you work for..

The answer almost always is one of the top three options.. and never the fourth one. By the way, fourth option needs to be the right one.

If you’re a manager, ask your folks this simple question and try it out.. Who do you work for? If you have atleast 50% of your folks say the name of the customer, you’re running a unique firm, most  probably a successful one too..

Minimizing the gap

The crux of the argument is that, its extremely essential that the execution team is well aware of the larger problem at hand. The actual problem that is being solved.

Most of our organizations have so many layers of hierarchy that the people who are executing have no contact whatsoever with the people who’re going to use their solution. No contact.. zip.. zero. Only time they probably meet the customer is some dinner some day.

This mode only guarantees mediocre solutions.. and yes, mediocre companies. The ones which depend on ignorance and mundaneness.. rather than enlightenment and innovation. Ones where developers are props (or famously known as ‘resources’) whose job is to stare at the monitor and tap the keyboard.

Developers are much more than that. Developers are problem solvers. They need to be treated that way.

In most cases that I’ve seen..

accessibility to clients/customer


the quality of the solution,

morale of the team and

overall comfort level of the customer.

As a developer, try to get close to the actual real problem at hand and contribute to the overall solution. As a head of organization, try to encourage your folks to engage at a higher level.

It benefits all the parties.. the developer, the organization and most importantly the customer.


It’s been couple of months since I left Thoughtworks a.k.a TW, one of my dream companies (and still is..). A tribute has been due, so let me try that out here.

Joining TW  was at a time, when I was going through a very lean phase.. both personally and professionally. Leaving my startup wasn’t an easy decision, especially after spending about 2 years on a wonderful product LeadSimplified, which I would always reckon ‘My first Baby’. Professionally, pretty down for obvious reasons. I hadn’t worked in a recognized organization for last 2 years and in our part of the world the word ‘entrepreneur’ is not really a great tag to have. It only gets you into messy situations with your colleagues (especially your boss), if you know what I mean.

TW, I initially thought was the best place I could have gone at that point of time. The open culture, innovation and creative freedom that they practice would not let me feel out of place. I was right to most extent. There is a fair section of the organization which is extremely innovative and hungry (to do something worthwhile).

Getting to the point, A few quotes:

1. Our people are not talking about it (Rebecca Parsons, CTO, Thoughtworks)

A lesson in management for me. The emphasis on bottom-up management and employee empowerment is certainly applaudable.

Something that I touched upon in my article Decision making and organizations

2. Yeah. Of course. (Ketan Hajirnavis, GM, Chennai. Thoughtworks)

These were the exact terms used by Ketan when I went to him requesting for allowing me to register a startup. Any other company.. any other GM.. I would be out of the company. No questions asked. It was my honesty and confidence in TW that I told them about it. That’s the confidence that TW culture instills in its employees.

Couple of things that I would take with me always..

Of course, there were few things I didn’t appreciate.. but that’s for later.

Its an organization any good programmer/consultant would be proud of.. and I am.

Nasscom Product Conclave takeaways

Here are few of my primary takeaways from the event in no particular order..

1. Vivek Wadhwa live..

This one’s obvious. I’ve been a fan of his research and his thoughts for quite some time now. It was great to have his presence there. The sheer candid nature and knowledge of the man is fantastic. He’s not always correct, but the good thing is.. he doesn’t try to be.

2. “Company needs a different management team when its $5M than when it is $500M. Sometimes you have to let people go.”

As an Entrepreneur, you need to be rational about your decisions about your organization. Can’t be very emotional about it. This statement was courtesy Sharat Saran, CEO ON24

3. “Selling is a major function for Entrepreneurs.”

Its not an option really. Entrepreneurs have to be good at selling their idea. If not, should learn it. Replacing this deficiency by hiring a VP-Sales is not a good option at all.

4. “Never sell wrong stuff to people.”

Absolutely. Do not sell people what they don’t need. This model is not scalable. At times, it is better to say “Our product doesn’t really fit your requirement.” If you’re nice enough you can follow up by saying “Here are a few products which can help you with your need… “. You’re building lot of credibility and trust for yourself.

5. “Every employee is your salesperson.”

Every interface that your company has with external world leaves impression. Impressions about your company, people and product. Its essential that every employee of yours understands the true values of your company and exhibits that in his interactions.

6. “Indians have a higher chance of success at their venture”

Since Indians are flexible to change and accomodate/adjust to situations relatively more easily to their western counterparts, the chances of them achieving success is fairly high. Only thing keeping them from it is giving it a shot.

Pitch the dream, not the job!!

Startup hiring is one of the most interesting and humane part of the whole starting up experience. Not something that companies do very well, though.

I’ve seen startup founders feel very apologetic when discussing career options with an employed person. The discussions go like “We wouldn’t be able to pay your current salary”, etc. etc.

Once you’re apologetic yourself, think of what the other guy thinks of you. I’ve been in such situations myself and can say that they’re not the most comfortable situations to be in.

Let’s change the scene a bit.

Founder pitch:

I can offer you a “life changing experience” which your current job is not capable of.

What I have to offer is the “thrill, dynamism, new identity” which your current job cannot provide.

Think of an environment “non-bureaucratic, filled with energy, enthusiasm, challenge, camaraderie”.. Think of us.

And guess what.. I’m paying you for all this.

I mean.. yeah.. why should you be apologetic about offering a lifetime opportunity..

Sell the dream.. Pitch the prospects.. not just the job.

[Shameless self-promotion]

Wanna join us at Orbis.. Send me a mail at satyan[at] with details of yourself (less fluff, more code..) Thanks.

How to find yourself a good programming job

Tricky isn’t it.. especially when you’re a programmer.

Its not about just getting a job anymore, isn’t it. We all need a good job.. a good company to work with. Right set of people to work with. Good environment. Good technology, nice product to work on.. etc. etc. You know all those good things.

But the reality is there are loads of companies out there treating programmers as commodities. You’re put under a manager who comes right from a factory environment.. (actually even the factories are kinda better nowadays). And before you know it, programming is just yet another thing that you do at your job. Probably the least important one too.

Many folks are happy with it. If you are, you are requested to return back from here. Stuff below can lead you in different direction..

So if you’re stuck at such a place, what do you do? How do you make the switch to the kind of workplace that you like.. A place where you’ll be at your menacing best. Thrashing programmatic solutions one after another. Discussing all fantastic tech stuff. Breathing fresh air and coding stuff that you like.. How do you find the right place?

Job Portal (Hmm.. still many programmers are recruited this way)

Job portals are a great way to land yourself in yet another place you want to get out of. I really wonder if companies should even bother looking at them, unless they need posers and half-arsed programmer look-alike in their company.

I mean, look at the process of recruitment.. You enter your resume (one which says nothing about you..) into a site which catches keywords like java, c, etc.. and not your real traits. Then you talk to a recruitment guy, who knows nothing about programming or programmers, except that programmers are a bit odd looking and need to be taught manners.

Then there’s a fantastic interview process. You are made to sit for longer durations, where they check your endurance and frustration limits. This gives them a good idea if that person can bear the frustration that is to ensue once he’s joined the company.  And once the actual discussion starts, its not actually a discussion. Its a one-way street. Questions being fired one after another which has very less to do with actual work that one does.

Its a clear recipe for hiring average folks. One who works for money and has little to no passion for programming as such. One who’s likely to bring all wrong practices into your system. One who’ll never bring an innovative thought, even if his life depended on it.

So you ask what’s the alternative..

Go network with programmers..

Go where good programmers hang out. Talk to them. Know where they work.

Hang out at conferences. Find companies that do good work. Companies that project the right attitude.

Build your personal brand online

Identify a good open-source project that you could relate to and start contributing. Else, start a project of your own and get other contributors to contribute to it.

Get yourself on Twitter, Stackoverflow and earn good reputation in the community.

Earn good referrals.

Earn recommendations and referrals from respected folks in your community. Identify companies that you’d like to work with and earn your way towards meeting their standards of hiring.

These are of course not easy to achieve, but yeah.. are sure going to land you a job which is better than the one you’re currently in.

Try it out..

We’re just getting started with touch apps..

Its yet another post on the touch based tools and apps, but I couldn’t resist. So here it goes..

We heard about the coffee table from gates (Microsoft) a few years back.. The idea was to change the way human machine interaction modes. In layman terms, move away from a mouse, keyboard based interaction to a more natural way of interaction.. (i.e.) through voice, body gestures, pen, touch, etc.

It got me thinking. What happens when people are presented with such technology. How would people react to that?

Well.. I haven’t heard about the coffee table much since. But recently we were presented with a more portable version of it by a gentleman named Steve Jobs. Apple presented iPad to the world. One of the better products that has greeted the market in the last decade and maybe even longer than that. The options of utilization are massive, limited by only one’s imagination.

Here’s a look at recent future with touch screens..

It presents expandable, transparent and easily connected touch based apps. Thats one of the direction they’d move.

Children and Education:

Other area of applicability are children and the whole education and learning space around them. Have you seen a kid with an iPad in hand? Have a look at these pictures and figure out the most natural interface in this:

Obviously the third one with iPad looks the most natural for kids. Kids learn a lot through touch and feedback. With right kind of apps, it can be very intuitive and can change the face of child learning.

Help with Autism:

This also opens up unlimited opportunities to enhance improvement in communication especially for kids with communication disorders. There have been many stories where this interface has helped families communicate better with their special kids.  Have a look at this amazing heart-warming video and see for yourself..

Rural reach:

Owing to its size and intuitive interface, its again a natural choice for apps/services that reach out of rural areas in different parts of the world with low literacy rates. I’m sure with mass production and subsidized rates from government, this can be made available to huge population and large number of people can benefit from this.

Industries like rural healthcare, micro-finance and different services and benefit from this too.. There has been a recent announcement from Indian HRD ministry to launch a 35$ tablet. It may not be a possibility currently but it shouldn’t be long before we reach that point technically..

Looking at the impact that mobile has created in the rural sections, this would be accepted instantly.