Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How do I start being a consultant?
43 points by ajushi on July 15, 2012 | hide | past | favorite | 26 comments
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.

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

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

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.

Amazing advice! This will be my blueprint! Thank you :-)

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

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

[3]: http://www.amazon.com/Consulting-Bible-Everything-Seven-Figu...

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

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.

> you may be more setting yourself up as a one man staffing agency…

Also known as a contractor.

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

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)

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

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.

Have you worked out equity pay packages for startups that need your solutions but don't yet have capital?

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.

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.

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.

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.

Remember this above all else:you do not want clients who are persuaded to take you on because you're cheap. You want clients who are persuaded to take you because you're good. If you're good, there are lots of ways to show it besides doing free work. If you're not good, don't do consulting.

I'll offer one exception to the "don't work for free" rule: valuable pro-bono.

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.

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.

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.

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.

Do not work for free. Working for free will harm your outcome almost immediately.

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.

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

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!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact