Richard, what is clear is that the bean counters don't consider the cost of bugs/defects/poor quality in that decision to get the job done as cheaply as possible. If you constantly create products/updates with issues, then you have to increase your support staff to handle the influx of cases/support calls. Then the development team can't focus on new development because it's constantly having to go back and fix issues and (hopefully) ensure that the fixes don't break something else or break the new development. The question is, is hiring low-wage tier 1 workers to field support calls and open cases for the development teams plus younger developers cheaper than hiring / retaining experienced talent? HR is just hiring what they're told to hire.
I may be showing my age here, but I worked at a company that decided to outsource their development to India. They were going to keep testing and build/release in-house. While the developers were cheaper, they quickly found out that they had to increase the number of liaisons between the product team and the India developers to adequately communicate the requirements, that requirements had to be more detailed because there was no longer the information sharing outside the requirements tool, and that the turn around time for changes increased three fold. They had to create a change request describing the desired changes and wait for India to see it. Then someone in India would ask for clarification and wait for the US program team to see the question. Then someone had to provide the clarification. Sometimes this went back and forth several times killing a day every time. Then India would do the work and someone in the US would build the new code and let the testers test it in-house. If it failed, or had unanticipated results due to unclear requirements, then it had to go back and start over again. The loss in productivity and increased costs associated with rework quickly ate up any and all savings of cheaper labor, and it was all due to their own decisions, not that the cheaper labor was incompetent.
As to culture, the old Cisco is long gone. The sense of "family" was gone even before Chambers stepped down as CEO. At first, I thought the People Deal was going to be a good thing, because it got rid of the forced rankings at the team level. I always hated that each team had to be ranked. It didn't take into consideration that a team comprised of top performers had to put someone at the bottom and that person could have been a better performer than the top performer of a team that is full of internet-surfing, clock-watching do nothings. We all know there's a lot of people at Cisco that do the bare minimum and spend a lot of time (majority?) watching videos and general web surfing. If they have to hide their browser every time you come by their desk, it ain't work related.
The Millennials have it right now days. Companies are not giving out raises, even cost-of-living increases. With the exception of my military service and one job, the only increases I've ever received were from changing companies. The days of company loyalty is LONG GONE. And companies have brought it upon themselves. Why be loyal to Cisco when Cisco has shown since 2011 that it isn't loyal to its employees? If you treat us as disposable assets, then deal with the constant churn in staff. Cisco better make everyone document EVERYTHING about how you do your job because you may be gone tomorrow and someone else will have to do that job. The days of "tell Bob, he knows how to handle it" are gone because Bob either left for better pay or you got rid of Bob for a younger, cheaper Joe.
Grow your skills in one position, jump to a new position (in a new team or company) where you can have more responsibilities and learn additional skills and do it again. It's the only way to move up now. The way to tell the difference between a talented millennial and a poor performer via their resume will be the duration of each job. Those with only 6 months at each position may be the latter whereas those with 1-3 years are the millennials.