Ask HN: How do I start being a consultant?
I've been a PHP developer for 4 years (not in the US), doing typically normal web development stuff. I was wondering if someone could give me advice on how to break out and start a consulting practice. I love working with people and another motivation for me is to stumble upon a problem that I can build a app for.
I'd really appreciate your advice and suggestions. I hope to be successful with this and forge my future. Thank you in advance.
26 comments
[ 5.2 ms ] story [ 68.7 ms ] threadMy first three clients were an ex employer, 2 local startups (reaching out to startups), and a real estate company (craigslist)
Not really joking here.
I've been in SEO for the last 4 years. I do in-house enterprise stuff now, but I had started a consulting gig for a little while a few years ago. I spent 1 month telling everyone and anyone that I was doing free SEO consulting in exchange for a great testimonial (read: Yelp review). Got 8 or 9 free clients. Two insisted on paying me after the work was done, and the rest wrote me fantastic testimonials and sent me referrals for months. Afterwards, your testimonials and Yelp reviews will be the catalyst for more business in the future. My 2 c's.
If you pick your charity well, you'll get kudos from it, and exposure to useful decision makers. Many charities have boards made up of well-off or powerful decision makers in other places that are willing to spend money in their day-jobs, but like you are working pro-bono for the charity.
If you circulate with these people, and deliver a high-quality product, you get the benefit of exposure to the right sort of future customers, the benefit of kudos for pro-bono (in the face of people who are also pro-bono and so value your input as much as they value their own), and you don't have the problem of your product being undervalued, because it's for a charitable good, not a discount for someone who should actually be paying for it.
His take is that consultant is someone who shares their knowledge of process and works strategically with the client's decision makers... not someone who is knee deep in doing the work of implementing a project. If you're talking about writing PHP code, you may be more setting yourself up as a one man staffing agency, not as a consultant. I'd suggest reading Weiss, think hard about what you really want to do, and go from there.
[1]: http://www.summitconsulting.com/about-alan/
[2]: http://www.amazon.com/Million-Dollar-Consulting-Alan-Weiss/d...
[3]: http://www.amazon.com/Consulting-Bible-Everything-Seven-Figu...
Also known as a contractor.
(I personally do both, and honestly have more fun 'freelancing' than 'consulting').
A consultant is someone whose practice is so expensive that for most companies it would make zero sense to keep them on staff. Think about graphic designers. I love graphic design and I love paying for graphic design, but I will never be able to convince Dave & Jeremy that we should hire a full time graphic designer. (And here you get a small taste of the complexity of the word "expensive", since graphic design is in reality very cheap).
There is a blurry line between consultants and freelancers/contractors. Sometimes, consultants get sucked into contractor projects; these are commonly called "staff augmentation" projects. You do them because you like the client and because the money is usually good; also, sometimes the market for whatever you do heats up, and suddenly it starts to make fiscal sense for lots of different companies to effectively get a full-time body to do what you do.
- full time contract work for at least 6 months
- my LLC formed (US only, I think)
- my site built, setup w/analytics, a blog, Google webmaster tools, etc.
- my first set of business cards in hand (may not be that important to some people, but they came in handy for me)
- other misc. stuff (spoke to my CPA about taxes, researched sample contracts, looked into software I'd need, etc.)
Doing all that while still having income meant that I didn't have to trade billable time for those once I became a consultant. When you're running your own business, you'll always have to invest non-billable time, but those first 3/6/12 months are always the hardest, so do what you can to maximize billable hours and finding more clients or work, w/out overwhelming yourself.
People who pay 1099 contractors to build software are virtually never doing that because they think software is cool and they'd like to watch some get built.
They are building software because they have some business problem that needs to get solved, such as converting visitors to their website into Twitter followers or credit card subscription signups. The business problems are things like "we have people hitting our website and we a grip on getting more people to do that, but we don't have a way of profiting from those hits, and we think selling t-shirts on the site is a good way to do it".
They are turning to consultants because they are not confident in their ability to get the project done in-house. Maybe doing it in-house would distract their team from a more important project. Maybe they don't have an internal team and (rightly) believe that if they tried to hire one, they'd probably go through 3 different leads over 18 months before they got a productive team going.
What consulting clients are buying is determinism and flexibility. They have a project that needs to complete this quarter.
When you offer your services to those people for free, you are inherently undermining "determinism". Not only does it not take a genius to compare the market rate for software development to "free" and ask what's wrong with you, but also it's intuitively obvious that you can't sustainably deliver services for free.
Half a project is worth either zero or less than zero. So what has your client gained from this transaction? They put out an RFP for the project as a way of eliminating staffing risk, and you responded by offering them more risk. Yay!
- insight
- reputation
The reputation (from prior work) gets you in the door, and the insight (from your wealth of experience in the field, which you have, right?) is what gives you the right to call it a "practice", and the right to get you the 5- and 6-figure paychecks for each engagement.
Insight is more than just experience; you'll have to offer something unique and valuable for each customer that they can't just get from their local recruitment agency for commodity rates.
You have to be able to communicate at senior management level, in big picture terms, but also operate at the ground floor and all the way up. You must be able to advise at each level of the organisation, while understanding the nuts and bolts of the guy doing the programming (and quite probably doing it yourself).
(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 :-)
While not particularly novel advice, the one thing I can advise (and I have to remind myself of this constantly) is to be cognizant of whether your spending too much time focusing on the inconsequential things (which seem psychically easier to deal with) than the important things.
In my case, I'm still trying to figure out a plan for getting initial work (which you might imagine is a pretty important thing), but I found myself debating for days about my new logo (which is pretty much guaranteed to never be looked at by anyone for longer than a few seconds at the top of my web page).
I've also spent hours figuring out systems for how I'm going to handle invoicing, client management, output delivery, branding and marketing, etc.
All of those things are certainly important to do, but I find it's way too easy for me to focus my energy on them, instead of the elephant in the room.
Good luck though.
I have another quesiton that's been bothering me:
Let's say I contacted my old company. I know that there are developers there that knows better than me (with regards to programming). Should I still pursue consulting there? What should I do?
P.S. Let's say I see the project that's going to be done would fit perfectly well with PHP, it's adequate and saves the company money. Then there are the developers that are .NET programmers and they are pushing that although let's say for the sake of argument, PHP would suffice.