I'm definitely choosing path 1, which is to become a senior dev. I prefer technical-focused jobs. Learn from mentor programmers, get into teams and learn formal development practices, and then help out programmers less experienced than myself. I've never held a senior title, never led a group, nor even been involved with the process of hiring other programmers.
I currently live in Chicago which is pretty good for COL/salary ratio, for the average programmer. Caveat: I am not average. I consistently get offers from very low paying jobs- as in "$25/hr on a contract" low. This comes from the tendency to being let go from jobs without having another one lined up, so I never could afford to wait much longer for a better offer to use as leverage. Also, I don't qualify for unemployment insurance.
That has put me in the bottom 15-20% of local jobs by total compensation. If I were to restart as a junior programmer at one of the better companies, I'd actually be getting paid somewhat more than at my last job (and with insurance benefits for once).
In that case, I'd recommend specializing in one particular language/framework/domain.
Whether it's NodeJS, Python, C#, Swift -- pick one and run with it. "General programmer" is fine for management but not great for senior developer.
It seems little odd that at 35 you're still in the $25/hr range. Either you got a late start or maybe there's some soft skills you need to improve (running a meaningful meeting, developing a strong rapport with business partners and management, etc).
>It seems little odd that at 35 you're still in the $25/hr range.
Don't underestimate the negative effects of having no job lined up when you're let go from your current one. You can't realistically negotiate for an ideal salary when you're currently making zero. Taking a less-than-optimal job offer is still better than being homeless, though.
For reference, my first web development job paid $12/hr (part-time) in 2007, in the Chicago area. I found this job by cold-emailing job listings on Craigslist.
I currently live in Chicago which is pretty good for COL/salary ratio, for the average programmer. Caveat: I am not average. I consistently get offers from very low paying jobs- as in "$25/hr on a contract" low. This comes from the tendency to being let go from jobs without having another one lined up, so I never could afford to wait much longer for a better offer to use as leverage. Also, I don't qualify for unemployment insurance.
That has put me in the bottom 15-20% of local jobs by total compensation. If I were to restart as a junior programmer at one of the better companies, I'd actually be getting paid somewhat more than at my last job (and with insurance benefits for once).