Company: IBM
Date: 2017-11-11
Overall rating: 5/5
Employment status: former
Experience level: Junior

Fantastic opportunities to learn and grow
Pros: IBM was my first full-time job after graduating from college, and it afforded many professional growth opportunities. I worked on a mature product in the middleware division.

My management chain was supportive of my career development and I received promotions, raises, and bonuses during my tenure. I had opportunities to learn many aspects of enterprise software development for a global customer base, such as internationalization, accessibility, fault-tolerant architecture, databases, and more. I also learned about other parts of the IBM organization, working with respected colleagues in sales, consulting, and support. IBM is a very client-centric company, focused on developing a deep understanding of verticals like healthcare and financial services.
Cons: IBM is a large global conglomerate with hundreds of thousands of employees, so many of the cons for me personally are simply due to its size and age, and are actually considered pros by others.

First, it is inevitable in a company of this scale that political prowess is necessary to make progress - a natural consequence of Metcalf's law. It can be frustrating at times but also a fantastic learning experience, and I've found these skills to be useful throughout my career.

Second, many IBM products are in maintenance mode, which provides stability and great work-life balance that many mid-career engineers enjoy, since they often have families and other commitments. For me personally, I was looking to have more of an opportunity to "think like an owner" and be heavily invested with a product and company.

Consider whether a large company or startup would be a better fit for you. HBR's "Do You Belong at a Start-Up" is a great read.