Pros
Working remote/home for many positions (just be aware that this is a prelude to EVENTUALLY outsourcing your job to a cheaper 3rd world locale). You have access to some strong co-workers for support and to learn from. In general, there are also many opportunities to get involved with different technologies (although that comes with a caveat, see my comments in the "cons" section). And across the industry, for resume purposes, IBM still has a good name so take advantage of it while it lasts. IBM is now a good company for any fresh-out-of-school newbie that wants to gain some standard 21st corporate world experience. Plus the pay is not bad for newbies. For more experienced workers however, IBM is very limited. Executive management's not-so-secret agenda is to layoff as many "high priced" USA-based employees (and in other developed countries) and outsource everything possible to the 3rd world. Any gaps are theoretically back-filled with the "layoffees" as contractors, assuming they can't find work elsewhere.
Cons
At this point in IBM's history, it's a lot like life during the decline of the Roman Empire. There were worse places to live during the decline of the empire but the Visigoths were coming. When considering the eradication of IBM's developed-world workforce (and compensation packages) throughout a never-ending quest to transfer the payrolls to cheaper 3rd world countries, there is a lot of risk involved with working at IBM long term. In the short term, it's a decent place to pay your dues for a few years and then leave for greener pastures with 'IBM' on your resume. You'll have lots of exposure to different technologies at IBM. Unfortunately, a lot of what's forced on you is either proprietary, obscure, or rapidly vanishing outside the world of IBM (think Lotus Word Pro, Lotus Notes, Domino, etc). Many US-based jobs at IBM are "tenuous", so the workplace feels a lot like dining under the Sword of Damocles. Since your co-workers know that the end could come at any moment, and their survival depends upon how well they rank compared to you, the result is reduced information flow/share, cooperation, participation, and general workplace camaraderie among your co-workers. On the subject of "how you rank", the PBC system (performance reviews) at IBM is a TOTAL FARCE. It's basically a random system of ranking by the managers. Worse yet, you usually already have a performance number assigned before the evaluations ever begin -- based on who the manager's favorite employees are, how many people in the dept the execs said will need to be laid off in the next year, etc. Specific to a bonus/commission/performance-based role at IBM like the TSM position, another rub is that you don't pick your assignments - they're given to you. So, if a manager needs to get rid of someone, it's far easier to assign the "DOA" and "tire-kicking" deals (which are almost certain to go nowhere and therefore result in lower performance) to anyone targeted for layoff than it is to deal with concocting other reasons to get rid of them and thereby meet executive management's employee attrition goals.