Company: IBM
Date: 2009-10-09
Overall rating: 4/5
Employment status: former

Good place for a programmer in some teams in Toronto Lab
Pros: -- Flexible schedule. Say, you can come around 11:00am and leave at 4:00pm. The key is to deliver result and don't miss important meetings. 

-- Lots of training and improvement programs for employees. Many are useful despite some are superficial. 

-- Compensation is pretty good compared to other companies in Toronto

-- Opportunities to do interesting jobs
Cons: In some departments, "cross-organizational impact" is the only thing that matters because managers have no idea how to evaluate your technical contribution. This may be ok because for large departments, one or two components may mean very little. However, this culture also enabled intense political fight for visibility. Since code doesn't matter, why bother? All I should do is to spend as little time as I can getting my crappy code out of the door, and as much time as I can manipulating other people/team to do things for me and I grab the credit, right? 

Larger team is normally worse. Staying in a team of fewer than 10 people, you'll have much better visibility.