I'm a successful freelancer making roughly $80,000 a year ($100 per hour) in the Mountain West. Yet I'd like to boost that so I can send my kids to private school and pay off some medical bills.
These bills are currently taped on my wall, and when I see them I think about branching out from my current skill-set (Full-stack LAMP apps (don't laugh, there's decent work out there with PHP)) to something more profitable.
So:
Niches: What niche would you recommend I choose to become more profitable, and that will be around for the next few years?
Languages: Should I focus on a new language like Golang? Or Start learning mobile development with iOS?
And thank you in advance for the mentorship. Sometimes I feel a little lost and don't know the best choice to make.
Either way, honestly, I would say you don't have a niche problem, you have a (potentially) marketing, sales, and rate problem.
As you point out there is plenty of work as a Full-stack LAMP engineer. It might not be exciting or the new kid on the block but there is plenty of it to go around. The problem is that you either:
A) Aren't doing enough business - If you are making $80,000 gross you are only working 800 hours a year. That could be good or bad, but right now I bet it doesn't feel like enough.
B) Aren't charging enough - $100 an hour is pretty inexpensive for a consultant of any sort.
C) All of the above!! This is the right answer by the way.
I will link to one of my favorite comments on this topic for you to read, it was by tptacek, and I keep it bookmarked [1]. But the long and short is, raise your rates, specialize in things your existing customer base needs, find new customers that also need those things, raise your rates, focus on business objectives for your customers, stop billing hourly, raise your rates, generalize, raise your rates. You probably should just keep on raising your rates.
So what does this mean for a full-stack LAMP engineer? Are you really good with Wordpress or Magento? Raise your rates and start selling wordpress and magento services. Are you exceptional at tuning MySQL? Raise your rates and start selling high scalability MySQL tuning. Are you an expert in making apps more stable and easier to deploy? ... You get the idea. Don't go away from what you are good at. Dive deeper into it.
But now that I've run some more calculations it seems like I'll hit ~$85,000 USD gross this year.
And really, you gave great advice.
The biggest thing is finding clients, but I think that is an easier task once I figure out my positioning.
If it's an issue of finding clients, that, in my experience, has little to do with the technology choice. I freelanced in PHP for over 5 years, and I rarely (if ever) talked "tech" with clients. I kept discussions much more high-level than that. They didn't care how exactly I was building their projects.
Definitely check out RFP's (requests for proposals). Government agencies, universities, etc put them out. Start replying to them, and you should find plenty of work.
http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro...
He also has an e-mail list, and other training:
https://training.kalzumeus.com/newsletters/archive/consultin...
I believe there are several other resources focused on the non-technical side, I'm not sure how to separate the signal from the noise however :)
* tptaceck advice: https://news.ycombinator.com/item?id=12207015
Guys who pay your 'modest' fee in a timely fashion, are cool to work with, no mean emails late at night.
Who is the ideal Economic Buyer for your services? Industry/Vertical/Segment/Geography?
If you can define target client, you can go prospecting for them. Suggest reading New Sales. Simplified.: The Essential Handbook for Prospecting and New Business Development >http://www.goodreads.com/book/show/15863998-new-sales-simpli...
To get clients there are two main paths: 1. Hang out where clients hang out (networking events, business luncheons, etc), and talk to them about their problems. 2. Talk with other techies and see if they have work they can't or don't want to do.
However, I'd advise against focussing on a technological niche alone. I'd suggest focussing on a business niche (industry, specific business problem) and additional skills that are complementary to coding (teaching, consulting). Try to position yourself as a business problem solver rather than someone who turns requirements into computer code.
Learning something completely new such as Golang or mobile development only makes sense business-wise if you already have customers who might be interested in that.
There's nothing wrong with learning new skills but in terms of business success learning a new technology - especially if it's a relatively new one such as Golang - is equivalent to developing a polished product before having the first customer or in other words: The exact opposite of the Lean Startup / MVP way of doing business.
So thanks trcollinson and BjoernKW. I think that once I figure out how to position myself, the rates will naturally increase (I'm not shy of asking for $150 per hour if I know I'm worth it).
In short, it's time to Niche!
If you're not using it already check out the Laravel (php) framework.
It's growing fast, similar to Rails, easy to use, lots of great tools and the hourly rate on Laravel projects is comparable to the rate on Rails projects.
Check out Vue.js as well.
You'll be integrating in to a great community of developers and leveling up your skills, opening up yourself to new opportunities.
Laracasts.com will get you started.
Niches:
Web Applications for businesses is a good niche, higher rates, more interesting projects, longer term development + maintenance.