However, if you're marketing yourself purely as a "web developer", you're already commoditizing your skills. Instead, become an expert in a specific type of business/client and sell your ability to solve problems in that business domain. Your clients should not care about the tech you're using. You need to instead be seen as the expert who solves their problems with tech.
If you go this route, not only is freelancing viable - I think it's the best way to maximize your earnings as a developer.
I wrote about freelancing in more detail if you're interested: https://andyadams.org/everything-i-know-about-freelancing/
Any examples you'd like to share?
A couple of lame examples:
Instead of "I'm a React Developer", think "I build web-based software for the mining industry".
Instead of just "I build websites", think "I help nursing homes build websites that bring in new clients"
Though nothing has changed with the freelancer themselves, this has many benefits including:
* Helping the freelancer to realize who their ideal client is.
* Allows said clients to self-select into the freelancer's services - clients don't know they need a Shopify developer, but they sure know they need a website that can take customer orders and do fulfillment.
I actually would not want to limit myself to one industry. Working at a digital agency has its short comings but one thing I enjoyed is the variety of clients we get.
For example, I have a mixed skill set of web development and graphics programming. That's allowed me to interview at companies from a variety of business problems that leverage the graphics skill set, such as CAD/CAM, indie video games, or space mission simulation.
I want to say "I solve these problems" without limiting myself to one industry but relying on my tech skill as the niche. Is that just as good?
The trap I fell into: I specialized in WordPress performance. I was really good at solving complex performance problems. But...who is my client? Maybe eCommerce stores, but which of them have performance problems? Typically, when they did have performance problems they felt it was a temporary problem and didn't _really_ want to spend the budget to fix it.
So that's my warning: If you tout yourself as a tech-specific problem solver, you should have a clear picture of how you're going to find clients with that specific problem. I find this harder to do than the reverse process of picking a type of client and THEN identifying their problems.
PHP dominates the web, but I'm sure there is plenty of business elsewhere. The internet is pretty vast - some of my clients are in niches you've likely never heard of. If you were working in particular industries, you might see ASP/Java more often, depending on who the major players are there.