One of the biggest problems that software developers face is that technology changes rapidly. It is very hard to stay current.
The harsh reality is that if you are middle-aged, write computer code for a living, and earn a six-figure salary, you're headed for the unemployment lines. Your market value declines as you age, and it becomes harder and harder to get a job.