(2) Raise your rates.
(3) As you work for clients, keep a sharp eye for opportunities to build "specialty practices". If you get to work on a project involving Mongodb, spend some extra time and effort to get Mongodb under your belt. If you get a project for a law firm, spend some extra time thinking about how to develop applications that deal with contracts or boilerplates or PDF generation or document management.
(4) Raise your rates.
(5) Start refusing hourly-rate projects. Your new minimum billable increment is a day.
(6) Take end-to-end responsibility for the business objectives of whatever you build. This sounds fuzzy, like, "be able to talk in a board room", but it isn't! It's mechanically simple and you can do it immediately: Stop counting hours and days. Stop pushing back when your client changes scope. Your remedy for clients who abuse your flexibility with regards to scope is "stop working with that client". Some of your best clients will be abusive and you won't have that remedy. Oh well! Note: you are now a consultant.
(7) Hire one person at a reasonable salary. You are now responsible for their payroll and benefits. If you don't book enough work to pay both your take-home and their salary, you don't eat. In return: they don't get an automatic percentage of all the revenue of the company, nor does their salary automatically scale with your bill rate.
(8) You are now "senior" or "principal". Raise your rates.
(9) Generalize out from your specialties: Mongodb -> NoSQL -> highly scalable backends. Document management -> secure contract management.
(10) Raise your rates.
(11) You are now a top-tier consulting group compared to most of the market. Market yourself as such. Also: your rates are too low by probably about 40-60%.
Try to get it through your head: people who can simultaneously (a) crank out code (or arrange to have code cranked out) and (b) take responsibility for the business outcome of the problems that code is supposed to solve --- people who can speak both tech and biz --- are exceptionally rare. They shouldn't be; the language of business is mostly just elementary customer service, of the kind taught to entry level clerks at Nordstrom's. But they are, so if you can do that, raise your rates.
I'm assuming that holds true for you? If so, how did clients respond to that? I'm curious to hear about existing clients you transitioned from hourly (if applicable), and new clients that were introduced to that pay structure from day 1 (b/c most new clients I encounter have only heard of fixed pricing or hourly billing).
I'd bet, although I'm far from an authority, that anyone who's looking to hire top-rate consultants to audit the security of their software isn't going to balk too much at this sort of arrangement. It's the difference between the lawyer who advertises on late night TV to defend your DUI charge, and a team of legal experts in tax laws between America and New Zealand. If you need the latter level of expertise, you have to accept that the relationship is going to be fundamentally different than it would be with the former.
Just a clarification with (6): I experience this a whole lot. The client always changes scope. Are you suggesting that I don't budge and be firm about the scope agreement?
Also RE:elementary customer service. From what I understand is communicate with the client well (update them always and be responsive so that they won't be in the dark). Is that what you meant?
Again thank you :-)