free html hit counter
Posted on: Saturday, March 6, 2010 by Rajiv Popat

Tip For Triggering Genuine Conversations: Letting The Lurkers Hang Around.

Jakob Nielsen in his classic article on participation inequality describes what he calls the lurker's pyramid using this simple diagram:

Even more depressing than the diagram, are the statistics that Jakob provides in the article. He explains:

There are about 1.1 billion Internet users, yet only 55 million users (5%) have weblogs according to Technorati. Worse, there are only 1.6 million postings per day; because some people post multiple times per day, only 0.1% of users post daily.

Blogs have even worse participation inequality than is evident in the 90-9-1 rule that characterizes most online communities. With blogs, the rule is more like 95-5-0.1.

Inequalities are also found on Wikipedia, where more than 99% of users are lurkers. According to Wikipedia's "about" page, it has only 68,000 active contributors, which is 0.2% of the 32 million unique visitors it has in the US alone.

Wikipedia's most active 1,000 people - 0.003% of its users - contribute about two-thirds of the site's edits. Wikipedia is thus even more skewed than blogs, with a 99.8-0.2-0.003 rule.

Participation inequality exists in many places on the Web. A quick glance at, for example, showed that the site had sold thousands of copies of a book that had only 12 reviews, meaning that less than 1% of customers contribute reviews.

Furthermore, at the time I wrote this, 167,113 of Amazon’s book reviews were contributed by just a few "top-100" reviewers; the most prolific reviewer had written 12,423 reviews. How anybody can write that many reviews - let alone read that many books - is beyond me, but it's a classic example of participation inequality.

As programmers like to think of and fantasize about the web as this amazing medium of delivering content which allows two way communication. We go out an pass generic statements, like 'today anyone who wants to make a difference can make a difference' and then we go out there an nudge the lurkers and the leaches to come out and participate.

Jackob however has a different opinion. Instead of trying to alter the basic behavior pattern of a lurker, Jakob suggests a variety of techniques for getting feedback from lurkers in the article. Some of these techniques are really interesting. Think of the people-who-bought-this-also-bought-Amazon-feature for instance, where the mere behavior of the lurker: the act of buying a book for instance, actually acts as a feedback for others. Smart.

You may not be able to change the fundamental behavior pattern of a lurker overnight just by nudging him to participate or contribute. You might be able to make him publish a blog post or have him comment on one, but be rest assured that if you are targeting a lurker and expecting him to change he will hide back in his cave again, faster than you can think.

It is a painful reconciliation and an insight that you gain with time, but irrespective of what you are trying to do, building a community, promoting a product, service or an event, your only chance of converting lurkers into participants is by letting them hang around, making them comfortable, making them believe that no-one is watching them, making it really easy for them to get involved in tiny little ways if they want to and most importantly, having them keep coming back.

If they do stick around for long enough or keep coming back every now and then, chances are that some day, you might actually touch them, connect to them or even rub them the wrong way. This is when they might slowly and reluctantly take the leap from being a lurker to an occasional contributor.

If you are reading this and you are a lurker who has never commented here, it's okay. Just keep coming back and some day, we just might 'connect'. Some day we might have a discussion over a blog post that inspires you, moves you or maybe just pisses you off really badly.

Till then, happy lurking.

I wish you good luck.

posted on Saturday, March 6, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, March 5, 2010 by Rajiv Popat

Productivity Tip: Being Effective Involves Utilizing The Magic Minutes.

Jack had taken three rounds of convincing before he agreed to show up at a meeting. Now as we sit there and watch people talk about the insignificantly stupid things like building a uniform process for improving developer productivity, I can here the clicks and ticks of Jack's keyboard.

A few of us decide to peek into his monitor to see what he is up to. Jack has picked up a small class in his project to refractor, has disconnected from the meeting and has decided that he is going to utilize the magic minutes we are whining away doing nothing in the meeting.

It is almost as if Jack is alone in the room and the meeting or all of us do not even exist.

What all of us, other than Jack, are doing in that meeting however is what Seth Godin, in his post, refers to as modern procrastination. Seth explains:

The lizard brain adores a deadline that slips, an item that doesn't ship and most of all, busywork.

Laziness in a white collar job has nothing to do with avoiding hard physical labor. “Who wants to help me move this box!” Instead, it has to do with avoiding difficult (and apparently risky) intellectual labor.

"Honey, how was your day?"

"Oh, I was busy, incredibly busy."

"I get that you were busy. But did you do anything important?"

Busy does not equal important. Measured doesn't mean mattered.

When the resistance pushes you to do the quick reaction, the instant message, the 'ping-are-you-still-there', perhaps it pays to push in precisely the opposite direction. Perhaps it's time for the blank sheet of paper, the cancellation of a long-time money loser, the difficult conversation, the creative breakthrough...

Or you could check your email.

The key insight here is that most of our days, these days are not made up of long work hours. They are in fact made up of magic-minutes sandwiched between reptilian lizard brain grunt work that keeps you busy with nothingness

How you disconnect with this nothingness and make the most of these magic minutes ultimately decides how much genuine work you can do on any given day. I am not talking about multi-tasking here. What I am talking about is totally disconnecting from what does not matter to you and utilizing minutes of nothingness on things that matter.

Go ahead, download that podcast on programming or that audio-book and listen to it while you are whining your time away on a cab, bus or car to office. Keep your list of small-classes-that-need-refactoring ready and work on a class in a meeting that is becoming excruciatingly boring.

Go utilize those magic minutes and go get something done.

I wish you good luck.

posted on Friday, March 5, 2010 7:00:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, February 28, 2010 by Rajiv Popat

Leadership Tip: Stepping Out Of The Frame And Being The Guy That Takes The Picture.

Jack just earned a promotion. A rather well deserved promotion it is. I hand him a promotion letter. He turns around and thanks me deeply for it. The Thank-You is not a causal, thank-you-so-much kind of a thank-you. It is an intense, deep thank you.

I cringe.

I am in a serious problem. A problem I which I refer to as the in-the-frame problem.

After a year of hard work, effort and his very own good luck, Jack has just won a gold medal. Suddenly, for no particular reason I am in the frame of the victory photograph as someone who is responsible for the win. Suddenly I am on the spot as someone who is awarding him his medal.

It sucks being held responsible for Jack's effort, hard work and luck that ultimately got him the promotion.

Most young and budding managers that I worked with in my early life as a developer, loved being in-the-frame when the victory photograph was being taken.

During my career, I have seen managers who will go out of their way to push themselves into-the-frame. Managers who will go so far as politically remind team members how hard they recommended their promotion and how hard they worked to 'convince' the folks high up in the pecking order before the promotion was granted.

I have also seen a few who will go so far as reminding you that their recommendation had weight and impact on the promotion decision that was much more than your own effort, hard working, timing and luck.

You got the monkeys out of their path, you kept them away from long winded meetings, you mentored them and you got them to flock together. Most young managers tend to think of themselves as the captain of the team and when the team is being awarded the gold medal it is but natural for the captain to be in-the-frame of the victory photograph.


Actually, wrong.

This is a lesson that most managers around the world find it hard to reconcile with. It took me years of working with multiple teams to understand this and I; dear reader am going to let you on this dark leadership secret that you may not find very amusing. It might make you feel hugely insecure at first. Understand it well, and it help you go a long way.

This same secret might actually help you build lasting teams that are not just effective but really good as sustaining themselves in your absence.

Ready? Here you go: Your job, primarily revolves around hiring and placing the right person for the right job.

If you have hired a seriously kickass team chances are that they will kick ass. Don't get me wrong. All your pep-talk, one-on-one discussions, getting the shit out of their way and all your mentorship does make a difference but what I am here to tell you dear reader, is that maybe, just maybe all that is not enough to make a difference between whether a team succeeds or fails in the long run.

Besides, if you are doing your job properly, chances are that your team is not even finding out about the colossal f@#k-ups that your organization and team is avoiding because of your work.

Your reminding the team what a great father figure you have been and trying to butt into the frame when the victory snap is being taken, will definitely not make you a successful manager. It will just show your insecurity as a manager and demonstrate weak leadership on your part.

Next time you are giving out a promotion letter and you get a sincere deep thank you, give an equally sincere reply and let Jack know that you had nothing to do with his promotion. It was his own hard work, effort, timing and luck that did the trick.

Next time the victory picture of your team is being taken, try standing on the last line instead of the first. May I suggest that you try moving out of the frame completely. In fact, try being the guy who is taking the picture and take the best freaking picture you can take.

I wish you good luck.

posted on Sunday, February 28, 2010 8:59:00 PM UTC by Rajiv Popat  #    Comments [1]
Posted on: Saturday, February 27, 2010 by Rajiv Popat

Productivity Tip: Avoiding The Zone Of Nothingness In Your Work Life.

During the development of Crux I was in the flow or as many would say, I was in the zone. focused and getting things done.  I was productive.

Being in the flow is an amazing feeling. You are working with one sighted focus. Without worrying about other problems of your life. You are consumed with a problem and you are in a state of mind where answers are flowing through you without a lot of conscious effort. You are learning effortlessly, you are stumbling across answers, you are productive and you are getting things done fast.

But then, there is another flow or zone that is often not discussed or talked about. Here is what that zone looks like:

You have a late night status call hangover, you struggle to reach office during mid-afternoon only to find a truckload of emails in your inbox. You browse them, give a reply to a few of them.

Very soon your phone starts ringing. It is the calls again. A couple of development teams want your time.

You promised Jack you will sit down with him, review that application he has been working on and give him ideas. A couple of developers are fighting over a stupid issue and you need to take them in a room and talk.

Time is flying again. You are busy. You are doing things which 'seem' important. You are juggling tasks, you are talking, you are supposedly giving a direction to the team and you are managing human beings. It feels like you are in the zone again.

There is only one problem however - you are getting nothing done.

You, dear reader, are in the zone of nothingness.

In fact, the zone of nothingness is not just a manager thing. It impacts programmers as much as it impacts managers. What Joel Spolsky describes in his article on fire and motion is a classic example of someone being in the zone of nothingness. Joel explains:

Sometimes I just can't get anything done.

Sure, I come into the office, putter around, check my email every ten seconds, read the web, even do a few brainless tasks like paying the American Express bill. But getting back into the flow of writing code just doesn't happen.

These bouts of unproductiveness usually last for a day or two. But there have been times in my career as a developer when I went for weeks at a time without being able to get anything done. As they say, I'm not in flow. I'm not in the zone. I'm not anywhere.

The scary thing about this zone of nothingness however, is that much like the flow of productivity, even here, time flies faster than you think it does. There have been times in my life where I have snapped out of something that looks like flow, only to realize that I have wasted weeks and have been able to get nothing done.  As of today, If there is one thing that scares the heck out of me and depresses me more than anything else, it is the zone of nothingness.

Having said that, every now and then, even today, I see countless developers get stuck in the zone of nothingness and then desperately hoping and relying on their organizations to get them out of it.

If you are a young and budding developers or a manager, relying on your organization to keep you out of the zone of nothingness, chances are, that more often than not, you will be disappointed. If you are serious about not letting those hours whine away only to leave you with a weird guilt and hangover later, might I suggest that every time you find yourself in the zone of nothingness start by making your life as difficult as you can. You can start by:

  1. Committing to speak at a local developer conference that might be getting organized in your area next week or consider announcing that you will be conducting a training at your office.
  2. Committing to an open source project or a personal project like writing a book or a specific number of blog-posts a week and announcing this commitment live publicly. 
  3. Committing to organizing a community event and publishing the event date live.

There are countless other ways to shake yourself out of the zone of nothingness but the key here is to build an environment around you where you cannot help but jerk yourself out of the zone of nothingness.  A public announcement or promise of getting something done where you ego is at stake often does wonders at shaking you out of the zone of nothingness.

Next time you find yourself doing nothing and weeks are flying by, go ahead and make a public commitment of getting something done. Go put yourself on the spot. Chances are that you might be able to shake yourself out of the zone of nothingness and experience the amazing productive flow again.

I wish you good luck.

posted on Saturday, February 27, 2010 9:00:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, February 26, 2010 by Rajiv Popat

Learning From Austin Powers: Your Product Does Not Need More Features.

Jack sits on the other side of the table with a serious face and heavy eyes as he talks about how he has been trying everything under the sun to get management to care about his project. He is raising legitimate complains about his project not getting any love, attention or energy from the organization.

I play around with his product.

Brilliant idea.

Interesting execution.

Within minutes, I notice that his product has all the ingredients of becoming a successful product and yet it has received very little attention outside the small team working on the product.

I sit there and wonder why no one, other than the development team working on the product seems excited about the product? And then, it dawns on me. The project, dear reader, has lost it's Mojo.

Yes, that Mojo.

The team has been struggling for months now. They are being asked to build feature after feature when any technology savvy layman who might have laid his hand on the product would have told you that the product does not need new features. It needs, packaging, cleaning, simplifying, sophistication on the user interface front, a vibrant community, a free for use business model, adaption and an entire blooming eco-system around the product.

What the product manager aught to have done months ago is blown the whistle and asked the team to stop adding features the day they released their first sprint. They should have stopped the development of new features the moment they had enough features to constitute the soul of the product and they should have focused on adding things which would, in the words  in the words of Austin Powers, gives the product it's mojo.

Things that would make the product generate awe or put simply, things that would give the product it's appeal, get the casual website visitor to watch that product video and click the sign-up button. Things that would have got the management excited about the product and got the product the love it deserved.

Every year, I stumble upon countless engineers and startups spending hours, days and months building more features into their products by quietly working in their cubical, while they keep delaying the packaging, simplifying and garnishing of the product for what they call 'future sprints'.

If you are a young and budding startup working on a product or if you are a young and budding product manager pushing your team to build more and more amazing features into the product, here is my humble advice to you:

Work on the soul of the product and get the product an execution that goes justice to the initial vision or the idea of the product.

Once you have done that, stop your development and focus on the garnishing elements which will give the product it's mojo and differentiate it from the other half heartedly baked products out there. Those bigger fonts. classy design. Ajax driven screens and all the sophisticated packaging that you can get for the product.

Once that is done, ship and make just a little bit of noise about what you have shipped. Not a lot, but just enough for a few good mavens to find out what you were working on.

If you have a product with an interesting idea, a brilliant execution, a strong appeal and a few mavens are sold on your product, chances that your product will catch on. A feature here or a feature there does not matter. Now go focus on getting your product a mojo and then ship.

I wish you good luck.

posted on Friday, February 26, 2010 7:20:00 PM UTC by Rajiv Popat  #    Comments [1]
Posted on: Sunday, February 21, 2010 by Rajiv Popat

Avoiding The Typical Software Development World Stereotypes - Part 3.

During my early teens I found discotheques utterly confusing. If you found me at one, it was probably because friends dragged me in. Even if you were to find me in there chances were that you would find me seated in a table, scribbling a thought or two on a paper napkin and exchanging an idea admist the loud music.

For me discotheques were not fun. They were boring. Downright boring.

Then as I grew more social I cultivated a certain acceptance for discotheques and parties where people got drunk and sometimes created a ruckus. Put simply, I cultivated a persona that made me feel at home admits other drunk developers who were dancing like idiots to really loud music which made no sense. With age, my acceptance level for other people's definition of 'fun' increased.

As I entered my professional life, the number of these parties increased, the music got louder and drinks started flowing as I watched young and budding developers enjoy project parties and company picnics by getting soaked in alcohol, puke, throw up and sometimes even get into an occasional fight or two.

I still did not 'get it' but then I developed the maturity to accept it and have 'fun' watching developers getting drunk at parties and making a fool of themselves.

Even with all the growing up, the maturity and the acceptance of other people's way of having fun, there was a part of me that would often make me carry my laptop to some of these long-never-ending-parties and do a database design or write some code smack in the middle of some of these loud parties. For places where my laptop would not go, my windows mobile did the trick.

My laptop even accompanied me to most vacations.

Every once in a while however, I often stumble across a friend, a colleague or an acquaintance who sees me checking or responding to my emails in the middle of these parties or a vacation and gently advices me that I should not work so hard and in their very own words, I should 'enjoy' life a little more.

Seth Godin in one of his books describes one such vacation of his, where he is answering his email in the middle of the night and stumbles across a couple who feels 'sad' that Seth is checking his email in the middle of a vacation. Seth provides an interesting perspective about the topic in his book. He explains:

It was 4 a.m. and I can't sleep. So I'm sitting in the lobby of a hotel in Jamaica, checking my email.

A couple walks by, obviously on their way to bed, .... The woman looks over me and, in a harsh whisper a little quieter than a yell, says to her friend, "Isn't that sad? That guy comes here on vacation and he's stuck checking his email. He can't even enjoy his two weeks off."

I think the real question - the one they probably wouldn't want to answer - was, "Isn't it sad that we have a job where we spend 2 weeks avoiding the stuff we have to do 50 weeks a year?"

It took me a long time to figure out why I was so happy to be checking my email in the middle of the night.

It had to do with passion.

Other than sleeping, there was nothing I'd rather have been doing in that moment - because I'm lucky enough to have a job where I get to make change happen.

The words belong to Seth Godin, but if I had to own the above words and defend every single word above like it was said through my mouth, I would.

Seth is not alone in working during weekends and vacations however. Jeff Atwood at coding-horror has similar opinions and so does Donald Trump.

By quoting these individuals and by giving you a new perspective to look at this problem; I am, by no means, suggesting that you stop taking your vacations or do not go to parties. Neither am I nudging you to take your laptop with you everywhere you go.

All I am trying to do, dear reader, is stimulate your mind and leave you with the thought, that maybe, checking your email on your blackberry or widows mobile smack in the middle of a loud party, can be just as much (at times even much more) 'fun' as moving your hips and doing an insane dance with totally drunk individuals.

If you don't enjoy checking your emails and need long frequent vacations or a truck load of alcohol to forget about work that you have to do for the entire year, maybe you are not passionately connected to your work and should consider alternate options or professions which would keep you happy throughout the year.

After all, this work stuff is supposed to be fun through out the year; not random pseudo fun created by loud music and alcohol flowing like water.

So if you are a young and budding developer working with me, the next time you see me dancing for five minutes at a party and getting back to scanning through my email on a phone or starting a conversation on software development with an acquaintance or another colleague, please do realize that by indulging in the stupid dance for five minutes I am acknowledging my acceptance for your idea of 'fun'.

I am also hoping that you too accept my idea of 'fun' by letting me work and realizing that I 'enjoy' working on software development and writing about it as much as you enjoy getting drunk and moving your hands and legs to loud music.


posted on Sunday, February 21, 2010 10:45:40 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Saturday, February 20, 2010 by Rajiv Popat

Soul Searching Question For Managers: Why Do You Want Manage Your Team?

I am in a conversation with a young and budding manager who has recently been promoted. He has inherited a young team of programmers and a couple of database administrators. He begins his discussion around what is wrong with his new team and how he plans on fixing things.

I cringe.

Besides not realizing the fact that the basic traits of human beings do not change, this budding manager has taken his first tiny step to becoming a micro-manager and a dictator both rolled into one.

The problem that is causing this otherwise wise and experienced programmer to not see the big picture as he takes his first step in leadership can be described in one word: Power.

A quest for power, disguised under multiple excuses (the whole I-want-to-help-people-grow being one of them) remains one of the primary reason which attracts people towards management. Steve Yegge describes this problem in his legendary post on Not Managing Programmers where he believes that most managers consciously choose the management route to purely fulfill their unrelenting quest for power. He explains:

If you want to manage badly enough, then you will manage, badly enough. Hence, before you jump in, stop and think about why you want it. Are you tired of engineering, or were you perhaps never very good at it? If so, technical management isn't much of an escape, because your engineers will know, and they won't respect you. Do you want to manage because you want authority? If so, it's a trap: you'll still be on a leash held by the folks above you.

Or maybe you just want to be a little higher in the pecking order, so you can peck downhill? If so, then you're what we call, colloquially speaking, a "pecker".

Think hard about why you want to be a manager. I've worked with a hundred managers with a hundred different motivations, and all of the underlying reasons, including my own, seem suspicious to me now. Especially now that I work for a company that works, and well, with almost no managers or management overhead. Now that I've seen it working, I question the motivations of anyone who wants to manage.

I'm suspicious of all the mother-hen types: they want to nurture their teams, but tend to smother them. And I'm suspicious of the overly-organized types: they want to bring process to chaos, but process stifles invention, and it can be used to disguise incompetence for an entire career.

I'm suspicious of empire builders; too often they lower their hiring bar. I've heard or seen a hundred reasons for becoming a manager, and I now view all of them with suspicion, because each reason is a potential psychological problem waiting to manifest itself on a soon-to-be-unhappy engineering team.

The point that Steve Yegge makes in the rather long winded post is simple: why you want to become a manager or leader will ultimately define how good a manager you become. More often than not if quest for power is the primary reason that motivates you to become a manager or a leader, chances are that the same reason will start messing up your mind as soon as you get take your first couple of promotions.

I have spent years watching young and budding managers get very excited about their promotion, desperately trying to take control and trying to fix everything that they believe is a wrong in their team. Some of them claiming that they are putting their teams under pressure and trying to bring out the best in them while others claiming that they are working for the best interest of the organization. In most cases however, all they are doing, is satisfying their quest for power.

Put simply, I have seen the quest for insanely insignificant perception of power, corrupt and confuse some of the brightest of the minds that I have worked with.

Today, I leave you, dear reader, a thought worth harping on from Steve's post:

The catch-22 of software management is that the ones who want it most are usually the worst at it. Some people, for worse or for worst, want to be managers because it gives them power over their peers. There's nothing good that can come of this arrangement: you should never give power to someone who craves it, for reasons that I hope are obvious.

If you are a young and budding manager who has just inherited a team and has started out by noticing everything that is wrong with your team or building plans on fixing everything in the next couple of weeks by throwing your new team in an instance pressure environment, I want you to take a long hard pause, do some soul searching and answer the million dollar question:

Why do you want to manage your team, dear reader? Is it really because you want to help, or do you really want to quench your unrelenting thirst for power?

How you answer this question will ultimately decide how you do as a manager. Before you start fixing everything that is wrong in your team, spend some time doing some serious soul searching and find your answer honest answer to this question. If your answer to this question is that you do not want to manage your team at all, chances are, that you will be rather good manager.

I wish you good luck.

posted on Saturday, February 20, 2010 9:05:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, February 19, 2010 by Rajiv Popat

Leadership Tip: Avoiding Generic Whining Within Your Organization.

Early Monday morning you see Fred approaching your cubical with a usual highly depressed Marvin like look on his face.

You can read his body language and why he is approaching your cubical.

You cringe.

You secretly wish there was something that would make him go away.

Within moments you find yourself listening to sentences which begin with words like we-do-not-have or we-need-to. Every single one of those sentences seems like gibberish to you.

We do not have documentation for all the development scenarios. We need more use-cases. We need a detail design document. We do not have a detailed process. Fred continues and if you spend enough time with Fred you actually start getting convinced about how pathetic both you and your organization are. Fred is depressed and much like Marvin he tends to spread his depression through constant whining, bitching and moaning.

Then it dawns unto you. The realization that Fred is not a bad guy after all. He means no harm. He has just realized that he is not very competent and is having a problem reconciling himself with that fact.  When this happens, it is usually easier to criticize an organization or a 'process' because, well at-lease you are not criticizing a particular human being capable of defending himself.

This, dear reader, is precisely what Fred is doing by criticizing the process or the organization. 

Put simply, Fred, has freaked out. Like a cornered cat, Fred is not looking for a convenient excuse full of complicated jargon where he can burry his incompetence.

Allow him to do that or get away with it and you are setting your precedents loud and clear.

Go ahead, take a deep breadth. Look Fred in the eye and ask him to discuss specific problems connected to the process or people and how to fix them rather than making wide generic statements on a truck load of universal problems. Put simply, ask  Fred to stop whining and start delivering.

I wish you good luck.

posted on Friday, February 19, 2010 8:47:00 PM UTC by Rajiv Popat  #    Comments [0]