The real reason IBM has trouble attracting talent is that they have no idea what they want to actually be doing, from a technical perspective. They are a sales organization, and that's all that they are to anyone in a position to make decisions about anything. I took a bit of a pay cut to go to IBM--I needed to get out of consulting because it was impossible to get a bank to verify income for a mortgage--but it wasn't drastic. Even setting that aside, though, IBM was the worst mistake of my career. I left in five months because the job was so stressfully do-nothing (if that makes sense?) that I could literally feel myself becoming a worse person, not in a "technologist" sense but that of a human being, by being ground down by that culture.
So yeah, I'd say that adding locations is required. I'm not sure where the majority of the IBM software engineer jobs are?
When I had IBM folks working for me in ye olden days (not subcontractors), they weren't working in the valley, and were perfectly good at what they did. They made about 30% more than the full time employees did, in exchange for living in Hilton.
Big tech is the way it is because right now they have access to unlimited money. The good times will roll until they don't! As things mature, the era of $160k college grads and $500k+bonus staff engineers will end.
That $188k is total comp as well.
Apple: $160,548
Microsoft: $155,775
Google: $188,086
IBM: $95,857
The IBM total compensation does not even have 6 digits! No wonder they have a hard time attracting talent.
It would have been interesting to see the numbers for Amazon, Facebook and Netflix too.