Why work at ThoughtWorks?

Update: I’ve answered a few questions people asked about this post.
———

I started my career at IBM. My dad had bought me a PC when I was seven and I started programming computers when I was 10. I’ve always felt most comfortable sitting at a computer screen, trying to communicate with a peice of silicon, than in any other situation. Mostly, anyway. And so, when I graduated with a degree in electrical engineering, I wanted to work at a company that understood computing and software, a company that built software that solved real problems.

This thinking sort of explains how I ended up at IBM (Global Services). Oh, what a load of…. Let’s just say I got out of there as fast as I could.

I joined ThoughtWorks about 5 years ago. And I’m still here. Every time someone asks me how I could manage to stay at one place after all this time, I feel like I’ve been asked a question like “How does one write good software”? I mean this in the sense that there are so many different aspects to the answer that a one or two sentence response can hardly do any justice.

So, what do I find so compelling about ThoughtWorks? First of all, and this is something many ThoughtWorkers will tell you, its the people I get to work with. Almost all are exceptional folks – smart, innovative, and sincere. They’re courageous. They’re caring and well-meaning. Many are actually quite funny. Working with these people on a day-to-day basis is quite a pleasure.

Related to this, is the fact that ThoughtWorks as an organization, truly respects and cares for its people. For example, if I needed something changed about my current project or if I got bored with my role or if I wanted to go to a seminar or something, I could tell someone and more often than not (as long as I wasn’t being totally unreasonable), they would try to fix things for me. It’s quite nice.

ThoughtWorks is a very flat organization – there are hardly any “levels”. There are, of course, roles on every project. Anyone can walk into anyone else’s office to question things – for the most part – without any thought of “proper channels”. As I mentioned earlier, I was at IBM for a while, and since leaving them have consulted at many large companies… believe me, ThoughtWorks is hugely different! Individuals are respected for what they are, not because of a title they might carry. Speaking of which, at ThoughtWorks, you can pick any title you want for your business card – mine says Jedi Master.

One other thing about ThoughtWorks that to me personally is quite enticing is the fact that we play with lots of bleeding edge innovations. We are thought-leaders in the Agile arena, we were early adopters of Java and J2EE, of dotnet and more recently of Ruby, Ruby on Rails, and other dynamic languages such as Python. And I’m talking about applying these things in an enterprise scenario. If it can add value to a client, then ThoughtWorks is not afraid to bring it up as an option. And from a techie point of view, this works out great! ThoughtWorkers are also heavily encouraged to contribute to open-source projects, attend conferences, write papers and books, and in general participate in the community of software development. ThoughtWorks is usually quite happy to support these activities with money – it’s quite fantastic!

There are tons of other things. How about – “architects” actually needing to write code? How about lots of social activities and events – things like geek-nights, dinners and drinking (lots of drinking!)? How about that most people who work here actually have passions outside of work, and can have meaningful and spirited conversations on just about any topic? Even political or religious beliefs? As a company, ThoughtWorks cares about social issues – not that we can always do a lot about everything, but it’s not a faceless corporation that exists solely to make money. Speaking of which, ThoughtWorks is privately held, which means – no pesky shareholders to bother us. Well, almost none.

I want to touch upon innovation again. Apart from the many things that ThoughtWorks is famous for, it also has several open-source projects to its name. More recently we also started a couple of internal teams on product offerings. We looked around and found that the software development industry, as a whole, was missing effective tools for certain things. I can’t say too much just yet – but you can expect to hear some pretty cool things pretty soon.

Another area where we’re innovating is Domain Specific Languages (DSLs). There are really two things – marketing-speak for highly maintainable and customizable systems (the idea being that business users can express or modify business rules using an English-like language steeped in their own domain, for example insurance-gobbledegook) and elegant design with a clean implementation that allows this to be possible. It really is wine in a new bottle (ask any Lisper), but with Ruby and Python gaining popularity in the “enterprise”, this kind of a thing is becoming more accepted. Bottom-line, people get to work on cool stuff and push the envelope on how business systems are being built. Clients get more value for less.

What else is great at ThoughtWorks? Agile processes – XP,Scrum, and the like. Nothing great about a process by itself, of course, but at ThoughtWorks, most people truly get software development. And when you assemble a project team from a bunch of such people, they often end up with an ad-hoc process that is remarkably similar to the name-brand processes mentioned above. In the words of a ThoughtWorker colleague, you can’t do agile, you can only be agile. Further, “common” wisdom states that Agile processes work well only for small teams. We’ve been scaling these processes by being agile for many years now. The current project that I’m working on (as a scrum master/project manager) has a team with a 100+ developers and is based out of three locations – the US, India and Sweden. How do we do it? Carefully.

I feel like I’m writing an infomercial. But there is one more thing I wanted to throw in. This is about the highly trans-national nature of ThoughtWorks. Since 2002, I’ve worked with ThoughtWorkers from more than a couple of dozen countries. The cultural explosion is just awesome. We also have an international exchange program where you can opt to work in another country for a period of time (typically 1+ years) – and a lot of people take this opportunity to travel and work in different environments and cultures. Our new hires get sent to India to what we call ThoughtWorks University for a few weeks to learn about the company, processes, technologies etc. Further, people also transfer out to various other offices. I started out in our Bangalore office several years ago, for instance, and moved to the Chicago office in 2003.

Overall, ThoughtWorks is a phenomenal place to work. Obviously there are drawbacks to working here – the travel is most often upto a 100% (leave home Sunday night or early Monday morning, and go home Thursday evening or on Friday). One other thing – and this one is pretty important – not all projects are sexy. It’s true! We’ve had several people join ThoughtWorks who’d only heard the awesome stuff we’re about, and then felt let down because their project was “regular ol’ dotnet” at some “typical large client”. You have to remember that apart from being all the cool things I described above, ThoughtWorks is a real business and we do a range of different kinds of projects. Sometimes they’re slick and sexy, sometimes they’re slow and steady. It’s the nature of the consulting business.

Finally a few last points before I wrap this up – being a small company, there’s less “security” here than there is in a large organization like IBM – although I’m not sure how true that is anymore. Also, we’re fundamentally an application development company – so if you want to work on embedded systems or compilers, maybe IBM is a better place for you. We’re also not Google. Yet. This means no huge salaries, no stacks of stock-options that translate to retired young millionaires. Yet.

In any case, as far as ThoughtWorks is concerned, at least in my mind, the future is extremely bright. We’re growing, we’re innovating, and we’re only in six countries so far…

P.S. Two more things not in favor of working here – you have to battle Lotus Notes, and not everyone has moved to a Mac yet.

* We do have a VC on board – we had taken their money during the dot-com high.

41 thoughts on “Why work at ThoughtWorks?

  1. Hi Amit,

    Thanks for the breakdown on what it’s like at ThoughtWorks. I really wanted to work there, in fact I’ve had several calls from ThoughtWorks asking about my CV and if I’d like an interview. (So you know I’m not being arrogant, I guess I look good on paper and don’t know if I’d pass the interview process (although I like to think so! ;-)))

    Here what made me turn them down though;

    …the travel is most often upto a 100% (leave home Sunday night or early Monday morning, and go home Thursday evening or on Friday).

    I have a very young family so I’m not prepared to spend all my time away from them. Working late when the project dictates is one thing. But kissing my baby “good bye” on Sunday afternoon, and “good morning” the next Saturday morning is not something I’d be happy about. I’m wondering how you (or they) can justify this level of travel especially in relation to two of your other statements;

    …most people who work here actually have passions outside of work…

    If you’re in a different town/country every week how can you take part in these outside-work passions?

    …an organization, truly respects and cares for its people…

    For most people, surely, family and friends are one of the top priorities. So how can you justify this statement in relation the levels of travel involved?

    I’ve been a consultant before, so I understand the need to go where the projects are and be on different client sites. I also understand the need that sometimes you’d ‘have’ to spend six months in some other country. I guess it’s just the (rumoured) persistent levels of away-from-home travel that ThoughtWorks ‘require’ of it’s employees that I’m struggling to understand.

    Don’t get me wrong. This isn’t a slam on ThoughtWorks because I’m in some way disgruntled. Believe me, if you reply saying “Actually, speak to so-and-so and we can 80% guarentee that you can work on projects close to home because you’re such a great software guy.” Then I’d be asking you for contact details before you can say “sign here”.

    I’d just like to find somewhere that was ThoughtWorks minus the (extensive) travel.

  2. …I have a very young family so I’m not prepared to spend all my time away from them…

    You are unquestionably correct in this. The sad truth is that ThoughtWorks is in the consulting business – so travel is a reality. There are projects that are in various cities that we have offices in, and some people do end up working locally and so don’t have to travel. This, again unfortunately, is not guaranteed, for obvious reasons.

    I will say this – travel is the top quoted reason for people leaving the company. I got married in 2005 and when we start a family, it is going to become difficult for me to travel. Even now, I travel because my wife has a flexible job and she travels with me to the city where I’m consulting. Again, this may not always be possible, and it is always something I’ll have to wrestle with. It’s a matter of taking all things into consideration, and determining what you want most – and like you said, your young family will always win, in such a debate.

    …most people who work here actually have passions outside of work…

    …If you’re in a different town/country every week how can you take part in these outside-work passions?

    I didn’t mean things that require you to be local or in your neighborhood or something like that – it would be a physical impossibility! Like I said earlier, people who care more for these types of passions tend not to stay at a traveling job for very long. Still, I know people who’ve moved their pianos with them into their hotel suite, or who bring their nice bicycles with them to the client-site.

    What I really meant by this was that people at ThoughtWorks aren’t just wrapped up by things at work or their personal lives only. Most care for things like global-warming, or online-poker, or are part of ToastMasters and find the local chapter wherever they go. It’s just interesting to meet these people and talk to them and learn and grow.

    …an organization, truly respects and cares for its people…

    …For most people, surely, family and friends are one of the top priorities. So how can you justify this statement in relation the levels of travel involved?…

    Again, like I said, friends and family always win. However, once you accept that a consulting firm requires travel to do the consulting, ThoughtWorks does a lot to make you feel comfortable and makes things as easy for you as possible. For instance, we always get long term hotel-suites so we don’t need to travel with our stuff all the time. This way I can bring down as much stuff with me for the duration of the gig (I’ve got my iMac and about a 100 books in my hotel right now). Flight schedules are flexible, most projects are now on 4-day weeks (10 hours a day), if you aren’t up to flying back every week then you can fly a friend over to you instead, or if you feel like going someplace other than home, you can go there instead… there are lots of things ThoughtWorks does to make the travel easy.

    Most importantly, everyone acknowledges that travel is hard, and is understanding when it causes problems – and does all they can to accommodate people.

    …I’d just like to find somewhere that was ThoughtWorks minus the (extensive) travel…

    Believe me, most ThoughtWorkers would agree with you on this one!

  3. Very interesting Amit,

    Great to hear so much about ThoughtWorks. I will be joining ThoughtWorks@Bangalore in July ’07. Haven’t been so excited in more than a year. And about having a title like “Jedi Master”, thats so cool. I wonder! All the reasons that mainly come to me (about joining ThoughtWorks) are related to fun rather than work/ learning. Is that wrong?

    About the extensive Travel.

    I’m actually looking forward to that, I hope to visit and stay at all the offices of ThoughtWorks.

  4. This is one of the most balanced posts I’ve read about working in Thoughtworks. Most of the blog posts looked like a disguised attempt to market the company.

    Lack of hierarchy is great, very similar to the company I work for now. It is such a pleasure coming every day to work, knowing that you are entering your comfort zone.

  5. Hi Amit,

    This is Shubhanga from Bangalore. I am currently in final yr of mechanical engineering @ PESIT Bangalore.

    Thoughtworks are coming to our campus the following week and they’ve also called mechanical engineers on campus for recruitment.

    I have heard that it is a great company to work at and I was just looking up for things on Thoughtworks on the internet when I came across your write up here and I was wondering if I landed in a correct place for a change:)

    Ok, I as a student would like to know a couple of things about Thoughtworks in general:

    1. What can mechanical engineers, like me, look for at Thoughtworks – OR – what sort of work are mechanical engineers doing presently @ Thoughtworks?
    2. Could you outline briefly the projects you cater to automotive or aerospace industry, if any ? Or, any other project where mechanical engineering comes into picture.

    I hope to get a reply from you. It will be of great help to me and probably some of friends who are looking at Thoughtworks as their possible destination.
    Thanks again.

  6. Hi Amit,

    I have been in the industry for almost 8 yrs now and am presently working as a Project Manager / Business Analyst for an Indian software services company in the US and have been reading a lot about TW and Agile lately. In addition to being a PMP, I recently got myself trained by Jeff Sudherland and became a Certified Scrum Master. Though I am using Agile in some of my current engagements, I am not really using it to the core. Given that Agile is catching up and TW is big in Agile, I am looking to apply for a Project Manager position with TW.

    One question that I have for you is what kind of technical know how does TW expect from its Project Managers? Since I come purely from a business and management background, I do not possess much technical know how. Do you think with my kind of experience TW would consider me for a PM role and can lack of technical knowledge be a bottle neck to apply in TW?

    Looking forward to your response.

    Nirmal

  7. Nirmal,

    There are several factors that determine how good a project manager you can be, and yes, having a technical background is an important factor. However, I’ve met non-technical PMs that do a wonderful job at it. I’ve written more about this here – On devs who become PMs

    If you understand the software development process, understand people (and technical people in particular), have good communication skills, facilitation skills, understand business issues and priorities, understand risk-management, like transparent dealings and flat org. structures, you’ll do just fine.

    Send me your resume if you like… arathore@thoughtworks.com! I’d be happy to pass it along. All the best!

  8. Hey Amit,

    I did read the article and felt that the impression is that Project Managers with techie background do make better managers. Though sometimes I do feel the same, I have personally worked with non techie PMs and I have myself managed projects and the end result has never been a disaster.

    Especially in Agile where the team works very closely, have developers and leads around does make a manager’s life easier. I typically like to involve my team while I am estimating for a requirement/story. At the same time I have a good enough understanding of the kind of time a specific task would take which is totally based on my last few years of experience.

    I am not sure if this is more a cultural issue where PMs just want to be managers. What I would love to be will be more of a fecilitator.

    Your say..

  9. Nirmal,

    I quite agree. What you describe is especially true in closely knit agile teams where all team-members work together and help each other out. This makes it possible for a non-technical PM to be successful. The only caveat is that the PM should trust the team and the technical folks to do what they do best, while collaboratively handling the rest of the ‘management-type’ responsibilities.

    While I have seen some difficult situations arise when the above condition wasn’t met, I have several colleagues that are not technical, but make really great project managers.

    Hope this helps!

  10. Hi Amit,

    I am totally in agreement with your thoughts. I have worked with mutliple PMs and worked as a PM myself and I do feel that PMs need to builf a feeling of trust within the team.

  11. “Especially in Agile where the team works very closely, have developers and leads around does make a manager’s life easier. I typically like to involve my team while I am estimating for a requirement/story.”

    Maybe the sentence is poorly constructed but if the “I” in the sentence refers to a PM, I’d like to point out that it is not the PM’s job to “estimate for requirements/stories”, whether you “involve your team” or not.

    One of the key practices of agile is that (s)he who does the work estimates the time it takes.

    The idea that the PM estimates the effort and the developers supply the effort as per that estimate is pre-agile.

  12. Yes, you’re right of course.

    I wrote this when I was purely a developer, and the PM persona was definitely someone other than me 🙂 In the intervening couple of years, I’ve gone back and forth between playing a dev-role and a PM-role – and have written things from a PM point of view.

    Not this one!

  13. Amit,

    As far as I know you **didn’t** write that line. I got it from Nirmal’s comment dated March 19!

    Of course I am assuming you replied to me and not to someone else.

    I know you better than to think you would write such .. ummm.. suboptimal …. sentences,
    Cheers,

  14. Hi Amit,

    I am really excited abt the TW .I have 2 year of exp,can u guide me how much exp(approx) is required and what qualification TW take’s.Is there any other criteria ??
    please do take time to reply,even a smaal answer will be appreciated.

  15. I am a student of computer science seventh sem.In few days thoughtworks will be coming to our campus for recruitment.Problem
    is we didnt had java till sixth sem.this sem we have that.but as i have seen in thoughtworks website,it requires people who know java and .net.so what thoughtworksis expecting from people who dont know java?

  16. I am one of those people who hired TW to execute a fairly long term project. I had to quickly accept that TW had a high turnover rate because their consultants quit because of the amount of travel. In my experience, the consultants joined TW, spent the first few months enamoured by the “culture”, then started to realize it’s no different than any 5-day-a-week consulting company and become disillusioned.

    I’ve previously used other large consulting companies and they had a much lower turnover rate.

  17. Hi Amit

    I am Business analyst with 3+ years of experience. I am currently working with satyam computers in chennai. I have got an offer to join TW’s new chennai office as a BA. I mite be sent to pune for a 6 months assignment after i join.
    From what i have read on blogs the work life and work culture seems to be exciting in TW and looks different from conventional IT companies.

    I would like to know whether my shift to from satyam to TW will help me learn and grow in my career.I also like to travel and am looking forward for travel in TW. Does TW also allow permanent transfers to there UK, AUS or US offices. How about job stability and security. You have specifically mentioned about the VC.. Is that a problem???

    Regards
    Fahad Nari

  18. Fahad,

    I am working as a BA with IBM. I am going to attend TW’s interview next week. Can you please let me know the interview procedure. HR told me that it would take 4 hours for them to finish the interview.

    Rgs,
    Rajani

  19. Hi Ranjini

    The interview in divided into 3 parts. You will have a f2f interview , 2nd part a logic assessment test and then a discussion again in the 3rd part. If u have read the bit shaker journal that will help you prepare for the interview.

    Are you being interviewed in chennai or Bangalore??

    regards
    Fahad Nari

  20. Thank you so much Fahad. My interview was rescheduled and I have it tomorrow. My interview is in Bangalore. Have you joined TW?

  21. I have interviewed with TW in chennai in the past. The problem is that we hear so many good things about TW but it is usually about people from other countries. So we look for those types of people in India. My interview was fine till I met the PM who I expected to be a very experienced agile practioner because a PM is supposed to be a really senior person. I did not get that impression. I detected hints that the PM was still carrying the management baggage from the previous large local firms.

  22. Nice article… I’ve been considering Thoughtworks for a while now.
    Man- when I read the first 2 paragraphs of your article – I was wondering if it was an article I’d written, and forgotten about!
    Maybe it’s time to take a real look at Thoughtworks Australia..

  23. I’m currently working as software developer in a big company in Indonesia. I’ve been dreaming about implementing Agile since I was in a college. I’m crazy about high quality clean codes.

    So, I tried my self to implement this methodology in my companies. But I think I need to learn by practicing with a real Agile company using Mike Cohen’s book. I know lot of cool things about Thoughtworks in Agile and opensource.

    Since there is no Thoughtworks in my country, how to raise my chance to work there? What should I do?

    Thanks

  24. Dear Sir,
    i need to know of we can develop the solution for sales tax problem as windows application form rather than console application. and also use databases concept in application development?Waiting for early response.
    Regards,
    Ritima

  25. Hi Amit,

    I have got a call from Thoughtworks for a java developer role. I heard its very good at design concepts. Please tell me how should I prepare for it. I always wanted to be a Thought-worker.

    Thanks,
    Sachin

  26. Hi, I have got an offer from Thoughtworks for Application Developer. I just want to know the kind of work. I think, I will get work in services with frameworks like spring, hibernate etc., I dont like UI work. what kind of I can expect there?

  27. I’m student of diploma in comp. engg. I am shortlisted for personal interview & GD round for step internship . Can anybody tell me what will be the procedure for that &what kind of questions will be put by them?
    thanks in advance
    Pooja chopra

  28. It’s hard to find your posts in google. I found it on 17 spot, you should build
    quality backlinks , it will help you to increase
    traffic. I know how to help you, just type in google –
    k2 seo tips and tricks

  29. I read a lot of interesting articles here.
    Probably you spend a lot of time writing, i know how to save you a lot of
    time, there is an online tool that creates
    high quality, SEO friendly articles in minutes, just type in google – laranitas free
    content

  30. Hi All,

    I see this post is 7 years old.. Thoughtworks used be such a company but sadly it isn’t now.. Atleast in chennai! Hierarchy is coming to play and people’s champion *HR instead of supporting people is now asking them to quit the company! Its a bad experience for me atleast. I am sad to say decisions here are purely PERCEPTION driven. Depends on the feedbacks you get from your higher officials! You won’t be asked for an explanation before taking decision to fire you. I found it stupid. And sadly this is the case of today’s TW, chennai. Peoplr are egoistic and they pass on the stupid perception about you. And people’s champ won’t support you and any explanations you give will be treated as you are defending against their feedback! Its sad you should take efforts to prove your personality to people. Then I asked a question to myself, am I here to work or to prove I am good person to some egoistic people? Sadly your technical proficiency wouldn’t count here. Immature management!

  31. I have a bachelors in computer science engineering , class of 2016 . I had recently applied online to ThoughtWorks for Application Developer role in Bangalore , Pune , Hyderabad offices and always received a rejection email response reading “Thank you for your interest in ThoughtWorks. We appreciate the time you’ve invested in learning about our company. Unfortunately, we are unable to move forward with your application.”

    I would love to hear some suggestions for the rejection . Is it because I’m a fresh college graduate ?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s