Programming is a very small part of the battle of being an effective software engineer.
It leaves out:
- communicating
- teaching
- dealing with ambiguity
- navigating politics
- working cross-functionally
Most high level individual contributors at large tech companies don't even code.