free html hit counter
Posted on: Sunday, October 24, 2010 by Rajiv Popat

Productivity Tip: Developing The Courage To Stop And Throw Stuff Away.

When was the last time your team actively decided not to ship a feature that was done?

When was the last time you had a fully complete post sitting on your hard disk but you told yourself it was not good enough and decided to delete it?

There are times when you watch a lousy movie and you wonder why the production department even bothered releasing it?

As creative individuals we like working on stuff.

Stopping often becomes hard for three primary reasons:

One: The more effort you put into stuff the more attached you become with the stuff you are working on. This attachment creates blind spots and an inability to judge the output of your efforts objectively.

Two: When the creative endeavors have financial aspects involved realizing that you need to stop becomes even more difficult. Yes the movie is lousy, but if we release it at-least we make something out of it. Yes the product is lousy, but even if we release it at a reduced price we stand to earn something out of it. Lets just give it out for free and try to get some users.

Three: When creative endeavors occupy a lot of your time, stopping them, becomes an ego issue. Stopping now is just going to mean the world is going to know about it and think you were an idiot to continue for this long. If the product, the blog post or the endeavor was your idea to begin with, the ego at stake is even higher when it comes to stopping.

Gears are switched. You move to an auto pilot mode where you are doing nothing but building mediocre features on an already mediocre framework. Version after version of the product are rolled out. Every mediocre blog post on your disk is published. Every boring movie is released.

Before you know it, its not just your product, your blog or your movie. You are boring. You are mediocre. You are lame. We do not care about you any more. You are that guy with a boring blog, that director who makes boring movies or that software body shop that hires cheap cogs and builds lousy products.

If you have a product that you are deeply passionate about and believe in, don't worry be crappy works, but if you are working on auto pilot and just not feeling it, shipping stuff that is boring, makes you boring.

Stop. Give up shamelessly. Hit the Delete button. Now.

posted on Sunday, October 24, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Saturday, October 23, 2010 by Rajiv Popat

Leadership Tip: Stopping Those Status Meetings And Leaving Your Team Alone.

Fred took rounds on the office corridors during the evenings to take a feel of who was busy versus who was reading an online newspaper or playing a video game. If you happened to have anything other than work running on your screen when this gentleman took his rounds every evening, the least you could expect is an email with a list of tasks that you need to immediately start working on. The most you could expect was a taunting sarcastic remark.

I see a young and budding manager somewhere knitting his eyebrows , folding his hands and taking a defensive stance already. Somewhere, in some corner of the world, there is a young and budding manager reading this, talking to himself and saying this: What is this idiot talking about now? I mean resource management and utilization is all about making sure that your resources are utilized at an optimum level. Isn't it? Huh? Huh? Huh?

Actually, you know what, if you have heard this 'resource utilization' line or if you were that young and budding manager who was thinking this, chances are that you have picked it up from one of the two places. One is through your underpaid teacher at a B-Grade management school. The other is through your previous manager who you looked up to.

Now here is the newsflash: Chances are also high that your underpaid management teacher never actually managed a single live project in his entire life. And as far as that previous manager that you looked up to is concerned, well he might just have been a regular old jerk who was managed by other jerks when he was young which is where he picked up the thought process without questioning it.

When you take a team of kick ass programmers and put them on a kick ass project, you form a self sustaining eco-system. Assuming that you have hired correctly, if you leave a bunch of builders free for sometime, good things happen.

Every programmer has "TODOs" in their code comments. Things that they tell themselves they will come back to later. Every designer has design changes that he would like to refractor if he had more time. These are exactly the things which differentiate a remarkable product from a lousy mediocre one. When you leave a kickass team alone chances are they get sick and tired of reading the news in about and hour.

Then they often tend to come back to these changes and they tend to start working on them. Silently. Quietly.

If you have a product that has been running for more than a year now and a passionate team that loves working on the product, try telling them nothing to do for a couple of weeks and see how they react. Chances are that they might either give you a product with a stronger, faster and much more stable foundation or they might come out with features and really small changes that might pleasantly surprise you.

Stop those stupid status meetings. Stop monitoring every hour of your programmers. Stop giving them new assignments as soon as the last assignment on their list is marked as done. If you have hired the right guys and have left them alone, chances are that they are working on stuff that needs attention. Stuff that you might not even be aware of. Stuff that might usually come back to bite you two years from now. If they are free, they won't sit quietly for long.

If you have the right people, they will be much more worried than you are about having nothing to do.

Now go cancel that status meeting. See how it goes.

I wish you good luck.

posted on Saturday, October 23, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, October 22, 2010 by Rajiv Popat

Office Design Tip: Letting Your Workplace Live Up To Your Mindset And Philosophy.

In this video on BigThink Jason Fried the cofounder of 37Signals talks about interruptions at work.

The video is excellent when it comes to dealing with interruptions and finding out what is wrong with a typical office workspace today. 37Signals by far have been one of the most vocal when it comes to calling out on bullshit of other firms and they are often heard because they are successful.

I have quoted 37Signal so extensively that I have often been accused of being a 37Signals fan-boy.

To be honest, I am one.

The problem with blind fanboyism however is that you often tend to see everything positive about the organization and lose the objectivity to see mistakes the organization is making.

The recent video on 37Signals new office space however, is disappointing, particularly if you take the fan boy cap off and analyze their office objectively.

To begin with the video shows the entire team in a meeting or a conference. I am sure this is a rare occurrence at 37SIgnals but definitely not the right time to be shooting the video specially when you take strong stands on how toxic meetings are. What is actually even more disappointing is that their office seems more like a typical cubical farms with open workspaces designed for interruptions.

When  you are an organization as small as 37Signals who believes in not interrupting your developers and letting them get in the flow, why build classic cubical farms where interruptions are a part of the design?

Why not learn from FogCreek office tour video which seems to suggest that they are putting their money where there mouth is by giving every developer most items on the programmers bill of rights?

I'm just saying.

Okay, enough critical commenting. I am going to wear my fan boy cap again.

By the way, did you read rework? If you did not it is definitely worth a read. Go buy a copy now. #Grins.

posted on Friday, October 22, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, October 17, 2010 by Rajiv Popat

Leadership Tip: Hiring Good People Not Just Good Resumes Or Good Skillsets.

Venture Capitalist have been using this technique for years now. There are a few out there who browse through countless PowerPoint presentations and every minute detail of your business model. Others however are more interested in knowing you as a person and every question they ask revolve around judging you as an individual.

As someone who has been given funding offers without any presentations, ideas or even asking for them, the aspects that some venture capitalist use to fund you, confused me, till I learnt first hand from a venture capitalist, that he was not interested in funding an idea. He was interested in funding the people who he thought were right people.

As an organization however, when you hire employees the equation seems to change dramatically and rather abruptly. We are suddenly concerned if a person knows what a Factory or a Facade is. We are so obsessed with skillets that we tend to forget that is it not the skill set you are hiring. It is the person.

Is the candidate smart? Is he upright? Is he honest? Will he go out of the way to help others? How is he going to handle setbacks? Is he a paycheck programmer?

Hiring a "good" human being should be on the top of your list when hiring.

Everything else is secondary.

Of course, the competence, the kickass programming skill-sets and years spent slogging on code helps, but if you are not spending enough time and energy evaluating the basic personality elements of a person, you are just hiring skill-sets, not people.

What would you rather hire? Three years of .NET or a helpful, enthusiastic programmer with kickass programming skills who happens to be really good at .NET?

The choice is yours. Just like the Venture Capitalists who prefer to fund "good people" over "good ideas" I prefer to hire good human beings with a smart mind over hiring a resume or a skill-set.

Ok, I am done with the post.

You can go ahead and call me stupid or impractical now or you can munch on this thought next time you go to take someone's interview.

I wish you good luck.

posted on Sunday, October 17, 2010 9:13:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Saturday, October 16, 2010 by Rajiv Popat

Leadership Tip: Picking Between Toys and Empowerment.

As a consultant I’ve been on-boarded into multiple organizations during my career. The best on-boarding is not when the HR takes you around the office on your first day showing you toys like Gyms and swimming pools. The best on boarding is when the HR shows you how the organization you are going to work for is going to empower you as an employee.

A beautiful tool for empowerment was a capped corporate credit card which we were handed on the day we joined work. File office expenses directly to this card and you do not have to worry about getting them reimbursed. This is what I call Hassel free empowerment that comes with a lot of responsibility.

Another beautiful empowerment tool was cell phones. Of course you carried your own cell phones to work, but when we joined we were handed a cell phone that was directly billed to the company.  “You can use these to make any phone calls” – we were told.

Of course it meant work related phone calls but that part wasn’t stated explicitly which made it all the more empowering.

Work from home. Casual dress code accepted widely within the organization. Open internet access.

This was one organization that was serious about empowering employees.

Look around you. How many of your office facilities are nice toys to have versus how many empower you? Having a gym is one thing. Letting your employees take an hour off during the afternoon if they want to and work out is another.

When you are surrounded by policies you can smell that. When you are empowered you can feel the empowerment. Toys are nice to have, but if you do not have empowerment in your workplace the toys mean nothing.

Don’t just give your teams and employees toys to flirt and show off.

Empower them.

I wish you good luck.

posted on Saturday, October 16, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, October 15, 2010 by Rajiv Popat

Understanding Genuine Geeks And Nerds - Part 3.

Small Talk For Geeks

"Am I in the call?" - that is the question someone I knew first asked when he dialed into a conference call with a client of ours. This guy was a geek and like most geeks he lacked the fundamentals of starting a discussion that revolved around small talk.

"Ok, Is there anything else we want to discuss or should we end the call?" - was a question I saw another geek ask smack in the middle of a conference call where folks were discussing the weather in and around California.

Awkward moments.

Sounds of chirping.

Most geeks around the world are notoriously famous for not going with the flow when it comes to discussions leading to an impression that geeks don't give a shit about anything other than programming or code.

The geek on the the other hand is not evil. He expects that sooner or later, as a few awkward minutes pass by, the discussion will steer towards code, design or what he does. That is when he expects to jump in and connect.

This of course, invariably never happens. After you have blurted a few awkward remarks and have created a few silent moments in your first few meetings you have invariably drawn a wall that will keep your clients, your managers or the suits away from you. This is not personal. They just think you are an arrogant pompous jerk.

You made yourself look like a freak.

The beauty of being a geek however, is that you are blessed with a strange way of looking at things from a systemic problem solving perspective. Think of small talk as a problem you need to solve. Don't try to fumble with the problem as a standard human being who sucks at small talk. Do it as a full time geek dissecting the problem with the intent of debugging it. Typically, solving this problem involves three fundamental steps.

First is content. The second is practice. The third is application of that practice.

Content is usually the easiest to part to figure out. This is where what you already know comes into play. Follow the right guys on Twitter and glance through just a dozen tweets a day. Subscribe to a few RSS channels. You have enough information to start discussion on the typical hot news small talk topics.

The second is practice. This is where it gets interesting. This is what close acquaintances are for. This is where daily meetings and status calls become good. These are your own managers. People you know. People you can fail in front of. People you are comfortable with. Of course you don't have to tell them you are using them to practice small talk. 

I'd say it takes anything between a hundred to three hundred hours of discussion before you will suddenly realize that you can talk for hours about things you know nothing about. This is when you will be able to steer the discussion flawlessly and let the other person speak, by just adding "oh really?", "that's interesting", "I did not know that".

You are not just making the other person comfortable but you are doing something which is very important in the system of conversation.

You are now gathering content from discussions.

The same content that will be thrown at your clients and others when you move to the application phase of training.

The application of this practice is rather interesting. If you have spent some basic time and effort in gathering content and have a couple of hundred hours of practice behind you, small talk should no longer sound like small talk. It should seem and feel like a discussion. The geek within you still knows you are wasting your time with quite a few of these discussions, but he has learnt how to hack it. He knows how to hate it without making it evident that you actually hate it.

Chances are that by now you have actually started liking some parts of it. Chances are that you are now explaining parts of the system to your managers and your clients in simple, precise, direct terms that help them understand things. What is interesting is that they are listening to you now. Chances are that they see you as a smart individual with innovative ideas and not the freak who gets on a call and asks when it is going to end.

Then when you suddenly learn something new from these discussions and realize that your clients and managers are just as smart as you are, only in a different way, you have taken your first step at bridging the gap between clients, management and those pesky developers.


Now the only thing you need to be careful of is that you don't get carried away with it and that you do not overdo it.

posted on Friday, October 15, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, October 10, 2010 by Rajiv Popat

Programmer Tip: When In Doubt About A Company Take A Tour Of Their Office.

One of the things that I absolutely like doing every time I am at an organization, even if I am just visiting it, is getting a guided tour of the organization.

I have talked about my guided tour of Infosys, getting a bad vibe from it and then the bad vibe getting confirmed by a software programmer who joined and quit the organization within three weeks in my earlier post.

A simple tour or sometimes even a blog post or a video of the office tour says a lot about the culture of the organization. There are a lot of these posts and videos out there. Consider for example:

  1. The Fog Creek Office Tour Video on Channel 9.
  2. A simple blog post by Jeff Atwood which describes a typical office at Vertigo Software.
  3. A video tour of 37Signals and Google

The videos will clearly not tell you everything about the organization but there are general indications that are fairly easy to extract out of these videos.

Watch these videos closely enough, read the posts in detail. Chances are that you will be able to draw your own conclusions and facts about these organizations, not just what the tour guide is trying to show you. That is what a quick five minute office tour video can do. An in person office tour says much more.

Malcolm Gladwell explains this approach of extracting information from the environment where people work or live rather articulately in his book, Blink.

He explains:

Imagine that you are considering me for a job. You’ve seen my résumé and think I have the necessary credentials. But you want to know whether I am the right fit for your organization. Am I a hard worker? Am I honest? Am I open to new ideas? In order to answer those questions about my personality, your boss gives you two options. The first is to meet with me twice a week for a year - to have lunch or dinner or go to a movie with me - to the point where you become one of my closest friends. (Your boss is quite demanding.) The second option is to drop by my house when I’m not there and spend half an hour or so looking around. Which would you choose?

The seemingly obvious answer is that you should take the first option: the thick slice. The more time you spend with me and the more information you gather, the better off you are. Right? I hope by now that you are at least a little bit skeptical of that approach. Sure enough, as the psychologist Samuel Gosling has shown, judging people’s personalities is a really good example of how surprisingly effective thin-slicing can be.

Malcolm shows compelling research that sometimes observing the mere environment in which a person functions or lives tells much more about the person than spending time with the individual in person. He explains:

On balance, then, the strangers ended up doing a much better job. What this suggests is that it is quite possible for people who have never met us and who have spent only twenty minutes thinking about us to come to a better understanding of who we are than people who have known us for years.

Forget the endless “getting to know” meetings and lunches, then. If you want to get a good idea of whether I’d make a good employee, drop by my house one day and take a look around.

Peeking into the bed rooms of people you are about to hire might not be very practical advice, but if you are a developer who cares about joining the right organization, one thing you should definitely consider doing is asking your interviewer to take you for a quick office tour before you accept the offer.

Oh and yes, while you are on the tour, pay little attention to what the tour guide is showing you. Keep in mind the cultural questions that are important to you and watch closely for signals you can pick up to answer those questions.

Is the work environment generally quite?

Do the people seem happy?

How much innovation and thought process has gone in building the office?

How much of the budget has really gone in getting the important stuff like developer offices, laptops and rooms where people work right compared to the fluff?

The answers are out there and sometimes a simple office tour will give you enough information to make the right decision on whether you should accept an offer or continue looking. If you are planning on joining an organization, go on, take a tour of the workplace before you accept an offer.

I wish you good luck.

posted on Sunday, October 10, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [2]
Posted on: Saturday, October 9, 2010 by Rajiv Popat

Feature Tip: When You Are Skipping Features Choose Wisely.

Earlier when I announced my thousandtyone youtube channel I provided a link to a page that would allow the readers of this blog and the subscribers of the channel to add topics on which they want me to do videos and vote topics up or down.

The Web based system that I had used for this was Slinkset.

But then, within a couple of weeks my ADHD kicked in and I forgot the password that I had signed up with.

That should be a simple problem, right?

Having thought that, I set out to look for a forgot password link, only to find out that there was no forgot password link on the Slinkset login page. Slinkset does not seem to believe that their users will forget their passwords.

Instantly I set out to look for a support email or a contact us page on their website, only to realize that they had none.

Slinkset is an useful idea rather well implemented, but there are two major problems that I see with it.

One is the fact that the company does not seem to have a face or a personality behind it. No information on their whereabouts, no contact information, no support links and no support emails from their home page. The second is lack of basic user functionality like forgot password.

When we talk about YAGNI, Less is right and Under doing your competition by building less what becomes profoundly important is that we look at every feature we choose to skip as closely as the features we choose to build.

Skipping features is fine. Letting your customers remind you that features are important is fine too, but if you are a young and budding startup with only a handful of customers, it is also wise to see to it that you build the basic set of features and an application where you customers can function without hitting roadblocks all the time and then at-least provide them a means to reach out to you and provide you their feedback if they are stuck.

On a side note, apparently after quite a bit of Googling it turns out that Slinkset does have a help system where you can ask for help and the password reset issue is mentioned there. You can reset your password here. Makes you wonder why Slinkset chooses to make life difficult for their users when opening up their reset password functionality and making it discoverable is as easy as providing this link somewhere on their login page.

Also makes you wonder why their help is not linked from their home page.

Go figure.

Either ways, when all you are building is an application which is one page with one niche functionality, the packing, help, support, usability and discoverability make all the difference between an awesome product that you stick to or a product that you try just once.

For now, I like Slinkset and I am going to allow them to be crappy when it comes to discoverability and continue using them. I think you should too. Go try them out and see if you like them too.

posted on Saturday, October 9, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]