Posted On: Friday, 25 September 2009 by Rajiv Popat

Watch And Learn.

Early on in my programming career as a student; we worked on a system which was supposedly an intelligent system capable of striking a textual conversation with the end user. This was a small research project at the school level which won accolades at a few local news papers and received a little bit of attention.

The premise of this project was fairly simple. As far as human beings are concerned; most; at-least quite a bit of what we learn; is learnt by aping things. You know; the monkey-see-monkey-do way of learning and doing things.

With my limited reading on neuroscience back in school; little did I realize how wrong I was about the human brain and how it worked. Books like the Brain Rules will tell you that there is a whole lot of preprogrammed intelligence in the human brain besides just an ability to ape and learn stuff. But when you are a kid you do funny but really interesting things which keep you excited and in the flow. Things like trying to emulate the human brain with computer programs.

Having said that; the basic premise on which the system was built does hold true even today. The human brain; at-least a huge part of our brain; evolves by observing the things that happen around us; deducing our own reality out of what we observe and then aping the changed versions of that reality back into our lives whenever we need to or want to.

How do you become a great author?

By reading lots of good literature.

How do you become a great poet?

By reading lots of good poems.

How do you become a good builder?

Now; if you are a normal human being with a functional brain you probably answered instantaneously; - 'you do it by observing a lot of builders @ work'. 

That right there was a live example of learning by aping logic based on the first question and using it to answer the third one. As human beings; we do this all the time and after weeks of observing genuine builders at work; one of the things that I've learnt is that the sooner you start observing genuine builders around you and the sooner you at-least start understanding what they are doing; the better off you will be; as a builder.

Steve Yegge uses his music learning experience to illustrate how can Practicing Programming by observing other programmers. He explains:

The saying "practice makes perfect" is inaccurate, as any music teacher will happily tell you. Perfect practice makes perfect. I'd been practicing sloppily, and had become very good at being sloppy. For one thing, I was tensed up, trying to force my fingers to make the right moves. So I only knew how to play tensed up, which exhausts you quickly. I was actually doing all sorts of things wrong, more than I'd ever have guessed, but the details aren't important. What's important is that I was thinking about it all wrong.

I knew that everyone said you should take lessons, but I had convinced myself that I didn't need them. I was actually a bit afraid to take lessons, because instructors were telling me I'd have to "forget everything I knew and start from scratch." That was a stupid way to attract new students! Nobody's going to want to throw away years of work. It was also incorrect: lots of the stuff I knew carried forward. Learning the proper technique turned out to be more like learning a new song than learning a new instrument. But at the time, I thought: "Screw that. I know how to play guitar. I'm happy with my playing, and I'm not going to change the way I play."

I hope you don't think this discussion is too far afield, because my attitude towards guitar lessons was identical to the way most programmers feel about their technical skills. "I'm already great at Perl, so I don't want to go back to the beginning and learn C, or assembly-language. I like the way I program." Or: "I'm great at Java, and I don't see any reason I should have to learn how to write scripts. I can get by just fine without them."

The thing is: I wasn't a great guitarist, and Perl-only folks aren't great at Perl. But you can't see that until you've done the hard work of learning what your instructors are telling you to learn.

Practice Drill #2:   Make a list of programmers who you admire. Try to include some you work with, since you'll be borrowing them for some drills. Make one or two notes about things they seem to do well — things you wish you were better at. 

Simply thinking about good programmers you know, and what makes them good, is good practice in itself. But we'll also use the results of this drill in some later drills.

Finally, there's music practice. There are sooo many types of practice. The common characteristic among them is that practice has to be habitual. Professional musicians develop daily and weekly practice habits that they keep up for their entire careers. Practice requires a recurring time commitment.

One type of practice is simply to go listen to other musicians play, as often as you can. You'll learn a lot just by watching and listening. The analogs in the programming world are watching other people program, and reading their code.

In his classic video on Attention and Sex; Scott Berkun; describes the same phenomenon and describes the importance of giving attention to how the masters of innovation give attention to things. If you have not seen the small five-to-seven-minute-video I highly recommend you do.

This book; in general and this series of posts about observing-and-understanding-genuine-builders in particular has been all about watching builders @ work and learning from them. If you want to learn the art of genuine innovation; including the craft of building stuff that is genuinely remarkable; you don't start by getting in a meeting room and thinking of a grand idea.

You start by paying close attention to every builder that you can lay your eyes on; every piece of information about every remarkable organization that you can find out there.

Then you study that information.

You squeeze out every practice; every fact and every approach to problem solving out of that information. You dissect that information and you spend a conscious bit of time and effort doing it. You do it consistently; every single day of your life.

Do that long enough and you will learn things that are bound to change your whole perspective of innovation and how stuff gets built in the real life. No; some of the best builders that you will be able to find don't succeed all the time. In fact; they fail early and they fail really often. Genuine builders don't spend a huge part of their lives in meeting rooms. Some of them even prefer to work at the middle of the night in just a towel.

Some of it; like being aware of how important consistency and patience is, when it comes to building stuff; will be learning that will prevent you from bailing out or quitting too early. It might even help you cross the dip and become the best in the world at whatever it is that you are trying to do.

Other facts; might just be a confirmation that you are on the right track.

Some; like knowing how builders hibernate; might just tell you where you are going wrong or how you can fix it.

Whatever be the case; once you are done with this post and before you move on with your life; consider this --- if there is one thing that you take back from this book and this section in particular; it is that when you see a genuine builder around you who is getting things done; you need to stop whatever it is that you are doing as a 'manager' and you need to observe the guy.

See him work.

Watch.

And Learn.

I wish you good luck.

@BuildersAtWorkBookNotice.


Comment Section

Comments are closed.


Posted On: Thursday, 24 September 2009 by Rajiv Popat

Where There Are Human Beings --- Shit Happens.

I was once told that the difficult part of story telling is when you stop writing and the story starts writing itself. That isn't really the difficult part of story telling. What I have learnt with this book is that the difficult part of story telling is not just letting the story write itself; but wrapping things up brining them to a graceful end when the story is really busy writing itself.

Yes; there is a lot more to be said about building remarkable work and play environments. We can sit here all day and talk about all the specifics of creating an amazing work and play environment and then you can go out there in the real world and realize that every single problem that you face at your work environment is not even close to the problems that you read in this book.

Or you could spend years of your life as a manager; sixteen hours a day; trying to build an environment that absolutely rocks and then one fine morning be told that even the best of your builders aren't even remotely happy in the environment you've built for them.

This is probably not because you went wrong with or were inattentive to every minute detail that this book talked about.

It is probably because of the simple cardinal fact of life --- where there are people; shit happens.

No; seriously. Before you snicker and smile at that statement harp on its reality a bit.

Human beings by their very nature are complicated creatures moved by different motivations.

The story of a seriously interesting builder who supposedly loved working at Multiplitaxion Inc, comes to mind. The guy was a decently good builder who was pretty good at the craft of getting things done. We had given him all the tools he needed to get things done; got out of his way; gotten him salary hikes; promotions and big fat bonuses.

When the guy left he was in serious need of more funds and a higher salary. Understandable. What was not understandable however; was that as soon as he found a better job offer; he admitted having written two really long and interesting anonymous emails. One consisted of blatant, non-constructive criticism about the organization and how it was a pathetic organization to work for. The other was a blatant criticism for 'the man' who worked for the organization.

We read the emails with a meticulous eye; looking for any piece of constructive criticism that we could pounce on and improve the overall work environment. I even went so far as assuming that he referred to me when he talked about 'the man' and tried to read the email with an objective eye looking for anything where the organization or I; as a manager; could go out there and improve myself.

As far as constructive criticism was concerned - there was none of it.

'Multiplitaxion Inc, was too materialistic to give out employee loans and advance salary to their older loyal employees' --- the email read.

As a matter of policy we did not give employee loans and salary advances back then. Everyone knew it. It was common knowledge.

'The man who works for the organization does not not even like listening to music' --- the email read.

Well as a matter of fact, there were quite a few of us who found the idea of listening to loud music while programming a little distracting. We preferred people used their headphones. We even went all the way; had the organization buy these headphones and gave them out to the music lovers absolutely free of charge.

After reading the emails over and over for a couple of times; feeling down for a few minutes; we decided to leave the emails behind and move on with our lives.

There were multiple reasons why we could do that without having to rage a major war with our guilt or consciousness:

  1. As an organization we; at-least most of us; had been just, fair and open about our policies and everyone who stuck around were aware of these policies. Everyone who decided to stick around had made a conscious decision to stick around. None of it was confusion or deception. 
  2. As managers; we were all learning and we were working our asses at it; giving our level best to our job which included removing impediments from the way of builders. We were serious about creating environments which were great for serious work and play. Yes; we made our share of mistakes; but we learnt from them; and we survived by moving forward --- consistently
  3. When we made mistakes; we said sorry; and we fixed things. Obviously; when we got these anonymous emails with no constructive criticism what-so-ever; just whining; it seemed logical to ignore them and move on. There was nothing to say sorry about; nothing to fix. After all; we had an organization and projects to run and we could not afford to let the bozos get us down.

Every work environment is different and so is every human being that you work with. Yes; when the young and budding engineer you pushed hard to promote turns around and criticizes your whole idea of openness or flatness; it sucks; but at some point in your professional life and even as organization's life; you will have to take a stand and realize one simple fact of life --- you cannot please everyone in your organization.

Funny But Interesting Donkey Story.

It is probably floating around in emails trails somewhere. This is a fable of a man who about to embark on a journey decides that he wants to carry his old donkey on his back.

Somewhere along the trip the donkey slips into a big mud-hole.

The man spends hours thinking of a way to get the donkey out but finding no rope or help near-by decides to put an end to the old-hurt-donkey's misery by covering the hole with mud and cremating the donkey alive before he moves on.

He takes a bucket full of mud and throws it on the donkey's body.

The donkey shakes it off; and steps on top of the mud.

Bucket after bucket; the man keeps throws the mud on the donkey's body to cremate the donkey live.

Bucket after bucket; the donkey keeps shaking the mud off his body and stepping up on it.

Soon; the hole is covered and the donkey walks out alive.

As funny as narrating this story in a book connected with software development seems; it should actually be taught at management and software development schools across the globe.

Why?

Because if you are trying to build truly remarkable work and play environments or trying to bring about any change in your organizational environment, you have to develop an overall attitude that has uncanny resemblance to the donkey's attitude in the story. 

Shake It Off. Get Over It. Move On.

When you are trying to bring about change; or build amazing work and play environments chances are; that you are going to be criticized heavily. Someone somewhere in your organization is going to have serious issues with what you are trying to do.

It is going to hurt even more when the people who you were hoping to become your change agents have serious issues with what you are trying to do.

If you want to have any chance of survival in the long run; remember the three very basic; simple rules:

  1. Do 'not' forget the magic word - 'Empathy' - if you lose it you lose everything.
  2. If you genuinely believe in what you are doing; keep doing it consistently; and hope that people will 'see it' and 'get it' sooner or later. 
  3. When the criticism comes in; analyze it objectively; see if there is anything you can do to improve yourself and if the criticism was just directed to let you down  --- shake it off; get over it and move on; just like the donkey you read about in the story.

Remember; you get just a couple of human beings in a room and shit happens. In a typical organization; you're dealing with quite a few human beings. Having said that; If you remember these three simple rules; improvise and adapt as per these rules; you should go a long way at creating amazing work and play environments.

Of course things will feel shitty at times.

Of course things will feel like nothing is even worth-doing at times.

But stick around and you should be able to build an environment that is different, fun and stands out; despite of all the shit around that happens around you; and then if you are lucky; the shit that happens around you will slowly keep on reducing over time.

Having said that; don't expect all of it to go away completely. It wont. But if you keep showing up; keep doing what you think is the right thing to do; sticking to the three simple rules; you might actually start loving what you do and you might witness change happening. Slowly. Over time.

I wish you good luck.

@BuildersAtWorkBookNotice.


Comment Section

Comments are closed.


Posted On: Tuesday, 22 September 2009 by Rajiv Popat

Relationship Circles.

Relationships and connections that bring people together at work are fairly interesting.

Take a circle; it is time to observe.

Yes dear reader; by a 'circle' what I mean is that group of individuals you see hanging out in the cafeteria; together --- all the time.

Watch them; because 'circles' have the potential of empowering you with the information you always craved for as a manager.

'Circles' can tell you a lot about individuals who constitute them.

Located smack in the center of the 'circle' is the central connector that forms the circle. It could constitute of multiple things:

  1. Human Connectors - What Malcolm Gladwell would 'connectors' in his classic book; The Tipping Point. These; are human beings that bring other human beings together.
  2. Memes And Causes - People in a circle are getting together and talking about their project. With their current project or what-ever-it-is-that-they-are-working-on is going to change the world; make a dent in the universe and show the organization that they have been right all along.
  3. An Asshole - Yes; if you are talking about the world of software development; assholes bring more people together than you can think of. You hate Fred; I hate Fred; so lets hate Fred together. Its so much more fun that way. Of-course Fred; could be a manager or an entire organization. As long as we can get together and collectively hate something together we should be good building a circle around that hatred.

At Multiplitaxion Inc; I had the opportunity of working with a senior manager who actually took pride at being the asshole who connected everyone within the organization. In a direct; open; candid; one on one conversation this gentleman told me he knew how everyone in the organization hated him. He said it in a tone which translated almost like saying he knew how he was actually brining everyone together through a common reason; which was the act of hating him.

Foundation For Long Term Work Relationships. 

While only one of the managers I have worked will till date; was candid or mature enough to admit this; I have worked with a countless number of managers who at some level or the other; knew they were hated by people around them and actually took pride in the fact; or at-least got a very perverted kick out of it.

Talk to most vice-presidents and CEO's around the world and quite a few of them let whiners and assholes stick around in the organization; because at some level of consciousness or other they are noticing first hand how having these whiners and assholes are bringing teams together. Besides; everyone loves a few whiners in the organization.

If you are trying to create an environment which is fun to work in; and produces genuine innovation for years; here is the bad news however --- the whole idea of hatred for assholes acting as the unifying glue that holds your entire organization does not work in the long run.

Why?

Because problems do not tend to exist forever and when your relationships are based on specific problems; with the problems out of your way; you are pretty much stuck in a rather awkward situation.

Another manager; who for the purposes of this post; we shall refer to as Fred; for example; was a universally hated manager at Multiplitaxion Inc. Fred; single handedly formed the central focus point of many circles and the sheer make-fun-of-Fred-task was a project in itself. It was in fact a way of life which brought groups within the organization together @ the Multiplitaxion Inc, cafeteria.

Then one fine morning; when the sky was blue and the birds were chirping; Fred found a better opportunity and left Multiplitaxion Inc.

Just like that;  he wrote a formal it-was-nice-working-with-you-guys email; and disappeared the next week.

You could literally hear the sound of crickets chirping in the cafeteria.

A few younger ones tried continuing the when-Fred-was-here stories even after he was gone. 

It seemed to work for a couple of days.

Then that didn't work either.

This is when; over a period of time; I personally witnessed the ends of multiple 'circles' within the organization. People who were intelligent people; spending hours together; were nowhere to be seen together now.

Walk into its cafeteria and Multiplitaxion Inc no longer seemed like the fun and happening place roaring with laughter it had once been.

Builders who had joined forces to sedate this monkey; found nothing to talk about and went their own way.

All you could hear on any given day in the corridors of Multiplitaxion Inc; was the sound of crickets chirping.

If there was one thing this incident taught me; it was that 'circles' that are brought together by true and genuine fun-loving connectors tend to survive for a relatively longer span of time. Circles that are brought together based on the mutual hatred of a particular asshole or a particular organization; do not tend to survive in the long run at all.

The only circles; however; that stand the test of time are circles which are formed out of mutual desire to create meaning. Circles where the objective is to get together and 'build stuff'.

Next time you notice a circle forming around an asshole; try to penetrate it; and give them a cause; a meaning or a bigger arch enemy. That dear reader; is your only chance at forming long lasting 'circles' of genuine builders and not collective-whining-groups.

I wish you good luck.

@BuildersAtWorkBookNotice


Comment Section

Comments are closed.


Posted On: Friday, 18 September 2009 by Rajiv Popat

Building Stuff Is Hard

Virtually every veteran builder that you talk to; tells you the same things about building remarkable stuff. Building stuff is hard; building stuff takes time; building anything means you face a lot of criticism and building stuff requires something that is much more important than just raw talent --- it requires patience and consistency.

Bottom line; you keep jabbing; keep shipping; and keep firing; till the time you cross the dip and hop over the thin line that separates a young and budding armature from a mature veteran.

If building stuff that is truly remarkable is that hard and usually happens after multiple encounters with failure; the question that really kept bothering me; as I worked on this book; dear reader; was that; apart from the Hollywood-Appeal-Factor is there anything else that attracts, nudges and pushes genuine builders around the world to keep building stuff.

The answer as it turns out is --- passion and flow.

Flow

The more builders around the world; I observe; the more I am leaning to believe that passion for what you do and flow are two most important reasons which makes builders put in the tremendous amount of patience, slogging and consistency it takes to make the dents in the universe; that they are trying to make in the first place. 

Wikipedia defines being in the flow as:

The mental state of operation in which the person is fully immersed in what he or she is doing by a feeling of energized focus, full involvement, and success in the process of the activity.

Csíkszentmihályi identifies the following nine factors as accompanying an experience of flow:

  1. Clear goals (expectations and rules are discernible and goals are attainable and align appropriately with one's skill set and abilities). Moreover, the challenge level and skill level should both be high.
  2. Concentrating and focusing, a high degree of concentration on a limited field of attention (a person engaged in the activity will have the opportunity to focus and to delve deeply into it).
  3. A loss of the feeling of self-consciousness, the merging of action and awareness.
  4. Distorted sense of time, one's subjective experience of time is altered.
  5. Direct and immediate feedback (successes and failures in the course of the activity are apparent, so that behavior can be adjusted as needed).
  6. Balance between ability level and challenge (the activity is neither too easy nor too difficult).
  7. A sense of personal control over the situation or activity.
  8. The activity is intrinsically rewarding, so there is an effortlessness of action.
  9. People become absorbed in their activity, and focus of awareness is narrowed down to the activity itself, action awareness merging.

Not all are needed for flow to be experienced.

The software development world as I know it; dear reader; is composed to only two kinds of human beings --- first kind includes one who have experienced the feeling of being in the flow; other includes those who have not.

If you work with me, know me or read this blog regularly, you may have heard or read me describe my first encounter with my first desktop as - love at first sight with no looking back since then.

During those days; picking up a random problem like creating a shooting game with quick-basic and spending hours at it; day after day; without having the need to concern myself with mundane details regarding like if I was going to paid for what was being built; was a relatively easy way to truly enjoy the journey of building stuff and experiencing flow --- without even knowing what flow was.

Then it disappeared as I tried to 'grow up' as a programmer.

It took more than ten years of programming to get a little bit of that same childishness back into my life and to brush against experiencing flow once again.

Today; as someone who toils and labors with his insanely mulish attempts at writing code; posts or anything that is supposed to make really small dents in my very own little universe; dear reader; even I; dear reader; have brushed against the feeling of being in the flow more than once.

If you have; too; dear reader; you know exactly why it makes builders around the world keep craving for more.

If you have not; chances are; that; if keep doing what you absolutely love doing; you will and when you do; you will know exactly what it is all about.

After you have experienced what it feels like to be in the flow for a few times; there is very little you can do; other than fall in love with what you do and continue doing it; day after day.

What are you experiences with getting in the flow?

Does being in the flow frequently make your overall life much more productive and happier?

Do you actually crave the experience every time sit in front of a monitor; dear reader?

Discuss.

@BuildersAtWorkBookNotice


Comment Section

Comments are closed.


Posted On: Thursday, 17 September 2009 by Rajiv Popat

Sixteen Captains

Back in my school-days our school had figured out a brilliant plan to keep every student motivated and build an environment where none of us would create a ruckus. The secret to doing this; as it turns out; was --- badges.

The idea was a simple three step approach:

  1. Break the class into groups of 10 to 12 students.
  2. Call these groups 'houses'.
  3. Make two 'captains' and two vice captains for each house.

If you were talking about a class of thirty students; you were talking of two class captains; two class vice captains; and then there were twelve captains and vice-captains at the house level. Put simply; if you were discussing a class of thirty students you were talking around about sixteen guys who were 'in-charge' of maintaining the discipline. If you did not happen to be in this sixteen; chances were; that you were way too dumb to create a ruckus or make trouble anyways.

As funny as this might sound to you; there were win-win elements attached to this arrangement:

The school loved this arrangement because the smartest, craziest, wildest, funniest, loudest trouble-makers; who make dents in the universe and challenge the status quo; after they leave school; would tow the line and would be spending most of their time getting others in the line till they were in school.

The trouble makers loved it because it gave them a head start at introduction with girls at interschool functions.

Look Around.

Before you snicker at the stupidity of the whole arrangement above or wonder how it would ever work; look around your organization and you will figure out exactly how such a funny sounding stupid arrangement works; not just with young immature teenagers; but even with grown up programmers. 

How many "Team leaders" does your organization have?

How many "Module Leaders"?

Vice Presidents?

Directors?

David at 37Signals describes this much more articulately that I will ever be able to describe it. He explains:

The title of vice president must be the most promiscuous of all in corporate America. Everyone seems to be a vice president these days. Some companies having hundreds of them. Are all of these people truly capable of standing in for the president or CEO of the company should it come to that? Are they really just one step below that person?

Of course they’re not. Vice president is mostly an “all title, no lands” concept that serves as a cheap way to make someone feel important without the authority to actually be important. It’s classic over-promise, under-deliver. “You’re oh-so-important, but please fill out this expense authorization report for your laptop”.

Titles are mostly bullshit at the best of times, but “vice president” seems to be bullshit all the time.

Now; go look around how and count how many simple 'engineers' you have in your organization.

Compare that number with all the number of people holding other fancy designations your organization might have.

You might be able to figure out how my school pulled off their funny little gimmick of getting the trouble makers to tow the line.

And Why Do Most Builders Take The Bait And Get Excited?

In my career --- I have been fortunate enough to be able to give promotion letters to quite a few genuine builders. I've seen engineers get promoted from engineers to technical architects; and every time I hand over the promotion letters I see a genuine smile on people's face.

This; dear reader; confused me for months.

For months; I would look at every builder smile when he was promoted; and I would look at them with a blank; confused look.

For months I wondered if every single builder; getting happy at being made fiftieth 'senior' executive in the organization of hundred employees; was an idiot to have taken the fish bait and get all excited?

The answer; dear reader; as it turns out --- is obviously not.

Remember the head-start-with-the-girls-at-interschool-functions part?

That (or something on the same lines) is exactly what is at play here.

Handling Designations

Flashy new designation does not 'exactly' give software developers a head start at conversations with girls at a pub; but it gets them more 'perceived-respect'  and a chance at being heard within the organization.

If you have been with me so far; chances are; that I've sold; two simple facts to you:

First; There are tons of useless designations out there; even in your very own organization.

Second; Irrespective of whether you are a builder or a whiner; chances are that you are going to feel a funny pinch of happiness when you are given one of these funny sounding designation.

What you do with this shinning flashy designation of yours; after that funny pinch of happiness wears out; eventually ends up deciding whether you continue to be the competent builder you currently are or you get yourself promoted to your level of incompetence.

Go ahead.

Reflect.

Are you continuing to be in touch with code or have you decided to turn around and run as far away from it at the first fancy designation you are given?

Do you continue to see the uselessness of the meetings you are now expected to attend?

Are you using your newly acquired title to bring about some positive change within the organization or at-least within your team?

Do you realize what your secret title really is?

And most importantly; do you realize that you are just one of the sixteen captains in a classroom of thirty students?

If you responded with a very confident 'yes' to all of the above questions; you should be just fine with your next flashy promotion.

Go ahead; accept it.

Then; go be the student who is ok accepting with the batch of a vice-captain; and then decides that he wants to continue being the smart, crazy, wild, funny, loud trouble-maker who makes a ruckus anyways.

I wish you good luck.

@BuildersAtWorkBookNotice


Comment Section

Comments are closed.


Posted On: Tuesday, 15 September 2009 by Rajiv Popat

The Ideas

At any point of time; in Multiplitaxion Inc; we had multiple teams working on a host of ideas that the business had. Ideas ranging from Accounting for oil-and-gas companies to complex 3D modeling.

Like any other company with a good engineering culture the builders played with tools and technologies. Every now and then they would throw out a sprint based on the a business idea; would pat themselves on their back at a job well done and would go have a blast at a party.

We were one happy team of geeks and builders; getting things done and partying after every deliverable went out the door.

But; there was something missing.

The whole pleasure of creating meaning and making dents in the universe wasn't quite there.

The Pain

Do you feel it?

Do you have an arch enemy?

Do you have a Problem that is a part of your very own personal life that you want to personally eradicate from the surface of planet earth?

Steve Yegge describes this phenomenon when talking about why Business Requirements Are Bullshit. He explains:

You can look at any phenomenally successful company, and it's pretty obvious that their success was founded on building on something they personally wanted. The extent that any company begins to deviate from this course is the extent to which their ship starts taking on water.

And the key leading indicator that they're getting ready to head off course? You guessed it: it's when they start talking about gathering business requirements.

Because, dude, face it: if it's something you want, then you already know what the requirements are. You don't need to "gather" them. You think about it all the time. You can list the requirements from memory. And usually it's pretty simple.

From Krishna Bharat designing Google News to keep himself abrest of the news after the September 11 aftermath to the folks at 37Signals working on project path; most things that make dents in the universe are 'not' things where a marketing vice president sits down with his team to brainstorm about some fresh new ideas. They are problems --- craving to be solved; in the life of a genuine builder who has the means and the measures to solve it.

Problems that the builders passionately connect to; problems that builders understand; problems that are problems in the life of the builders who are working on solving them. Problems that the team passionately wants to eradicate from the surface of planet earth.

If you are a consulting firm; chances are you are knitting your brow and going --- 'But Pops. We have to work on projects from multiple verticals. It's our bread and butter' --- and my answer is simple --- 'by all means; please do; but at the same time see to it that you are giving your builders enough free time to solve problems that they genuinely want to solve'.

The next time a builder walks up to you with a problem he has and how he plans on going about solving it; go out for a cup of coffee with him and listen closely --- then question if the problem is a genuine problem that will stand the test of time and is a problem worth solving.

If it is a problem worth solving; let your builders take a shot at it.

Chances are; that they might waste a few days at it and nothing might come out of it; or chances are you might have a life changing product in the making right there; but if you never take the chance and never trust your builders; you will never figure out.

There is only one way to find out --- let your builders take a stab at it --- I wish you good luck.

@BuildersAtWorkBookNotice


Comment Section

Comments are closed.


Posted On: Saturday, 12 September 2009 by Rajiv Popat

Builders, Organizations And Stuff That Changes Things.

Genuine Builders embrace change. They are just as afraid of change as anyone else; but then they indulge in the act of building stuff that makes small and big dents in the universe. They indulge in the act of building stuff that changes things. Hire a couple of genuine builders; let them be your seed engineers and chances are; they will attempt to change just about anything that seems 'safe' in your organization.

Organizations; as it turns out; are often not very comfortable with these sort of huge changes or ideas that bring about these sort of changes.

Scott Berkun describes this with the help of; what he calls; a 'bad illustration'.

Scott explains:

The arrows are the paths of different ideas. The box in the middle is the organization.

Whenever leaders want more innovation, they typically start by adding more inputs into the process. They seek out more ideas. Hey, lets brainstorm! Or maybe we should crowdsource! Or how about getting everyone to mindmap!

Executives often do this flinchy sort of thing and it’s big news at many corporations to start “idea programs” to encourage people to submit ideas.

These programs are launched, ideas are submitted, and there is much rejoicing.

But little change.

The reason there is little change is that idea inputs were never the problem. The bottleneck was further upstream. Crowdsourcing, brainstorming, mindmapping, and the dozens of other techniques people obsess about help create early idea volume, but do little to help the curators, the people who winnow down the hundreds of ideas down to dozens, and dozens down to a handful.

It’s much more useful to study where the bottlenecks are, when and why new ideas are killed, and who the people are that are killing them.

When it comes to the software development shops around the world; I've seen countless new ideas by genuine builders; sometimes; even the ideas which are capable of standing the test of time; being killed faster than they are born.

As a builder; when you introduce an idea or build stuff that is supposed to make a small or big dent in the universe; you dear reader; are trying to bring about change; which; as it turns out; is not something that is easy to bring about; at-least not in most organizations.

DeMarco and Lester describe this in their book Peopleware while explaining the 'Resistance To Change Continuum' and how it works. According to 'Resistance To Change Continuum'  your organization can be composed of the following types of individuals.

The 'Blindly Loyal' kind will not force your ideas to go through a 'reality check' and will result colossal life-changing fu@#kups. Every other kind from passive observers to 'militantly opposed' are just equally dangerous when it comes trying to bring about change.

In the above list; the only kind that help bring about change in your organization are the 'skeptics' --- your fellow builders or story-tellers who look up to your; look after you; look at you and have the courage and the spine to tell you where you are going wrong.

Depending on where you work; chances are that more than once; you are bound to see situations in your career; where the ratio of every other kind compared to genuine skeptics is relatively high. Depending on where you work; you are bound to see ideas; even the ones that would have otherwise stood the test of time; die a miserable death in meeting rooms.

Look around you.

Does your organization have skeptics who challenge your ideas in a healthy way or do you often find yourself presenting your ideas to people of every other kind in the 'Resistance To Change Continuum'?

If you are stuck with an organization where the later is true:

  1. Let your ideas stand the test of time.
  2. Run them through a few genuine builders or skeptics you might know and trust.
  3. Throw them out there and let them spread.

Then; if you find your ideas spread and survive; get your partners in crime to join in; and try out implementing these ideas --- in your garage.

Till you can get your organization to 'see it' and 'get it' --- that is where most ideas will have to turn into prototypes and then take the shape of real products.

Unless you work at an organization which embraces change; that; dear reader; might be your only chance to bring about change.

I wish you good luck.

@BuildersAtWorkBookNotice


Comment Section

Comments are closed.


Posted On: Friday, 11 September 2009 by Rajiv Popat

Partners In Crime.

I am at Jack's organization. Jack is showing me around. The vending machine; the cabins and the laptops.

I can sense where this is going.

It is almost like I am looking at an x-ray copy of his brain that shows me what he is thinking.

I can sense it coming --- and then it happens.

The question:

'Hey Pops --- I think you will like it here. Want to work with us?'

I respond with a grin:

'Not now. By the way; we have an interesting office too; you want to work with us?'

It has been five years since we worked together on a project. Three years since we talked and yet; we talk like we had a fight over a design approach; followed by a long discussion about life in the software development world; yesterday.

We find no need to setup new communication channels for small-talk after three years of zero-conversation.

The channels we established years ago are still open.

The only thing both of us can think of when we meet is trying to get the each other on our team. We are actively attracting each other into our own workplace.

The more I observe builders and story tellers across organizations interacting with each other in conferences; code camps; and even seminars; the more I tend to develop a deeper understand of the reasons why builders who have worked together in the past have a tendency to attract each other.

The Reasons

It is clearly not a conscious stream of thought that a builder is particularly aware of; but when a builder makes an attempt to pull another builder into his team; his mind in indulging in fairly complex reasoning. If you have worked with a genuine builder in one of your past projects; you meet him at the grocery and you feel the need to give him a job offer at your current team or your current organization it might be because of one or more of the following reasons:

Builders Look Up To Each Other

This is very different from saying I-respect-someone-because-of-his-ability-to-learn or I-respect-someone-because-he-is-a-friend-of-mine. This is admitting; blatantly and openly that I-respect-someone-because-that-someone-is-better-than-me.

You look up to that someone because he is better than you; and here is the strange part --- that someone looks up to you because he genuinely believes you are  better than him.

As funny as this sounds; I've seen quite a few teams of genuine builders around the world and if there is one thing that binds them it is this level of genuine competence-based-respect for each other.

Builders Look After Each Other

Software development is no different than being on the battle-field and being attacked by enemies from multiple fronts. Genuine builders know the importance of having allies and they also understand the importance of having other capable builders; who can give them cover fire.

I've seen quite a few teams of genuine builders complement each other; get each other out of fire; and being genuine partners in crime.

It is the looking-up-to-each-other that often results in looking after each other.

Builders Look At Each Other

I am f@#ucking up. I want someone with enough courage; spine and lack of respect for mitigated speech to look at me in the eye and tell me that the project is screwed if I don't get my act together.

I do the same for others around me.

Put two builders in a team and you will see difference of opinions; arguments and sometimes even fights. When a genuine builder looks you in the eye and tells you how much your code sucks; you know that in a world where no-one cares about you; he cared enough to look at what you were doing wrong.

It is the looking-after-each-other that often results in looking at each-other.

Look around you; try to think of all the people you have worked with in the past.

How many of them were genuine builders?

How many of them met the three scenarios above when it comes to your professional life?

Chances are; you will be able to think of a selected few individuals; these are your partners in crime.

If they are not working with you; hunt them down and then offer them a job in your team or your organization.

I wish you good luck.

@BuildersAtWorkBookNotice


Comment Section

Comments are closed.