
Ask HN: How do I start being a consultant? - ajushi
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.<p>I'd really appreciate your advice and suggestions. I hope to be successful with this and forge my future. Thank you in advance.
======
tptacek
(1) Start a freelance practice.

(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.

~~~
mzarate06
_(5) Start refusing hourly-rate projects. Your new minimum billable increment
is a day._

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).

~~~
bartonfink
Thomas frequently mentions that his practice bills in weeks because that's the
nature of his consulting (application security), and he's urged several people
on here to do the same. He points out that people who balk at this tend to not
be serious clients, and are ultimately not profitable enough to justify the
work.

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.

------
mindcrime
There's a guy named Alan Weiss[1], who is widely regarded as an expert (maybe
_the_ expert) on consulting. He has written several very popular books,
including _Million Dollar Consulting_ [2] and _The Consulting Bible_ [3]. You
may find his work useful. However, note that he would probably not classify
what you're talking about (if I understand correctly) as "consulting" at all.

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...](http://www.amazon.com/Million-Dollar-Consulting-Alan-
Weiss/dp/0071622101)

[3]: [http://www.amazon.com/Consulting-Bible-Everything-Seven-
Figu...](http://www.amazon.com/Consulting-Bible-Everything-Seven-Figure-
Practice/dp/0470928085)

~~~
DrJ
I think the "How do I become a consultant/start a consulting business" comes
up every few months. Here is what I've taken from those posts. There is a
difference between consulting and freelancing. Consultants are people who come
in and help make decision and Freelancers are people who make those decisions
happen (aka contractors).

(I personally do both, and honestly have more fun 'freelancing' than
'consulting').

~~~
tptacek
The connotation that "freelancer" carries is that you are in general someone
who can be plugged into an arbitrary dev project instead of an FTE. When you
hear "freelancer", think instead "temp". Highly-paid temp! But: temp. Also: a
freelancer is usually a sole proprietor; when you get 3 freelancers into a
room, they become "contractors". Same connotation.

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.

------
jeremysmyth
To be a consultant, rather than an hourly-rate freelancer, you need two
things:

\- 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).

------
m0nastic
I think the advice folks are posting here is very good. I'm about a week into
the process of incorporating a company and trying to figure out how in the
hell I'm going to do this.

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.

------
mzarate06
Start building your consulting business or freelance presence on the side
while you still have a steady stream of income. For example, by the time I
left my full time job, I had:

\- 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.

------
tirrellp
How I started: \- Called up past employers and let them know what I was up to.
Asked if they "needed any help" \- Reached out to local startups and asked if
they "needed any help" \- Trolled craigslist for projects, built POCs quickly,
then responded to the ad with a link to the proof of concept.

My first three clients were an ex employer, 2 local startups (reaching out to
startups), and a real estate company (craigslist)

~~~
yolesaber
How is being a consultant different than being a freelance developer? Is it
just nominal?

~~~
patio11
Freelance developers charge $100 an hour to write PHP apps, consultants charge
$40k to solve a problem costing the business $200k a year. That solution might
be a PHP app that takes 2 weeks to write.

Not really joking here.

------
trg2
I highly recommend working for free for 1-2 months.

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.

~~~
riledhel
Please don't work for free. Offer an awesome discount or accept something
instead of money (a computer, a telephone, anything), but don't offer your
services for free. Establish, from the very beginning, that your services are
valuable.

~~~
proexploit
Free is not good but it's actually better than cheap. As long as you are
accepting a client's money, they are going to have expectations and a lot more
things can go wrong. Free at least frees you from those expectations.

~~~
riledhel
In my experience people have all kinds of expectations, regardless of wether
you charge them or not. And billing shows them your time is as valuable as
theirs. On the other hand, if you offer your time for free, people will tend
to load you with as much work as possible because, hey, you're free; and you
have no way to leverage how much you're willing to do.

~~~
proexploit
I figure with free, you've always got the opportunity to say "Hey, that's as
much as I can afford to do for free" in response to unreasonable requests.
With cheap, you then have to deal with the added "but I paid you money"
argument as well. I'm sure it differs on how the job is presented and how you
outline your responsibilities as well.

------
ajushi
Wow, amazing responses! Thank you guys, I've learned a lot from you :-)

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.

------
syverboss
Most services and products out there have free trials.. If the service is
good, customers will keep coming back.. You just need to get them through the
door first so I agree with the idea of giving couple of hours for free if that
can win the deal

~~~
tptacek
This is a terrible idea because it misunderstands where the value is in the
consulting/freelancing transaction.

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!

