Posted On: Friday, 23 April 2010 by Rajiv Popat

Fred is an asshole. Having said that, when talking about Fred, the people who report to him are hugely reluctant and scared at using that word to describe him.

During my consulting days at a client, who for the purposes of this post we shall refer to as Multiplitaxion Inc, the people who work with Fred seem constantly stressed out and unhappy.

Then in a conversation with one of the testers in Fred's team I stumble upon the reason why Fred is commonly perceived as an asshole by everyone who works with him. I am told that Fred "uses his logic to classify everything that he sees in black or white".

Using your logic and seeing things in either black or white, is usually your first step towards prickdom. It is your first introduction to the problem of other minds and nudges you to believe that everyone you are talking to is either a lying scumbag or a mindless zombie.

Consider for example, a tight situation in your project.

A situation where the sky is falling.

Your team are really trying hard to get a the data transformation feature rolled out to a client as quickly as you can.

You walk up to your manager to tell him that the data transformation service is going to take about three weeks to build.

He looks at you like you just dropped a dead rat on his table.

You cringe.

What follows is a 'logical' argument where he uses pressure and intimidation along with simple logic to question you why you think parsing a simple file is going to take three weeks.

You know why it will take three weeks to build but suddenly you find it difficult to explain the reasons articulately. Your throat dries up a little. There is strange awkwardness in the moment created by the intimidating look he is giving you. You fumble something to the effect that the file is not a structured CSV file to which he responds that we have formatted non-structured files in the past rather quickly. You respond that this one is complex. He questions you why.

Very soon, before you know it, you are playing the cat and mouse game where he is the cat and you are the mouse. It feels like you are defending yourself rather than having a real pragmatic discussion on timelines. It feels like you are being cornered. You know deep down inside that the file is complex but you suddenly start finding it really hard to explain why it needs your time and attention.

What your manager is busy doing, is finding out if you are are lying scumbag or it is genuinely going to take three weeks. As far as he is concerned, these are the only two possibilities that can exist. Things are either black or they are white. Not to mention of course, that he is starting with the assumption that things are black and that you are in fact a lying scumbag, unless you prove to him otherwise.

The reality of things however, lies somewhere in the middle. Chances are that the file parser will take about two weeks to write and about a couple of days to test. Chances are that if you are done early you will also ship early. Chances are that you are not lying, just keeping a couple of days because you know that shit happens when you least expect it to happen.

Things are neither black nor white. They are a totally different color and any other color to your manager means black. He has already stern investigation, cross examination and deposition all rolled into one.

You have proved yourself in multiple projects and multiple assignments. You have demonstrated your work ethics more than once. You stand there answering questions, wondering why your integrity, skill or gut-feeling is being doubted. And then, suddenly you hear a voice in your head whisper - F@#k him. He wants it in one week. Give it to him in one week.

This is when you start building a truck load of crap that causes companies to move in infinite loop of failure. This is when you know for sure that your manager is an asshole. You spread the word every time the topic comes up. Then there are others who have had similar experiences with him too. The story spreads within the corridors of your organization and a brand new asshole is born in your organization.

If you are working with a bunch of developers, learn how to shut the fu@#k up and listen to their problems, specially when the best of your team come up to you and tell you they need more time. Stop what ever you are doing and listen when they come up to you for any help whatsoever.

There is nothing wrong with a healthy discussion, but don't act like an asshole. Don't classify things as black or white and don't start by assuming that people who come up to you are lying scumbags till the time they pass your elaborate cross examination and prove their innocence. Don't interrogate your team members like criminals.

Put simply, don't be a black and white jerk.

I wish you good luck.


Comment Section

Comments are closed.


Posted On: Sunday, 18 April 2010 by Rajiv Popat

As a part of my job, I meet young and budding programmers around the world, connect to them and work with them. One of the thing that amuses me more than anything else as I talk to some of the brightest programmers that I find is the amount of programmers who have 'plans' of starting their own organization or their very own personal pet project in the 'future'.

Ask them if they have a prototype or a work-in-progress version and you will find yourself staring into the wilderness of no-response. When these folks say they 'plan on' having an organization or a pet project, they don't mean they are actually working-on one. What they really mean, is that they are 'hoping' something magical just turns their 'plans' into reality without their doing anything.

Put more specifically, they mean that they have 'dreams' of starting their organization or their pet project someday.

After a couple of months however, these dreams after a lot of talking and without any real work, become hugely boring.

Not to say that these folks do not have in them what it would take to start an organization or just a pet project. Every single one of them have what it takes to start either of these. What they lack however, is determination and consistency. 

 Paul Graham explains this rather articulately in his article on determination. He explains:

We learned quickly that the most important predictor of success is determination. At first we thought it might be intelligence. Everyone likes to believe that's what makes startups succeed. It makes a better story that a company won because its founders were so smart.

The PR people and reporters who spread such stories probably believe them themselves.

But while it certainly helps to be smart, it's not the deciding factor.

There are plenty of people as smart as Bill Gates who achieve nothing.

In most domains, talent is overrated compared to determination—partly because it makes a better story, partly because it gives onlookers an excuse for being lazy, and partly because after a while determination starts to look like talent.

If you have ever thought of starting an organization or maybe even just a small pet project that you can work on for your entire life, remember that the world around you will not suddenly change magically to give you more time, means or measures to work on it and make it happen. None of anything that is worth doing is so easy that anyone can do it.

The least you can do is stop giving lame excuses for your own laziness, get your butt off that chair, power on your laptop after your return back from work and write some code over a nice warm cup of coffee or hot chocolate.

Stop whining and start shipping.

Keep opening the code editor day after day consistently for years and who knows, you might wake up one day and realize that your dream was not just a boring little dream after all. Of course, there is also a possibility that after years of hard work you might realize that things just did not work out, but then if you don't put in the years of work, there is a guarantee that they won't.  Besides, if you want it bad enough, you don't have an option, do you?

Now stop giving those lame excuses about you being busy and go write the first screen of your pet project, the first draft of the first chapter of your book or your first blog post today.

I wish you good luck.


Comment Section

Comments are closed.


Posted On: Saturday, 17 April 2010 by Rajiv Popat

Finding competent programmers in a hay-stack of incompetent idiots is level-one of hiring that every startup needs to learn.  This post assumes that you have crossed level-one of the hiring game and that your organization, company or startup is hiring decently competent programmers who are getting things done.

Now that you know how to look for competent programmers and hire them, what next?

What if I told you that hiring just hugely competent programmers for your startup is not enough. What if I told you that besides competence, that there is one quality that you need to look out for in your programmers and what if I told you that this quality is hugely important.

You know that three second thin-slicing that Malcolm Gladwell talks about in his famous book Blink. What if you could use that to get deeper insights into characters of the candidates you are interviewing and if there is one quality of a candidate that you could  find out about what should that quality be?

What if I told you that the quality that you should be looking out for is straight-forwardness and integrity.

Now, that should be easy, shouldn't it be? After all you are hiring programmers from the best of backgrounds, the best of colleges and the best of upbringings; how hard can it be to find folks with straight-forwardness and integrity? Turns out, it is harder than most organizations think it is.

Anyone who has taken his high-school class in economics, read freaknomics or super-freaknomics will tell you that human beings are not good or bad. Human beings are just human beings and that they are driven by incentives. The point of hiring straight-forward individuals with a truck load of integrity is not that you hire programmers who are hugely loyal to your organization or sacrifice their careers for your organization.

In fact, if all you do it hire people who are working for the best interest of the organization both you and your organization are seriously screwed. You want incredibly smart, self-centered and selfish programmers. The point of looking out for straight-forwardness and integrity is not to keep seriously kick-ass smart, selfish guys out of your organization.

On the contrary, the point of it, is to hire people who are driven by deeply selfish incentives and who have the spine to be completely open about the incentives that move them. The whole point is to hire people who can take their selfish needs and incentives and align them with the best interest of the organization.

Flashback into the days of Multiplitaxion Inc when the company was about three weeks away from a huge bonus payout to all the employees. It was during this time that someone in the organization had an idea of talking to some of the best programmers we had and doing one-on-one discussions with the programmers. The idea was to get their feedback on what could be improved at the organizational level.

Three of the most competent programmers in the organization, were asked what they thought about the organization during these one-on-one discussions and all three of them reportedly mentioned that they thought the organization was an amazing work culture. That they loved coming to work each day and that they would love to continue being a part of the organization.

Three weeks after collecting the bonus payouts, all three of them quit, within a three days.

Turns out, that all three of these individuals were amazing guys and they were very competent at what they did. They were not bad human beings per-say. Like most kick-ass programmers they were driven by incentives and selfishness which was also fine.

What was hugely disappointing however, was their inability to express their opinions strongly and candidly. The lack of straight forwardness. The lack of openness and the fact that they lacked the courage to talk openly about what they felt was wrong within the organization or how their incentives were not aligning with the organizations incentives.

This lack of openness is what ultimately results in dual personalities where you say a thing and end up doing exactly the opposite thing. The cherry on the cake of this story however were the exit interviews of these programmers where they saw everything wrong the organization, their compensation package and even the work that they were doing.

As a young and budding managers, I watched opinions and personalities change over a period of three days and for lack of a better word, let us just say that it was amusing.

The dual personality problem to be honest, is actually bigger than just a hiring or a retention problem. I have also had the opportunity of working with programmers who would sit in a meeting telling you how amazing your ideas were. Then months after the meeting, you would learn that none of those ideas had been implemented because those same individuals thought that the ideas were shitty and they would not work.

No discussions. No disagreements. No arguments.

They would agree to everything that you had to say and then go out and decide to do just the opposite without even feeling the need to discuss.

Again, not bad human beings. Just individuals who lacked the courage to express their opinions in a bold, candid and civic way.

I have worked with hundreds of programmers during my career and if there is one thing I have learnt it is that human beings cannot be classified as 'good' or 'bad' and that shit happens anytime you are dealing with people.

Having said that, in the long run, as an organization, entrepreneur or as anyone responsible for hiring, you are generally way better off hiring and working with straight-forward, open, candid programmers compared to their confused, lost or scared counterparts.

You are way better off being told 'no' on your face rather than being given a truck load of encrypted messages sprinkled with mitigated speech all over it. A simple open personality is much better than a complicated dual one.

If you are a small startup, looking for some seriously kickass programmers, the next time interview people for your team, remember to look out for openness, a strong spine and a straight forward simple personality in the programmers you hire. Without these qualities, the kick-ass competence hardly matters.

I wish you good luck.


Comment Section

Comments are closed.


Posted On: Friday, 16 April 2010 by Rajiv Popat

I work in the high-tech business and being a programmer I am often surrounded with more programmers. Now we as programmers, as it turns out, are incredibly amazing and weird people who believe all problems on this planet can be solved by writing code and building a system for solving the problem.

This is probably why, I also get into frequent discussions with young and budding web 2.0 (whatever that is) enthusiasts asking me if I have seen this cool and happening site which will help me promote my blog and help thousands of more people find it.

I on the other hand, seem to consider this blog to be my true-third-place. A quite dimly lighted corner of the web where I can meet the kind of people I wanted to meet and start real online and offline discussions with them. Through my very own personal thoughts on software development, what I am really trying to do is not to change the world, but make a very tiny little dent in my very own personal universe.

I am not trying to sell to an audience of millions. Just trying to find one individual I can connect to and have meaningful conversations with over a mail thread or a cup of coffee. As I have often said, I am happy with this blog as long as it has three readers, me, my mom and you, dear reader.

I am not trying to start a movement here. All I am trying to start through this blog, is small threads of conversations with the kind of people I would like to connect to. Having said that, even if it was a movement that I was trying to start, I am not so sure if trying to sell your ideas to a million users and trying really hard to get a million individuals attached to your cause is the best way to start a movement.

Derek Sivers in his TED talk describes the importance of finding just one true follower or even being that first true follower rather than 'leading' the whole wide world into following a movement. He puts his  point across through a video of a shirtless guy dancing like a manic to start a movement. He explains:

The first follower is an underestimated form of leadership in itself. It takes guts to stand out like that. The first follower is what transforms a lone nut into a leader.

If you are the type, like the shirtless dancing guy, standing alone, remember the importance of nurturing your first few followers as equals, so it is clearly about the movement, not you.

But we might have missed the real lesson here. The biggest lesson, if you noticed, did you catch it? Is that leadership is over glorified. That yes, it was the shirtless guy who was first and he will get all the credit but it was really the first follower who transformed the lone nut into a leader.

So as we are told that we should all be leaders,  that would be really ineffective. If you really care about starting a movement, have the courage to follow and show others how to follow and when you find a lone nut doing something great have the guts to be the first one to stand up and join in.

If you haven't clicked on the link to the video yet, I strongly suggest you do.

So the next time you think of starting an organization, starting a product or even something simple as starting a blog, stop worrying about search engine optimization, getting your site up on that popular website or using the quote-unquote 'social media' to publicize what you are doing.

Be the lone shirtless dancer, prepare to get ridiculed and continue to do your remarkable dance consistently.

Chances are that you will stumble upon at-least one genuinely lone nut who will decide to join you as a partner in crime or better still you just might find a few other lonely nuts that you can join and that is the start of a small conversation. Maybe even a tiny little movement.

When that happens you are on your way and you know it from within.

You don't need a system.

You don't need to go shopping for Google Ad-words to increase you site traffic anymore.

I wish you good luck.


Comment Section

Comments are closed.


Posted On: Sunday, 11 April 2010 by Rajiv Popat

Just how much time do you spend in meeting rooms, conference calls and web conferences? How much time do you chit-chat with fellow developers? For how long do you have casual conversations discussing your family and your last vacation with your team? How many hours a day do you spend discussing people issues, organizational issues and project issues? Put simply, how much talking in any given day do you do?

I have been observing people in the business of building software and the conclusion that I have come to is that the software programmers and managers around the world are quietly turning into chatterboxes who chatter more and do productive work less.

"Come on Pops" - you tell me - "Talking is important. It is how communication between programmers happens".

Of course talking is important. Hugely important. But then there when you find yourself spending more and more time just talking rather than doing anything productive, there are some serious reasons to worry and do something about it.

The thing with talking, specially when you do it in a professional setup like an organization and when you are talking to your fellow programmers, inside an office meeting room, is that it seems like work. The reality most of the times however, is that It is either inspiration, collective thinking, entertainment or just plane and simple whining. Talking, in more cases than not, is not work.

I am not saying that inspiration, collective thinking or entertainment are not needed, but when you confuse them with work, you tend to do more and more of those rather than working and that is what makes talkers addicted to talking.

Jeff Atwood describes this rather articulately in his post on the topic. He explains:

In software, some developers take up residence on planet architecture, an otherworldly place where software is eternally planned and discussed but never actually constructed. Having endless discussions about software in a conference room or mailing list feels like useful work-- but is it? Until you've produced a working artifact for the rest of the world to experience, have you really done anything?

To be honest, this is not just an architecture or development thing after all. This is a huge problem even with Leadership, Quality Assurance, Entrepreneurship, Documentation, Marketing or virtually any field that you can think of. Even genuine management is much more about getting things done than it is about talking. It is about empowering people rather than just sitting in meeting rooms and discussing how things 'aught to be'.

If you find folks in your organization who spend a lot of time talking about how someone should change the culture of the organization, chances are that these individuals will not be that 'someone' who ultimately changes the culture of the organization.

Ever been through a long meeting where everyone discusses how-the-morale-of-your-team-can-be-improved for hours and comes out with no resolution? Bad Management.

Want to do something real?

Send out an email asking for a small budget for Logo-ware. If you get no response, spend some of your own money to get a really small quantity of seriously appealing Logo-ware printed and give it out. Do not spend countless hours talking about the implications of giving out logo-ware how people will react to it, how much morale increase you will get out of it or if it will even work. Do it. Try it out.

And then move on to doing something else which you believe will positively impact the morale.

Do one thing at a time and every time you hear the word call or meeting cringe.

I have watched programmers, managers, business analysts, testers and even entrepreneurs and I have come to a conclusion that might seem rather strong and harsh but it is indeed true. Those who cannot do things, talk about doing them.

Focus on 'doing' and while it might seem really tempting to call all your programmers in a meeting room and start 'discussing' a serious problem, ask yourself if you can get everyone to do something about the problem rather than just 'discussing' it.

I could have said this politely and I could have mitigated my speech, but then it probably would not have had the same impact that it would otherwise have. So here is my advice for today which I hope nudges you on the path of productivity - Try to see if you can shut The F-Up and Go get some real work done.

I wish you good luck.


Comment Section

Comments are closed.


Posted On: Saturday, 10 April 2010 by Rajiv Popat

We have been working on getting one TEDxCalcutta 2010 video out every two weeks. This week we started with the very first talk of the event which was given by Gurbux Singh.

The talk is online and can be viewed from the videos section of the TEDxCalcutta website.

Join Gurbux Singh in this discourse as he takes you through the journey of his life and his experiences of winning the Olympics gold medal and then later an Olympics Bronze medal. 

The paths you take in life are often a combination of so many different things. When questions are asked hands have to be raised and decisions have to be taken. Impediments and problems exist but do not last long if you play your game and play it really well. Nothing replaces consistency and focus. Knowing every individual in your team and what moves them is hugely important. Forgive and Forget is true sportsmanship.

Gurbux Singh uses a friendly, casual and spontaneous discourse to give you his gems of wisdom acquired after years of sportsmanship which he ends by showing his Olympics gold medal and receives a standing ovation for it.

You can see the video here and leave your comments or ratings of the video on the Uploaded YouTube Version.


Comment Section

Comments are closed.


Posted On: Friday, 09 April 2010 by Rajiv Popat

If you build software, you work in a business which is controlled by simple concrete fundamental rules which are just as real and just as invisible as gravity. That is not to say that these rules cannot be bent, bypassed or broken, but then when we are talking about breaking these rules we are either talking sweat, blood and time or we are talking simple magic. Put simply, we are either talking about taking the Wright brothers way or taking the Harry Potter way.

The Wright Brother way involves having a culture where people understand the existence of these simple fundamental rules. Then they work on a slow, steady, scientific approach to taking small steps towards twisting and bending these rules.

The 10x productivity rule for example offsets the iron triangle rule but then it takes about ten thousand hours for a developer to be able to bend the rule. No different that building a airplane step-by-step.

A good ten years of committed focus and hard work goes in. Expertise is developed, you slowly move away from typical CRUD applications and build something that is genuinely innovative.

That is when an overnight success that takes years is born.

The Harry Potter Approach on the other hand involves no respect for the fundamental rules. It typically involves a bunch of clients or managers using all their management arrows to hunt out a few Harry Potters within the organization and then hoping that these Harry Potters pull a magic trick and just get things done consistently without failing.

You know that your manager is expecting a Harry Potter when he is not 'listening' to what you are saying. Instead of realizing the practical problems and the productive constraints which force you to remove excess fluff and focus on what is important, he is busy reminding you how important it is for you to do what he is telling you to do, within the timelines in which he is telling you to do it.

What he is doing is that he is genuinely hoping you are his Harry Potter and that you can pull a rabbit out of your hat for him.

As someone who was once a Harry Potter early on in his career I have witnessed how bad pulling magic tricks in projects can hurt.

After my first successful failure where I pulled a few magic tricks, I recovered, healed rather quickly and resolved that I was not going to repeat my failure. I also learnt the finite rules that exist in the world of software development and then I set on a path to break these rules with consistent and focused commitment to at-least try to get better each day.

Personally, I do not know if I have been successful at my self-commitment but I am definitely trying to take continuous steps on the path of self development.

So as a young and budding manager, or as a regular ass-hole, as much as you hate that guy who tells you the practical realities of your business, your team's limitation or brings you face to face with realities you did not want to encounter, remember, that this is not the guy who will get your project to fail or your career to take a steep nose-dive. In fact, if you can give this guy a serious pat on his back and make him your friend, that is what you should do.

Then there is the Harry Potter who never says no, pushes 'harder' to get things done and pulls out magic tricks without any respect for real constraints that exist all around him and his team. This is the guy you need to be seriously careful of.

This is the guy who will take both you and your project down if you keep trusting him to pull his magic tricks for you.

Why Pops, you ask. What is so wrong with a little bit of magic?

Remember that magician who used to make your coin disappear into thin air when you were young? The coin wasn't really gone. It was sitting somewhere under his sleeve and the art of shitting canning things under your sleeve is exactly the kind of art and talent that you need to get your next project to fail in the long term.

So if you are a young and budding entrepreneur, vice-president or a manager, stop looking for Harry Potters within your organization and start looking for people who remind you the practical realities or rules of life and then show you how to overcome, bend or break these rules with step by step hard work, one track focus and relentless commitment.

I wish you good luck.


Comment Section

Comments are closed.


Posted On: Sunday, 04 April 2010 by Rajiv Popat

TEDxCalcutta speaker Sarvesh Tiwari, first introduced me to the idea of Intellectual Surplus. According to Sarvesh its the part of your brain that is left un-used after you have done your days work at your organization. This is the part of your brain or your intellect that individuals often do not pay any attention to.

Given my contention, that no-body works for more than 80% of his time spent at office, the idea of intellectual surplus was something that was not just easy to understand but was actually rather simple to connect to.

If you think about it however, the idea of an intellectual surplus goes beyond utilizing that 20% of time where you are involved with doing nothing in particular.

What your brain is doing for example, when you are seated in a bus, in a subway or driving on your way to office is a classic example of intellectual surplus getting wasted. Pop in a podcast CD or MP3 and chances are that you suddenly started using your commute time to utilize, exercise or stimulate your brain a little more.

Another way to think about this concept is that you are utilizing your intellectual surplus all the time. You are even utilizing it when you are watching the newest Hollywood movie and admiring the special effects or the acting of your favorite actress. You are taxing your brain and the kind of entertainment that you pick also ends up deciding the amount intellectual surplus that you use.

As someone who finds discotheques utterly boring and an excessive dose of television utterly depressing, I've learnt that I am often fairly happy when I am using my intellectual surplus to do or build something meaningful.

Whether it is organizing TEDxCalcutta, talking at a local developer community conference, taking a knowledge sharing session at my organization or doing a blog post for this blog, I tend to fairly happy when my intellectual surplus is getting used to create meaning. For parts where my brain needs to relax I have learnt that I am way better of going on a long walk with friends or having meaningful discussions and arguments with folks I can really connect to.

The real trick is to realize that, as a developer you have this huge part of your brain which is not really getting utilized to do or produce anything meaningful. Once you have realized that sit back, relax and reflect on your day to observe how much of that intellectual surplus is being wasted on nothingness, the idiot box and insanely meaningless activities like daily commute.

Now that you have an idea of the amount intellectual surplus you are squandering away, the next step is to think on what you are going to do about it. Audio books for commute? Language classes during weekends? Take up a hobby that you always wanted to take up? Start a pet project that you always wanted to start? Do a few blog posts each week?

The choices are yours, make them wisely, but then any choice that you make will be better than not even knowing that your intellectual surplus exists and it is getting wasted every single day of your life. Go make a choice and utilize that part of your brain that was often wasted gazing out of the bus window on your way to commute or watching an utterly depressing and boring television program.

I wish you good luck.


Comment Section

Comments are closed.