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

A Great Place To Start, But Don't Linger
Pros: IBM has attracted some incredible employees.  Everyone worked very hard and are always willing to help.  It uses a lot of leading edge technologies, that  if an employee really takes time to learn them, will endow a person with great skills.  There are lots of documentation, training materials, and videos that will enable you to do your job adequately.  Getting mentored is readily available, but you have to be persistent to work with the person you choose.
Cons: IBM is definitely no longer what it used to be.
1) There were layoffs constantly, so, you spent a good portion of the time worrying about if you will have a job.  Stability was not there.  The 10 years I was there, there were at least 1 "resource action" (as they would call layoffs) every year.  I was finally laid off in 2016.
2) PBC system, the method for rating employee performance was incredibly flawed.  Apparently, management predetermines how many 1s (best), 2s, 3s (worse), etc,  that they will give in a year.   So, that usually meant that it didn't matter how hard you worked, your score more or less was pre-determined.  Thankfully, it does appear they were getting rid of the PBC system.  The new system was implemented 2016, so I was never evaluated by that system.
3) There is NO work-life-balance.  IBM touted this as an important aspect of taking care of their employees.  Interestingly enough, they changed the term later to "work-life-INTEGRATION".  
4) Upper management does not seem to know what direction to take the products.  I saw products that could have been great, and could have been a dominant force in the arena they played in, be left for dead.  Notes/Domino, that messaging system could have been something great.  WebSphere/WebSphere Portal is in danger of one day not being relevant. 
 5) Constantly laying off people eventually meant that product quality would suffer, and the products did suffer!
6) There seems to be too much concern for huge customers when it came to supporting the products, but not enough attention paid to smaller companies.  You would often see a situation where fixes were only given to 1 or 2 customers.
7) The company was more reactionary than proactive.  In supporting customers, it seems like there was a habit of responding to customers that screamed the loudest.  So, that meant, customers would frequently abuse the "critical situation" protocols because they knew that was the only way to get attention.
8) Management is not really supportive of their employees.  You might even have a manager use an employee as a scapegoat for when something has gone wrong in a customer's environment.
9) Low morale among employees were brought about by the constant layoffs, not very competitive salaries (software engineers were routinely paid 20% below market), lack of ability to move around the company, and no bonuses.