Every week you see the nth article posted here on how hiring is broken, from HR filtering to recruiters to interviewing. So how do good developers survive, if their skills and experience are essentially worthless in an opaque hiring process?
One common answer is "networking" but that's a non-developer skill- a mediocre developer could be better at networking (maybe correlated - he's in the bar handing out business cards rather than working on his latest side project). A lot of good people get hurt in a downturn and either leave the industry or end up in low-paying, mediocre jobs just to hang on.