free html hit counter
Posted on: Saturday, November 20, 2010 by Rajiv Popat

Programmer Tip: If You Are Going To Get Fired, Get Fired For The Right Reasons.

You. Yes, you. You can get fired too.

Years ago, this was one realization that dawned on me during a rather strange project.

I was a talented young engineer, minding my own business, learning, growing and staying as far away from office politics as I possibly could. My chances of getting fired were fairly tiny.

Then suddenly, on a fine Monday morning that I found myself in a meeting room with two other programmers and a rather strange project manager, drawing a line on a white board and pasting yellow post-it notes on it left and right. We had been assigned to a nine month project, which the client wanted done in three months.

The timelines that this guy was pasting the board were not making any sense. He was using intimidation left and right to make us say yes to his timelines. We sat there nodding, telling ourselves: how bad can this be. we will work late nights. we will make it work.

If this was now, I would have just said no. On further intimidation, chances are that I would have gotten up, said "screw you" politely with a broad smile on my face and left the meeting.

When you are young the idea of giving up seems insulting. You think of yourself as a super hero ready to rip off your shirt, jump out of the window, fly and rescue the sexy young girl stuck with the evil guy. Besides the fear of getting fired from your first job is pretty much like being rejected or dumped by your one of your first stupid crushes.

Three months later we were struggling with the project. This same manager was grabbing us by our collars and making us ship. The client was throwing their tantrums and we, like any other software development team, in a typical consulting shop, were trying our best to hurry up, ship shit, run away to the next project and not look back.

At the end of third month,  when a particular memory leak error refused to go and the application kept crashing left and right, the realization dawned on us. We realized that we might be fired if we cannot ship this thing on time. It took me another three months and a lot of good luck to overcome the fear, make up my mind to stick around, clean up the shit, ship a decently acceptable version and get rewarded the best programmer award in my organization.

The award did not mean a thing and even today I preferred to refer to this project as the biggest successful failure in my professional life till date. Even today the certificate hangs on a dark wall of a small room in my home, reminds me, every time I look at it, that:

  1. Your organization typically cares much less about the integrity of your work than you do.
  2. Your organization typically does not care about differentiating your true successes from colossal f@#kups and failures in your professional life.
  3. You can get certificates and recognition by shipping crap, if you just meet the timelines your manager wants you to meet.

But of all the things that the certificate reminds me, the most important thing that it reminds me is this: If your organization expects you to do the undoable, you are already F@#CKED. You are better off, showing some spine, saying you cannot do it and getting fired right now rather than waiting for things to get messy and then getting fired like a spineless, gutless dolt.

Don't compromise with your integrity and lower the basic standards of what you ship. If you are going to get fired, at least get over your insecurities and get fired for the right reasons.

I wish you good luck.

posted on Saturday, November 20, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [1]
Posted on: Friday, November 19, 2010 by Rajiv Popat

Venting Your Frustrations On Your Work Is The Stupidest Thing You Can Do.

Fred is overworked, underpaid and frustrated. He carries his grievances, miseries and frustrations, both personal and professional, with him to work. Ask him to work on something more than the scope of his official business card and Fred gives you a look that makes you feel sorry you asked.

Fred also has a lot of complaints from life in general and his organization in particular. He is out there to make you, the customer or his colleague, pay for it. 

They are not paying him what he deserves. They are making him slog. They are not professional enough. It is all their fault.

My advice to Fred is to stop. Stop whining like a baby and think. You only have three options:

  1. Quit your job and go find a new one.
  2. Start something on your own.
  3. (And if you cannot do one and two) Shut up, stop whining and leave your frustrations at home when you come to work.

Every workplace is going to have their share of problems. Yours has its problems too. Big deal. Whining is almost never the solution to any problem. Two people gossiping about the problems in their organization but neither one of them having the spinal cord strong enough to do something about these problems, is just a waste of their time and a toxic thing for the overall culture of the entire organization.

Making your organization, customer or manager pay for it by scoring fouls is even worse.

Venting frustrations is a part of whining. It is not particularly difficult to do. In fact, it is really easy to do. It is also the stupidest things that you can do. You are much better off writing a constructive email, bringing up the problem with the right people, dropping your mitigated speech, saying how bad things are openly  and taking the hit for it.

When you work for an organization and you do not like it, there are only two things that you can do, you can change your organization or you can change your organization, either way, going to work with a frowning face and a truck load of frustration so that you can vent those out on your managers, colleagues and customers is the stupidest harmful thing that you can do to your own career and character. Stop knitting your eyebrows now.

Stop. Smile. Say cheese. Now go to work.

I wish you good luck.

posted on Friday, November 19, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, November 14, 2010 by Rajiv Popat

A Rulebook For Your Organization - Part 1.

I hate rules. Having said that, I also find the idea of "Rules which break all rules" fairly interesting.

So you have thought about leading your own team? Leading an organization? Or starting something on your own?

Close your eyes and imagine that I am handing you your dream organization. Giving it to you. Just like that. What I want you to do instead, is give me a detailed Rulebook of things that you will absolutely do and not do in your organization.

Well not the 'rules' per say but the overall guiding principals.

Things that will become the foundational building block for your organization.

A couple of days ago I asked this question on Twitter:

Scott Berkun one of my favorite mavens on the subject of innovation, responded to the question with a rather interesting tweet.

His interesting response:

@thousandtyone *only* hire people 1) who love to work 2) who like/trust each other 3) who are self-aware 4) have a sense of humor

The response is particularly interesting because even though I have always enjoyed working with folks who have a sense of humor and have always been a little uncomfortable around people who take themselves way too seriously, I never quite saw it as a criteria for hiring individuals.

Sometimes you need someone else to pin it down in exact words for you to realize how strongly you believe in an idea.

A new idea was born.

A collection of really small posts highlighting things that matter to me (and hopefully you) when building your own team or your very own small organization.

It's the organizational rulebook for a kickass environment.

If you had a startup and were to write down a few rules for a kickass environment which rules would you pick?

Time to compile a few of these that come to mind and any others you might think of in a series of post.

Go on. Click the comment link, send me an email or send me tweet at @thousandtyone and contribute.

posted on Sunday, November 14, 2010 10:45:04 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Saturday, November 13, 2010 by Rajiv Popat

Stop Giving Lousy Excuses And Start Working On A Small But Genuine Story.

Three guys building what they love and being profitable at it is a story; five thousand bodies building yet another enterprise software is a factory.

One guy selling a million copies of a one dollar iPhone application is a story; an enterprise bidding for yet another million dollar contract, is just a marketing gimmick.

One funny two minute video on YouTube is a hilarious story; one hour of regular television sitcom is grunt work in the life of a production house.

We don't want to hear about you rambling about yet another enterprise, yet another deal or yet another production house.

We don't want to hear about the big guys again. We know how BIG works.

Big is starting to get really boring.

A small blog post with a brand new thought, a tiny code snippet that makes you a better developer, a small open source utility that simplifies your life, a small you tube video inspires you, teaches you or makes you smile... these are all small stories you can weave.

I am too busy to work on it. I am not big enough to do it. I am not smart enough to do it.

BULLSHIT! Lame. Excuses.

None of these excuses work when it comes to these small stories.

They don't take a lot of effort. They don't take millions of dollars. They don't even demand that you quit your day job. Just a little bit of consistency.

We know you can weave them. Everyone can.

The only real question left for you to answer is, will you?

Go start something really small and celebrate your doneness.

I dare you.

posted on Saturday, November 13, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, November 12, 2010 by Rajiv Popat

Leadership Tip: Learning The Art Of Trusting Their Judgments.

When we landed in her organization as external consultants responsible for reviewing a project, Jane had a business card said that she was responsible for all IT purchases in her organization.Vendor evaluation, comparison and negotiations for every piece of hardware, laptop, server, cable or wiring that her organization purchased.

Buying a book that someone in her team needs, was a completely different thing though.

There was a systematic approval process involved which she had to go through.

The fairly convoluted process involved in taking her team on a quick lunch is even worse than buying a book that they need. Every time her purchase request for a book was rejected her organization silently signaled to her that they did not trust her judgments.

This was not a typical Fred mucking around with code. Someone who wants and needs to be monitored and questioned on every step.

This was not a typical robot.

This was a person with a job role that demanded that she took judgment calls and yet we sat in meetings where her own managers rejected some of her best judgment calls for all the stupid reasons.

The outcome? Detachment.

She had been given two promotions in the last two years. Clearly they knew what she was capable of delivering. And yet there was continuous reluctance in yielding just enough freedom that would let her do her job remarkably.

A promotion is the act of telling someone you trust their judgment with bigger stuff.

Getting out of their way is the act of actually trusting their judgments.

Most kickass builders, story tellers or movers will not judge you by what you tell them, they will judge you by what you actually do.

Trusting someone's judgment calls and getting out of their way so that they can take independent decisions, succeed, fail, learn and grow is one of the best gifts you can give someone.

Are you giving this gift to your team by trusting their judgments?

Just a little something to think about.

posted on Friday, November 12, 2010 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, November 7, 2010 by Rajiv Popat

Work In Progress Version Of The Book On Builder At Work - Part 4.

How does the data of a project that is hugely successful differ from the data of a failed project? Actually, it is not very different. Most projects are slightly late. Most projects are slightly over budget. Most projects have variances. What sets a successful project apart from a failing one is the story that surrounds these projects.

Even though I did not know how to name it back then, one of the most valuable lessons I learnt as a young and budding developer, was that we become the stories we tell ourselves. That and there was a breed of people who really kicked ass at the art of story-telling.

Besides builders who build stuff, the people who weave remarkable stories are hugely important to the success of any software (or for that matter any) project. In this chapter of the book I introduce you to the special breed of people I call story tellers.

You can get the chapter from here.

posted on Sunday, November 7, 2010 8:44:35 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Saturday, November 6, 2010 by Rajiv Popat

Stop Acting Like A Lousy Moron And Using Stupid Numbers To Evaluate Success.

The guy who used to score A+ at all his exams in high school bumps into you at a shopping mall and wants to "catch up" with you. He wants to know where you are working. You answer.  You tell him that It is a small startup based out of the valley. He wants to know how many employees your organization employs and cringes at any number less than a thousand. It does not come as a surprise to you though.

You already knew that you had just bumped into a lousy moron who was going to judge your success based on your organizations success and your organizations success based on it's head body count. You knew it the moment you saw this gentleman and your mind raced back to gather recollections of your high school days and your interactions with him.

The mentality is mostly a reminiscent of the individuals upbringing. You instantly dive into a flashback. This fine man in front of me is a classic example of a family and a school that succeeded in turning a perfectly smart child into a lousy moron.

When we (me and my brother) were young, grades and marks were not a huge deal in the family. Of course we were expected to fair well, but our parents did not lower their perception of our intelligence or treat us any differently if we scored a "B" instead of an A+.

Life for this acquaintance of mine, was hugely different though. He had a family which evaluated his intelligence based on his grade. The guy had fierce pressure of topping each test, merely to leave his interactions with his family and their perception of his intelligence un-tempered.

As much as I could never connect to him, I did feel sorry for the guy back then.

He was a classic example of someone who "fits it" and expects everyone in the classroom "fit in". Someone who has all the answers but does not learn how to question what the book says. Someone who never lands in trouble to save a classmate from a prank they pulled together.

When you use lousy numbers with no real correlation to success, to measure and judge not just yourself but everyone you meet, you develop a narrowed vision of reality. You become this acquaintance of mine.

You start hiring employees based on their scores in their IQ test. You start taking certifications  seriously, you let designations define your own net worth in your every own eyes and worst of all you start turning your own kids, who are awesome at the art of exploring, failing and learning into idiots who know how to cheat the system and score even higher numbers than you did.

If you are a programmer my advice to you is seek the most innovative organization that you can find out there, even if it has just three people working for it.

If you are a responsible for hiring my advice is stop recruiting people based on their IQ tests and most importantly, if you are a parent, my serious advice to you is, stop evaluating your child by his grades and stop judging him. Stop it. Now.

Observe what your child loves doing and nudge him to do more of it. If all goes well, you might have kid who grows up to be someone who is happy doing what he does not go around comparing his grades, number of employees in his organization or other random numbers with numbers of other random people that he bumps into at shopping malls, to feed his insecurity. Seriously.

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

Leadership Tip: Every Time You Use The Word "We" Mean It Through Your Actions.

One of my favorite Ted Dziuba post is the one where he advices everyone in the software business and managers in particular to stop using the word "we" and other enterprise words when talking about tasks and responsibilities.

In his classic, loud and highly opinionated way, Ted explains:

Yesterday, I spearheaded a new movement at the office. I stopped using the word "we", and started to say what I really meant to say.  For example, instead of "We should fix that bug", I say, "You should fix that bug", and good God is it satisfying.

There are a couple of motivations for this. Firstly, one of the key things I've learned being a for-pay writer is to show some conviction. Secondly, the passive discussions about defects and delegation and responsibility really started to irritate me. Why not just tell it like it is?

When I worked at Google, I picked up on a really annoying trend in the software industry (or maybe just in Silicon Valley) that I call "fuck-you with a smile".  You never want to outright blame somebody or something, rather, it's best to state the existence of an issue and then ask "the team" to fix it.  We should really move that icon ten pixels to the left. We definitely need to fix that concurrency bug. We should probably have that all done before lunch.

Well then, Mr. Manager, you had better get cracking, because I've got some YouTube videos to watch.

I can see a whole breed of managers knitting their eye brows at the whole approach, but if there is one thing I can tell you after working at countless client offices and observing countless other organizations, it is that it is often the organizations that focus on individuals, the virtues of selfishness and create win-win situations, that are the most fun to work at.

These are also typically the environments which create the best of the teams which are closely bound because every individual understands clearly that their best interest is in complementing the efforts of others, flocking well without bumping into others and giving in their best, because their best earns them the best of appreciation.

An environment where every single achievement of yours is masked under the banner of "the team" often tells the story of an insecure manager spending all his time making sure no particular individual gets more than a certain share of credit.

Every time you plan on using the word "we", the least you can do is make sure that you at-least pick a considerable part of the task you are delegating and actually do it YOURSELF. The "Lets work on this" approach works wonders if you genuinely mean it but if you cannot take up a sizable part of the work, shut up and use "you" or "you guys" instead of "we" because YOU Mr. Manager, are not going to do any real work on this assignment.

The whole idea of only using the word "we" when I am actively contributing in solving a problem is something I may not have always adhered to in the past but it is also something that every single one of us I need to be careful about, specially while working with a team of kick-ass developers.

You want the best to give in their best and add the most value, not assign every task to the mediocre larger "we" or the black hole called "The Team" where everyone is responsible for talking about it but no one responsible for actually doing it.

Stop hiding behind the collective curtain of "we".

Pick up a sizable chunk of the work in the overall task and then by all means use the word "WE", but don't use "WE" to make yourself "somehow" involved in the work that you have not done. If you want credit and involvement, earn it. Go take up a sizable task now and ship.

If you cannot do that, consider shutting up and letting those who are  driving, get the due credit for their work. If you need "them" to work on something, while you wait for them to complete and play online poker or attend meetings in the meantime, the least you can do is be honest about it and say it with conviction. Seriously.

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