Friday, January 18, 2008

My job is good too

This blog is our group blog. Sometimes, however, we beg to differ amongst ourselves. This is one of those times. I generally don't, as a rule, attack people for their opinions. At the end of the day, its after all, their opinions and its worth just 2 cents. Some things in the recent blogs here needs to be set straight. Here goes nothing:

I work with the best people in the industry. I wont justify that. I don't need to. I work on one of the most revolutionary products around in the industry in the product's field. Again, I cannot talk about it right now. I will soon though. I work in a team where the product manager is a hard core techie, the author of Frankenstein. The delivery manager and tech lead is the same person who can do both, while delivering stories! The senior developer is one of the best developers and more, thinkers I have had the pleasure to meet. Same goes to the tech lead. 2 remaining developers are senior to me and kick ass in technology - one, geek to the core, other, intellectually so. 2 QA's - both with more experience than others I have ever met, analytical in thinking, kick ass at their work.

Now, that was just for your information. In fact, each and every team in my company are like mine. Why do I even mention all these?

To build a revolutionary product or a company where all the best, not just in technology, in the world want to work is not an easy task. You cannot just attract them with money nor with just technology. However, the main reason I see people staying in my company is because THEY LOVE IT and THEY HATE IT. But isn't it obvious? You have to have both the feelings or else you will be bored. At least, I would be. I hate it because my company is not perfect. It is perfect for me. I wouldn't compromise on that. But it still isn't perfect. I would settle for nothing less from it, because, if not us who else?

There is this story about 2 workers building a wall for a temple. I am sure you remember the story. According to me, its obvious. I am sorry if I sound cocky, but its obvious that you need to understand that you are building the temple. If you are just following rules and doing what you are told, you cannot be the best. But I work with the best. The best can,
1) Build walls
2) Know that they are building a temple and
3) Build the temple finally

I think it is also done in the same order. Everyone who can think for themselves would be able to do (2). That's the part about having a big picture. To be able to do what I do day in and day out, to be able to work on each and every project we work on it is an implicit requirement that you understand the big picture. Nobody tells you what to do. You decide what is to be done. You and everyone else in the team. The thing that motivates everyone at where I work is that single idea of big picture.

I agree code is details and implementation. Someone has to do it. I believe in hats. I will explain the whole theory in some other blog, but for now, just think of each role as a hat. So, I analyze something wearing my "big pictures person" hat and implement it wearing my "developer" hat. Then show case it and sell the idea wearing my "marketing" hat. I am still one person doing different roles. I would rate myself good too. I may not be a great public speaker, but apart from that, I am pretty good at what I do. I know that was naive but was called for.

I think working on dinning tables is one of the best things ever. What you have to understand is you are given freedom. Nobody would eavesdrop on you. Also everyone you ever want to interact with, with respect to a project is around that table. Imagine removing all the cubicles and corner offices in your company and think of the whole of your team made to sit on dinning tables in a manner that makes sense. How many IM/Mails/Phone calls do you think you would save? And how much time? It may seem claustrophobic - completely lacking in privacy. But you cannot judge it unless you follow it. I, for one, have been in both kind of set up and have chosen my favorite. Don't you think you need to do the same before dissing either one of them?

We, in fact, do not care if you produce million dollar contracts, unless it is to our standards. If I were allowed to, I would have talked about our sales process. I am not. So, I wont brag about it.

We have been in the business from 16 years. We are not a publicly held company. I don't think that will ever happen to be honest. I would be very sad if it does and people at work know it and share the same feeling. We are truly employee owned. I am sure you can imagine why this is. We don't give a damn about quarter results. Actually we do. A lot. But I don't think we will ever do things so that our stocks would go up. We are way too egoistic for that. Also, most of us are green capitalists and socialists. I am the former.

I have a job which is currently perfect for me in a company which is truly the best in the overall sense. Hands down. ThoughtWorks is the best.

2 comments:

Swaroop Murthy said...

ThoughtWorks, i feel is in a totally different business. a more spiritual(opposite of materialistic) approach, in the sense that they don't take up boring things for the money, only "heavy lifting" stuff. more people oriented also. I wish to start a "throw out cubicles" initiative in my company in the long run; all companies have a lot to learn from ThoughtWorks.

then again, i've created a unique place for myself in my traditional "chocolates at my desk" kind of firm by producing ideas that cost zero (hardware and software), helping clients leverage their technology base better. other people in the team code, and I do catch myself saying "57? is that the number of gods you have??" is it wrong for me to hate coding? doesn't this difference of opinion arise from completely different areas of interest?

PS:if i've said something offensive about TW, note that they are all opinions.

Pavan said...

Like I have said, we are clearly not perfect. We have our share of problems. But you still have to agree that somethings are good. And I haven't commented on somethings which you are good at and have mentioned them. I believe appreciating the beauty of things. Its not wrong for you to hate coding. Its wrong, I think, for you to want to do what you want to and hate coding. You need not code. But you cant distance yourself from it. Areas of interest are the same I think. The modes of achieving them are different. Which is valid, only they can lead to these kind of flame wars. :)

And I had to mellow you down. Hence the blog. No offense taken actually.