Really? So just because someone is at a company for a long time, they're "a permanent stain at a large company?" I know many people who are competitive, hard-working & talented people that Cisco has let go. Simply due to the fact they've been there for a long time and someone younger can do their job at a lower pay grade at a lower efficiency rate that the bean counters deem an acceptable cost vs. benefit ratio.
This is what’s wrong with Cisco in a nutshell:
1) After many rounds you still can’t form an actionable problem statement
2) You are unwilling to deal with risk management
3) You still haven’t expressed a single passion to do anything other than to not get tossed (as anyone with junior high school algebra can tell you, that is a dependent variable - you need to present and analyze the independent variables as well to answer the original question)
4) You assume hard work means anything unto itself
5) You assume youth leads to lower efficiency
6) The assumption of what many incorrectly call “talent” means anything
7) Much of the competition at Cisco has been both internal and destructive where cooperation would have served the company far better
Let’s use an ancient internet meme to make this clear. I’m an Impala without a JATO pack. I’ve worked with many Impalas with JATO packs. I can get up and down the mountain road with hairpin turns and cliff faces at a modest pace, but I actually complete the tasks so no one needs to go back and redo my work. Many with far more raw power than I have have slammed into or flew off the cliff faces blowing up and burning down everything around them.
Why is this?
I know I don’t know everything and I don’t do all that could be done because of it, but I work to continually improve. Most of the high-power lifers at Cisco think they do know everything and do the best that can be done and they spend decades making the same mistakes because there is no reason not to. I wasn’t being sarcastic about Principal Software Engineers not having high school level skills in functional decomposition, refactoring and scaling. The result is a high school kid who has learned these things and is willing to apply those skills and who craves growing more skills is more valuable than all the Cisco Principal Software Engineers I worked with combined.
By working at multiple companies, particularly ones where people know how to work smarter rather than harder, I’ve developed a much broader set of skills and perspectives. I still have an infinite way to go. Good companies do brutal and honest post mortems and work to get everyone to learn from each of our mistakes. At Cisco saying something wasn’t perfect is Heresy Against Doctrine and grounds for dismissal, incorrectly reenforcing the belief that they are doing the best that can be done.
I continue to develop skills after hours that initially seem orthogonal to my day job and as a result I end up being able to find solutions to problems that even Distinguished Engineers proclaimed were unsolvable. Because I draw from a broader experience and I don’t assume I’m smart enough to say a problem is unsolvable I work at it and surprise, come up with a viable solution in days. Again, no JATO pack so it was just a matter of trying.
In all but one company I’ve been tasked with gutting an engineering year or more of development where people “worked hard putting in 90 hour weeks and were experienced top performers!” Unfortunately the code didn’t work and those teams couldn’t fix it. I was given days to weeks to replace that code outright which I did and years later that code remained unchanged so I assert I got it sufficiently correct. It turns out one short implementation where the data is instantiated 43 times is far better than 43 giant poorly thought out buggy implementations of what are essentially the same thing. In one of the cases where I did this at Cisco my Director ripped my manager a new one and folded it over his head because “we only hire the top ten percent and they won’t write useless or excess code so it it’s not possible for someone [me] to check in significant negative KLOCs while adding functionality and not removing or breaking existing functionality.”
Young people will probably have to look up KLOC. Old people should cringe when they hear it is being used as a primary metric past the 1970s. Most Cisco software engineers and managers simply don’t know better because they don’t have to. The dashboards do all the work and people think what the dashboards measure is all that matters. This is how most people who aren’t continually forced to improve and develop a broader perspective become stains and fear having to jump to a new company.
I’m not saying this to hurt people. It’s my hope one good person who has become complacent wakes up and starts taking a more active role in building their career so if job jump is necessary they drive it rather than Cisco and they can thrive at their new job. Risk management isn’t just a personal skill, it’s a professional one as well.