Software engineering is extremely difficult. High performance engineers are rare and valuable. Some times, they become jaded and burn out.
This is my career and my craft, so I'm inclined to ride the waves and trends in software engineering. Negotiate for above average salary while maintaining my tech stack and producing at above average output.
Most people don't understand what it takes to develop and deploy software solutions. They only see the unicorns like Google, Facebook, and think software engineers are common. They don't see the vast swaths of land of failed software startups and dreams and incompetence in software engineering.
Most people in software engineering doesn't know or comprehend basic data structures and algorithms, which form basis for all software solutions at scale. Yet, they are filled into dev position slots by HR/management and asked to develop complex systems.
To have long term career in software engineering is like any other trade. Observe how the game is played, learn to play the game and play the game right.
A software engineer with basic skill stack and right long term view can ride the software wave for decades, just by understanding basic CS principles and utilizing them to develop solutions. Switch jobs regularly and negotiate hard for salary and levels.