Careers do stall for engineers. Good engineers are too valuable to let go or be promoted into the big buck positions.
I knew an engineer with a big ego at IBM who was technically hopeless, so they promoted him into management. He had two degrees plus and MBA, which he would boast about so many times. His nickname was FIGJAM. ('F', I'm Good, Just Ask Me). Most of the things he touched turned to mud, but he managed to get promoted up the ladder each time before his trails of disaster were uncovered. As a third level manager, he ordered a legacy custom ERP system called COPICS that was not Y2K compliant to be shut down on a Friday and a new barely tested custom ERP system called Pronto to begin on Monday. As a result of this appalling bad engineering strategy, the plant was crippled for three months and a lot of employees suffered incredibly. One even was hospitalised with a mental breakdown as workers were working 18 hour days without overtime to do everything manually.
In contrast, the most highly skilled engineers didn't go into management and could not proceed beyond staff engineer. So they reached a pay and career ceiling, going nowhere unless they left the company. Many were exploited over the years with endless overtime hours without compensation. I was one of them, and my biggest regret was working weekend and weekend and at nights for them at the cost to my family - time I will never get back. IBM's argument was engineers don't get overtime because they are professionals. Our final reward was IBM revoked a big chunk of our retirement savings when they sold us off to a startup company, and they even ran a mock court case in New South Wales to see if it were legal.