Good Company for Software Developers
Pros
Generally I would consider my department and manager very good to work for, but some other departments I wouldn't want to work for. In the Toronto (Markham) lab everyone I've worked with has been really great. Everyone is very friendly and helpful and very good at what they do. This was my first job out of university and I've learned a lot while here, and I would attribute that to my teammates. I work in an internal development department and I would say the atmosphere is very relaxed and casual. The dresscode is basically what you want it to be. People feel comfortable wearing a collared shirt and nice pants, or sandals and shorts. The salary seems pretty competitive compared to what's out there. If you're a top performer then you can get a raise most years, and a bonus some years.
Cons
The size and complexity of the company. I have no idea what 90% of our company does, and internal tools are incredibly difficult to find and use (you have to request access, etc.). There may be a tool for exactly what you need, but unless you or someone you know already knows about it chances are you'll never hear of it. I get constant emails from departments or upper management that have nothing to do with me. Most decisions are penny-wise and pound foolish. Almost entirely short term thinking in all decisions. Killing a project that cost thousands of dollars to develop because they don't want to spend a couple hundred on a better performing server, or they don't want to take the time to do proper testing, etc. Most of all deciding to save money by using indian or other outsourced developers that are generally worse than useless, since they introduce countless defects into the code. Emphasis on selling our own software instead of delivering the best value for the client. Especially since I work on only internal projects so we're basically costing one department time and money so that we can sell them an extra IBM product. We all work for the same company, but we're so big that different departments treat each other like different companies so instead of working together we end up competing or screwing each other over. Shareholders are more important than our own employees. To make the stock look better they cut back on employees, like cancelling raises for one year, or firing a lot of people. We also have no perks at all. The health plan is very bare bones (the best you can do is 90% dental and health, and if you don't want to pay part of that yourself you will have to cut somewhere else like life insurance). We get free terrible coffee and tea, and the use of a fridge for each area. That's it. They overcharge us for food and drink in the vending machines and the caf so they can make a profit off us. You can't save vacation to the next year, you have to use it all in the one year, or else it looks bad on your manager's budget. Just generally a lot of dumb rules that don't make sense and that wouldn't exist in a smaller company, but since upper management is so far removed from real employees they make dumb rules to make it look like they're actually doing something. Location. The location of the lab is terrible. It's in the middle of nowhere, incredibly difficult to get to, and is a hellish commute unless you live down the street at one of the poorly built condos. There is basically a field, and a couple other offices and storage depots nearby.