Loading blog entries.. loading

Geek life in ThoughtWorks

Wednesday, June 20, 2012 9:19 AM
Written by Wayne Ye
Font Size: S  M  L 

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, (I posted few photos above and a whole album was shaed on my Skydrive), and I definitely will visit more:)

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

How and why I work for ThoughtWorks

In fact I nearly decided to stay with my family in Shanghai and abandoned this opportunity to work for this great company, my "little tiger" is only 15 months when I received the offer. But @盈盈水天 talked with me over the phone for 10 minutes and sent me an convictive and passionate email, after I reading her email I decided to consider more, I thought and investigated for one whole day, I read links listed below:

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!

Conclusion

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!

At last, my special thanks for my dear wife, my decision led she cannot live with our "little tiger" and me for 6 months, life for her would become much harder without we two! Whereas she agreed, understood and supported me to follow my heart, I couldn't appreciate more! Honey, to the world you are an ordinary person, but to me you are my world! I promise I will work hard, try my best, and compensate you:)

Shanxi Biang biang noodles
Wendy, our little tiger and me at Terracotta Army (Click to enlarge)

 

Permalink: http://wayneye.com/Blog/Geek-Life-In-ThoughtWorks 7039 Views  16 Comments
Tag: Category:Programming

 

 


↓Comments↓

  mazhouWednesday, June 20, 2012 8:57 PM
I hope you are doing well in a far-away city, I expect you have more posts like this. Keep in touch.
 
  Michael ChenSaturday, June 23, 2012 4:34 PM
Nice post and welcome!
 
  WayneSunday, June 24, 2012 8:31 AM
@mazhou Thanks dude, I am so sorry for my hurry leave! As you've already see my post, I am really happy here, I expect your understand and support:) The day I come back, the day you get a free buffet, I promise:)
 
  WayneSunday, June 24, 2012 8:37 AM
@Michael Chen Sincerely thank you! I am still a "newbie" ThoughtWorker, many things need to consult with experienced colleagues like you:)
 
  老赵Sunday, June 24, 2012 11:11 PM
Scala耶.....
 
  WendyMonday, June 25, 2012 12:47 AM
老公,文章写得挺好,照片也很漂亮。唯一不满意的是,咱们的全家福你和儿子都可爱的很,就俺像个大妈T_T
 
  WayneMonday, June 25, 2012 2:20 AM
@老赵 您要表达神马意思:)
 
  BowenMonday, June 25, 2012 6:44 AM
Good!I am also a new ThoughtWorker,and I has a long way.
 
  Marcelo F AndradeMonday, June 25, 2012 11:40 AM
Congratulations, Wayne! It's great to see the passion in your words. I have a dream to work at TW someday.
 
  WayneMonday, June 25, 2012 9:22 PM
@Bowen Every TWer begin from a "newbie", so just work hard and follow the heart:)
 
  WayneTuesday, June 26, 2012 7:43 AM
@Marcelo F Andrade Why not join now? Let us know and have a try:) TW offices are around the world.
 
  SeanTuesday, June 26, 2012 9:11 AM
Wow, amazing!Kind of admiring ~~~ Glad you love it, man.
 
  WayneTuesday, June 26, 2012 11:45 PM
@Sean Heihei, Thanks Sean! I think I find my "organization" in ThoughtWorks, let me know if you have interest at any time:)
 
  PhinnFriday, July 6, 2012 2:07 AM
Good Luck !
 
  WayneSunday, July 8, 2012 12:56 AM
@Phinn Thank you! You too @SAP:)
 
  melkorWednesday, October 24, 2012 6:27 AM
You are not even drinking Kool Aid. You seem to be high on it. Thoughtworks has some good people I loved working with although they are far and rare to come by everyday. It is a has a highly inflated reputation attached with it. I was there inside. And quite successful and well respected too. Until I realized that all they do is build more and more of the same application for every client and they fumble in even getting that right. Naming something as 'k' in code. Software excellence.. yeah :).
 

Your view point or opinion?
Nickname *
 
Gravatar *
Required (not shown), used only for displaying Gravatar and receiving future notification when new comment(s) posted on this blog.
 
Website/Blog
 
Content *
Current length:     Maximum allowed: charactors