Geek life in ThoughtWorks

ThoughtWorks card on my MacBook Pro
ThoughtWorks card on my MacBook Pro (Click to enlarge)

One month milestone

I just experienced my first month in ThoughtWorks, in fact I decided to record my feelings and thoughts even before I joint this incredible company, I believe it would be a unforgettable period of my life. And right now it's the time for me to do it! To document the different and special places of ThoughtWorks from a developer's/geek's eye.

Culture in ThoughtWorks

ThoughtWorks office
ThoughtWorks office (Click to enlarge)

Pair programming

My first time pair experience was the interview taken place in ThoughtWorks Xi'an office, which gave my mind a strong shock and I felt I learnt and improved so much just after half hour's pair programming, in other words: "level up":) (Actually it drove me to make the final decision to join ThoughtWorks), so I was really expecting the pair opportunities before I joining, because I always believe in "everyone can be my teacher because he/she has his/her expertized knowledge domain!" and "two heads are better than one!". Now one month passed, I paired with every teammate, and the result absolutely proved my belief!

Software Excellence

This is the second one of The ThreePillars of ThoughtWorks, and it is the one myself deeply believe in and wish to conform! Actually I immediately realized that people here are really trying the best to achieve this point! We spent significant of time in reviewing, thinking and refactoring our code, even testing code! And our CI process cannot tolerance a method without testing code, the test coverage must be 100%! Wow!

Pure code, no comments!

After looking through the project code I was working on, I noticed that I barely saw comments, and one time I was pairing with a co-worker, I just supposed to add some comments, my pair told me people here opposed to write comments because human-readable method name/variables/class names make enough sense, if sometimes you are considering to add comments, you've probably written not so readable code, or in other word: bad code, you'd better consider improve/refactor. Yes! It is reasonable! I recalled one of my motto, said by Chief Scientist of ThoughtWorks Martin Fowler: "Any foo can write program that a computer can understand, good programmers write code that human can understand..

Agile, BDD, continues integration/delivery

ThoutghWorkers deeply believe in agile software development, and I experienced a complete process of BDD/TDD, CI, I really enjoyed the advantages the process provides, in fact, that's one of a lot of reasons I joint ThoughtWorks, during my past three years in HP and SAP, the projects I worked on have UT coverage less than 20% by average (few are 0% actually, what a shame...). In ThoughtWorks, this will NEVER happen, everyone here strictly follows process of BDD or TDD, i.e. test code first!, and the CI ensures the test coverage to reach 100% otherwise will fail to complete, in additional, the static code analysis tools such as and JSlint will help to improve the code quality! Yeah, I love and deeply believe in all of those stuff, I am confident with the code I've written thus I can sleep well! And so does other teammate:)

Tech sharing!

Functional Programming Session
Functional Programming Session (Click to enlarge)

I joint more than 5 technical/non-technical sessions during the past month, topics including JavaScript, functional programming, UX/design, Ruby on Rails and so on, I also shared a session talking about SEO best practices. Mentionable point is, during my past 6 years career, I never had chance to participate sessions reaching this number within a year! Whereas, I love both learning and sharing! And that's another "why" I joint ThoughtWorks!

Smart people!

Indeed! People here are smart! Even beauty programmers:)! I didn't overstate, many people here are really passionate in developing, coding and innovation! Thinking rapidly, typing fast, elegant/scalable solution, programmer's jokes and flying shark:).

Flying shark in TW office
Flying shark in TW office (Click to enlarge)

Xi'an - the capital of 13 Dynasties

A sunset view near by Giant Wild Goose Pagoda
A sunset view near by Giant Wild Goose Pagoda (Click to enlarge)
Music fountain in the northern square of Giant Wild Goose Pagoda
Music fountain in the northern square of Giant Wild Goose Pagoda (Click to enlarge)
Music fountain in the northern square of Giant Wild Goose Pagoda
A magnificent building in Tang Paradise (Click to enlarge)

Xi'an is an amazing city, so many historical buildings, comfortable climate and delicious food. I visited Terracotta Army, Tang Paradise, Giant Wild Goose Pagoda, and I definitely will visit more:)

Shanxi Biang biang noodles
Shanxi Biang biang noodles (Click to enlarge)

How and why I work for ThoughtWorks

Refer the following articles before I decided to accept offer from TW.

  • ThoughtWorks Chosen Among Best Companies to Work For in 2011-2012
  • Why work at ThoughtWorks
  • ThoughtWorks Overview
  • ThoughtWorks专访:一个没有经理室的公司
  • And I summarized attractive points of ThoughtWorks for me below:

    1. I am eager to learn and improve! I failed to find a satisfied platform for me to learn & improve in SAP and HP. I believe ThoughtWorks is the great platform!
    2. Real geek culture. I've experienced this during my interview. Pair programming, sharp interviewers, the light with programming APIs integrated with CI!
    3. Many opportunities to travel. I believe "You can learn more by travelling a thousand miles than by reading a thousand books".
    4. Pursuit of excellence and social impact. The former is my creed and the later is my goal in my future career!
    5. Happy, just happy! Because of above reasons, I will be happy everyday, I will enjoy working here, nothing is more important than this!

    So eventually I decided to follow my heart and take the challenge! Now one month pasted, I think this is an absolutely right decision! I would absolutely regret if I missed it!


    I think I've finally found my "organization" in ThoughtWorks, I feel really excited and happy to be a ThoughtWorker! I love to work, learn and improve with colleagues here! I wish I could achieve my dreams here, and I wish I could contribute my effort to ThoughtWorks in the near future!




    Leave a comment