I'd suggest becoming an industry or business subject-matter expert instead, for example you could specialise in
- solving problems with software in the healthcare industry
- digitising procurement processes
- designing and running large-scale systems
From a business perspective I'd advise against becoming a technical expert. Not only is very specific technical expertise like knowing a certain framework particularly well quite short-lived but you'd also be further away from where the more important decisions are made and the most money is spent.
Businesses (those that don't sell software themselves, that is) don't care about frameworks and programming languages they care about the problems you can solve for them. I think it was Patrick MacKenzie who advocated taking end-to-end responsibility for solutions you provide to customers instead of merely creating a bunch of computer code for them.
To follow up on this, I'd also suggest coming up with something that requires treatment (ongoing, recurring income) vs cure (one time work, one time payment). The more often you have to hunt for clients, the more painful and irregular the process.
So currently I do have a long-term contract as a subcontractor, which is indeed ongoing and recurring. The only reason I got this, though, is because the contrator knew I had Rails experience. And that's why I feel like if I blog/seek expertise in a language/framework, that will contribute to finding more long term work like this.
Interesting! So I do have subject-matter expertise, which is developing and scaling marketplaces. Would that be the right kind of niche you're referring to?
You certainly need some kind of experience first but I wouldn’t say such a move is reserved to late in your career. It’s all a matter of learning and making connections deliberately.
- solving problems with software in the healthcare industry
- digitising procurement processes
- designing and running large-scale systems
From a business perspective I'd advise against becoming a technical expert. Not only is very specific technical expertise like knowing a certain framework particularly well quite short-lived but you'd also be further away from where the more important decisions are made and the most money is spent.
Businesses (those that don't sell software themselves, that is) don't care about frameworks and programming languages they care about the problems you can solve for them. I think it was Patrick MacKenzie who advocated taking end-to-end responsibility for solutions you provide to customers instead of merely creating a bunch of computer code for them.