I've read that in order to attract inbound business, it helps to develop a niche where you can become an expert on something. Two examples include:
* Technical experts: People like Jon Skeet (C# StackOverflow guru) and Jacob Thornton (Bootstrap creator)
* Tangential experts: People like Patrick MacKenzie (blogged about his software small businesses) and Brennan Dunn (Double your freelancing, aimed largely at software professionals)
If I went technical, I'd probably choose the framework/language I use the most in my freelancing work and become a deep expert in that. The upside is it would achieve the goal of more inbound business. The downside is it would be a chore for me to be blogging about topics that haven't already been covered - language/framework niches are difficult to break into if you aren't the creator or early prominent member.
If I went tangential, I'd choose the topic of health and software development. There's clearly a market for this (see "The Healthy Programmer"[1]) and I think it's a niche I could dominate. I also would have no trouble creating blog posts, podcasts, and other material to develop this niche. The downside is I don't think this would achieve my goal of bringing in new business for software development - I could see this being a side project to build in addition to my freelance development, and it could become big if I put enough effort into it, but I don't see businesses needing health consultants for their development teams (who are also developers) as an immediate pressing need.
Does anyone have any insights into attempting these various approaches?
[1] https://pragprog.com/book/jkthp/the-healthy-programmer
- 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.