Pros
Good pay especially when you factor in annual bonus, pension, stock purchase plan and other benefits. You're unlikely to get laid off because IS was "right sized" a few years ago and can't be cut anymore. Although there is a danger that CP may merge with CSX.
Cons
With IS cut to the bone and all of the bureaucracy it's difficult to get stuff done. Everything is extremely compartmentalised. You end up spending a lot of time requesting, waiting and reminding other teams to make database changes, create servers, deploy your code, etc. Work life balance can vary greatly throughout the department. Some manager are very nice and only expect 40 hours per week. Other managers are abusive (to the point of making people cry) and demand significant overtime. I think CP has a problem investigating and weeding these managers out because of cutbacks in HR. The quality of talent is becoming a serious problem at CP. Several managers have remarked that they don't get many resumes for job postings and those that do apply are definitely of a lower calibre. This is despite the current high unemployment in Calgary. Software development practices are poor at CP. Often a timeline is set by upper management first, then requirements are done, then it's up to developers to get it done on time. Other best practices such as automated testing, code reviews, SCRUM, architectural design, etc. are also done poorly if at all. CP is moving heavily towards being an all SAP shop so SAP products such as UI5, ChaRM and HANA are/will be used in place of more industry standard products like jquery, JIRA/bamboo and Oracle. CP is more then willing to train you on these products but be aware that your resume could end up being heavily slanted to the SAP world and you may find it more difficult to get a non SAP job in the future. Lastly there is the management conductor program. Most employees hate it so I've listed it in the cons section. Although I found it kind of fun but stressful. It's a requirement of all non-union staff to learn to be a train engineer or conductor (you ride with the engineer but also have to get our and couple/uncouple cars). Assuming you aren't medically disqualified you'll spending at least a couple months (in 2 week segments) learning the job. Once qualified in addition to working during a strike you may also have to fill in anytime they are short staffed in a subdivision. The subdivision you are assigned is unlikely to be your home city and you'll also likely be working odd hours/weekends. If you are uncomfortable with big machines this aspect of the job can really stress you out since it can be dangerous work.