top | item 19455224

Ask HN: Resources/Steps for Becoming a Consultant?

499 points| MichaelEstes | 7 years ago

I recently put in my notice at work with nothing lined up. Do any of you operate full time as a consultant? I'd love to hear about how you got started and what resources, pitfalls, experiences you came across along the way.

114 comments

order
[+] msadowski|7 years ago|reply
I have been working as a consultant/contractor since May last year.

I found my first jobs on UpWork, where Robotics is quite niche field. Being a niche field there are not many jobs available (I'd estimate there are 2-3 a month that fit my skill set) but also there are not so many freelancers doing Robotics.

Starting on any freelancers platform you need to start building reputation, which can mean you will need to sell yourself well or do the first project for peanuts (my first one was converting some Python to C# that took me 8 days and I earned 10$). In the second project I earned about 2k$ and in further ones I was already earning more per hour then in my previous job.

My advice is anecdotal but if someone advertises "a simple project for ..." then they don't treat it very seriously and won't be willing to pay for quality. The clients willing to pay more for your services will also respect your time more and are usually much easier to communicate with.

Avoid fixed price contracts if you can unless you know exactly how to do the project and can predict any pitfalls. Charging by the hour/day/week/month is in my opinion least risky and if you encounter huge issues you are still paid to fix them.

Speaking of issues. Firstly make sure that you know the requirements clearly, before starting development make sure you understand all stakeholders. As you are developing the project communicate frequently with the client about any doubts to the client and make sure you are on the same page. If you see anything off - communicate this! The requirements will never be perfect and if you put yourself in the user's shoes you will be able to identify things your client missed and this way you will be bringing an extra value by solving problems before they even arise.

Sorry for the wall of text, hopefully you will find any of this useful. If you have any questions feel free to ask here or e-mail me (I hope my e-mail is in my profile).

Good luck!

[+] sgillen|7 years ago|reply
Can you speak at all as to what skills are in most demand for robotics? It’s such a broad field it’s hard to know what to focus on in order to be marketable.

Do you think your education matters? Do people want to see a masters/PhD or is gaining more experience the important thing for landings these sorts of jobs.

Thanks!

[+] swaggyBoatswain|7 years ago|reply
It's crazy what kind of services you can find on upwork

For instance, food scientists

[+] Evan_Hellmuth|7 years ago|reply
I did this less than a year ago. Two things I wish I had done off the bat:

1) Choose a specific skillset that you want to use and only accept jobs in that skillset. For me that should have been React/Node projects (even this is too general, but much better than “web programmer”). People hire consultants for instant productivity, and the type of person that has so little experience working with technologists that they expect instant competence after you tell them “yeah I used Python for a personal project” probably won’t be a great client. Ultimately you’ll want to own a business problem, possibly combined with a technological skillset, but that’s something you can think about after you’ve set up a steady stream of work.

2) Use a “premium” recruiter or agency. Gun.io, Toptal, something like that. They don’t lock you in, you’re still free to find your own work, but they will save you SO much time and they’ll find SO much work that you wouldn’t have been able to find on your own. Use them to find projects in which you can hone the specific skillset you chose and make it more specific.

After a project or two you’ll have a feel for what’s out there and you can start tweaking your rate and how you market yourself. Also, consider reading Developer Hegemony to get a (pretty cynical) feel for the business side of things. Feel free to reach out if you want to chat further (email in profile).

[+] mdn0420|7 years ago|reply
#1 is something I've been pondering as well. I've been developing games on Unity for quite some time but questioning if I'd be better off retooling into a tech stack that is higher demand?
[+] punnerud|7 years ago|reply
It's all about creating value for your customer. "Don't give me some trend analysis, give me actionable insight ". Recommend watching this: https://www.youtube.com/watch?v=u2SdmYuMMIg

I earn $180000/year, recently raised my rate to $280/h and working 40h/weeks. Feel I create way more value for my customers than my cost, so I started several small projects in parallell the last months to move away from consulting. Most of them was about a week of work and give about $10000/year with minimum maintenance.

Started building webpages, but figured out that this in itself don't solve a problem I can't fix with some sitebuilder (all about value). All my value creation in now in gathering data from different (API) sources into and databases and generating custom reports on this data. The most important skills I need is Python and SQL, stuff I did not know under 3 years ago.

For the $10000/year examples I make some prototypes, try to understand the business I try to sell to and calculate something I don't think they already easily know that will increase their revenue way more that my cost. Then I make the cold call (<3min), just to ask if I can send them an email with some analysis. They almost always get back the next day with an email or call back for more details or some adjustments.

Hope to go all into startup in a near future, only focusing on this. Love the feeling of solving real problems and see people willing to pay for it recurring <3

[+] ryanjmo|7 years ago|reply
Hey! It sounds like both your consulting and budding start-up are very interesting. I'm looking to get into consulting. Python and SQL and my specialties.

If you want to cut back on your consulting perhaps I can try to take some of the work off of you. I could work under you at half your price $140/h, so you could spend more time on your start-up and still be making money from your consulting and keep your clients. It makes sense for me as it would be a quick way for me to get into consulting and it seems like you already have the workflow, etc down.

Or perhaps you would want to work with someone on your startup. I have had a few successful start-ups over the years.

You can check my LinkedIn and my email is in my HN profile. Get in touch if you are interested!

[+] 3pt14159|7 years ago|reply
1. Bill by the half-day, but don't charge for a 10 minute fix unless a client starts to get annoying.

2. In your first year aim for half of what you made the previous year. Take the best clients you can, but make sure you hit that or you'll stop. Don't take work that makes you feel icky.

3. Talk to people. Spend about 35% of your time doing it. Do work for free if you need to, but get someone talking one way or another or your pipeline will dry up.

4. By two years in you'll find a client that will make up over 50% of your billable. Do whatever it takes to make them happy. Even if you lose the client for reasons outside your control, make sure that the decision maker that brought you in feels like you did your best. They'll bring you in again, even if it isn't there.

[+] tptacek|7 years ago|reply
* Raise your rates. You need to charge _way_ more than your FTE rate. _Way_ more.

* Say "no" to prospects that don't fit your practice/price.

* Avoid freelancing/matching sites.

* Don't bill hourly. Don't track hours.

* Specialize.

* Be prepared for clients to be very late on payments.

* You can't stop selling when you hit capacity. Be intentional about smoothing your utilization out.

[+] topoftheforts|7 years ago|reply
> Don't track hours.

Probably you don't mean it in this way, but I found time tracking to be very very useful, even when not tracking with the purpose of invoicing for your time.

[+] juliusmusseau|7 years ago|reply
> Don't track hours.

In Canada there are important federal tax credits (e.g., SR&ED) that work best if staff and contractors track hours in at least 4-hour chunks.

But if a client hopes to get tax credits back for your hours, that's another good reason to raise your rates!

[+] stockkid|7 years ago|reply
> You can't stop selling when you hit capacity. Be intentional about smoothing your utilization out.

Could you explain more?

[+] scarface74|7 years ago|reply
Daedtech has an excellent article

https://daedtech.com/software-consulting/

If you live in a major metropolitan area almost anywhere in the US, and your skillset is in tune with the market, you should be able to find some W2 or 1099 contract quite easily through local recruiters. Yeah they will take their cut, but you still should be able to negotiate close to market value. You will definitely get paid more than using something like Upwork.

I’ve been building up a curated list of local third party recruiters for years. I always engage with them when they reach out to me.

Even though they call the above “consulting”, it’s actually closer to just freelancing.

[+] hardwaresofton|7 years ago|reply
Read every single article on daedtech.com related to software consulting (and maybe some that aren't) -- the amount of insight contained inside those articles for free is insane.

99% of the people who think they are doing consulting (me included) are not doing consulting. If you're getting paid to write software, you're not a consultant, you're a freelancer/service provider. Let those words shake you then read all the writing on daedtech.com to learn why and see if you disagree (you won't).

[+] tptacek|7 years ago|reply
The technical term for the arrangement you're talking about is subcontracting. Subcontracting is not much better than using contracting sites; you can make it work as backfill with partners you trust, but be careful not to fill your schedule with it.
[+] gravypod|7 years ago|reply
That's a really cool article. Are there any lists of incubators that are open to the "rent-a-CTO" idea? It's really an interesting way to get your foot in the door.
[+] pythonbase|7 years ago|reply
Excellent tips. Bookmarking your blog for future reading.
[+] davidscolgan|7 years ago|reply
Welcome to the wild world of consulting! I hope you enjoy your stay, it's the only way to live in my opinion.

What's helped me in my freelancing/consulting journey more than anything else has been building one on one relationships (aka, networking). The more people you know who know what you do, the more opportunities you'll have come your way. Some call it Luck Surface Area.

Join a paid online community of other consultants. Go to meetups around your city. If someone wants to learn programming take them out for coffee. Go to networking events. Give talks in public. Anything that will introduce you to other humans. Then keep track of all of them in a CRM. Follow up with people and provide as much value to them as you can. Participate in Hacker News (this post is increasing the number of people you might meet!). Put it on your Github/Twitter/Website etc.

Ways I've gotten gigs lately:

* Person from my online freelancer community I'd talk with multiple times was working on a project and they needed help, brought me on, now I'm getting more work from that client.

* Someone from college I hadn't talked to in 8 years saw my LinkedIn profile and contacted me about a project for their company.

* Someone saw a comment on HN about my work and reached out to me.

* College student wanted advice on freelancing, I took them out for coffee, 3 months later "I decided not to freelance but I found a client, do you want them?"

* Sitting in a coworking space and person I met yesterday and told about my business says, "I'm getting a full time job, want this client?"

None of these have had to really come from direct "selling" and all of them came to me which in my experience makes it way better since they already want and trust you. I don't even feel like I'm all that good at promoting myself, but I have work because I talk to people.

Happy to chat about this further if you want, my email's in my profile. Best of luck in your consulting!

[+] topoftheforts|7 years ago|reply
I couldn't agree more with this advice. I'm more of a dev than a consultant, but I believe this applies to many fields.

I quit my job a year ago to start doing freelance/contract work, I never directly looked for clients but just by having good relationships with my former employer, colleagues, and people I know in general, by October I had so many projects on my hand I had to work 80hrs/week for a short period of time.

Just to re-iterate in how many different ways you can get projects and even long-term clients, this is my "how I've gotten gigs" list:

* Former employer: when I quit I was 100% honest, boss trusted me and wanted to keep working with me. They are still giving me work

* Former colleague: he quit right before me, started his own small company, knew he could count on me being a reliable dev, became a long-term client

* I was looking for devs on Twago, in order to get help in case I had too many jobs on my hand. One of the applicants was a small dev agency looking for projects. They ended up giving me work, instead of the other way around.

* (most random one) A client I had a few years ago, during my first venture as entrepreneur, messaged me on Skype by mistake, thinking I was somebody else they knew. Turns out they needed a dev, became a long-term client.

* Went back home to Italy during the summer, rented a room for a few months. My landlord was working in marketing, ended up giving me a few very good clients

[+] aunty_helen|7 years ago|reply
Take a break, honestly. A lot of people seem to be of the opinion that if you don't work your life will start to implode around you.

I've just started my first consulting job via a friend I used to work with. I was 10 months unemployed, living in an exotic country, enjoying myself and building out my own projects. I only ended up taking the job because the pay was good.

Whilst I've been doing my own thing I've met a lot of 'digital nomads.' They all do interesting things and the stories of how they got there are all different. And if they don't like it anymore, they can stop at any time.

In short, there's other options than diving from a job that's burnt you out straight into a consulting gig.

[+] kzzzznot|7 years ago|reply
Unfortunately for a lot of people, their lives will implode if they stop working. If they stop working, they receive no income and have to either eat into savings (if they're lucky) or would otherwise struggle to pay rent/life expenses.
[+] zerkten|7 years ago|reply
It would be interesting to know more about your personal circumstances and how you set yourself up for success here. I feel like we need to start planning long before we get burnt out. For many people it's hard to avoid things like mortgages, or other situations which impose a financial burden of some sort.

I personally think 10 months off for me would be healthy right now in a lot of ways. It would be survivable financially, but in some ways it would drive a lot of anxiety for my partner and I. The support system doesn't exist for this in the US in the same way it does in other nations either.

[+] eldavido|7 years ago|reply
This whole thread is misguided.

You're starting from a position of what do I have (software dev skill) and trying to backfit a need onto it.

The right mentality is to think hard about your buyer: What are you selling, why would someone buy it, and how would they find you? Ideally it should be some kind of business need, like "I want to stop using Expedia at my hotel and transition to get more direct bookings" or "I need a very high-value, complex system migrated from one thing to another". The more risk/difficulty/P&L impact/fewer people can do it, the more you can charge.

What you don't want to do is come in and just be a coder. Those are a dime a dozen. Even though developer skill varies dramatically, there's no way to really bill for that. Most business buyers are going to see "C# developer" and want to pay the lowest rate they can. It is outrageous how little the pay difference (even at software companies) is between high and low performers. It's like 2x, it should probably be like, 10x (no company outside finance would ever tolerate this kind of pay difference). You will never win charging 2x when the other guy is charging 1x for what, on paper, looks like the same skill (a relationship/reputation can offset this partially).

Don't become a "consultant" unless you want to do sales and marketing full-time, as that is the end-state of a successful consulting career. If that isn't your cup of tea, either find a better dev job (if you want to keep coding professionally) or find a company like 10x who will place you with good clients and do the grunt work for you of selling, where you can simply come in and provide value as a high-skilled technical person (which has its benefits, including decent pay, work from anywhere, put up with less of the posturing/BS of typical office life).

Source: did this. Wasted a lot of time doing bottom-of-the-barrel dev work before I realized probably 95% of the software that gets written in the world is boring, not particularly well paid, and has no real career trajectory in front of it.

[+] dmilicic|7 years ago|reply
If you don't know where to get clients or you don't yet know how to sell yourself, then I suggest applying to one of the premium developer networks like Toptal, Gigster, CodeControl or Pilot.

I found that selling yourself directly to companies as a consultant takes a different set of skills and requires more than just being a great engineer.

However, to get into these developer networks you only have to be good at what you do and their job is then to sell you as a great developer/consultant. You only have to know how to pass technical interviews.

At least that's my recommendation for when you are just starting out.

But to get great consulting contracts you have to pick a niche where it's difficult to find people and be good at it. For example, I got a large contract by just being good at doing bluetooth connections between Android and BLE devices.

PS: I have a referral link to Toptal, but you don't have to use it and can apply via regular means: https://www.toptal.com/#work-with-the-best-programmers-today

[+] sitkack|7 years ago|reply
You need two things 1) an accountant and 2) customers. Lots of people get thrust into consulting because they are given a customer.

Technical skill is required but not sufficient. Even average is ok. What matters is all the stuff around the technology. Most of it being diligence, follow through, following up and being predictable and consistent. You have those and you can write your ticket.

[+] szaroubi|7 years ago|reply
I would add to this the following points: - being 5 minutes ahead of your customer in terms of what is hot and useful (or: the second part is super important) - constantly ensure that your deliver value to your client ( if they negotiate you on price, bring it back to the value your deliver ) - good communication skills (the capacity to explain your thoughts in plain , concise language) - good situational awareness (understand your clients problems and solve for that (not the tech that you want to test) - get your ego out of the way, if your client or someone on their team doesn't accept your solution, raise ) argument once or twice, then stop. Your client understands his/her context better than you. If your solution is not retained, it is not a reflection of how good you are. - steernaway from internal politics. - build good personal relationships with people (your client, their employees, other providers / consultants) this will help you build your network and get more work.

Hope that helps.

Personally I had great projects and others were lawyers were involved. But all in all, switching projects every other month, meeting new people , playing with different architectures ... It keeps me sharp and super happy.

Again hope that helps.

[+] akulbe|7 years ago|reply
I'd add to that, as to some it's not always obvious… in order to get customers, you need to be able to SELL.

I'd argue sales is more important than the rest of what you need to do to get a successful consulting practice going.

It's common to focus on the technical skills above all else. That's a fatal mistake.

I speak from painful experience on this one.

[+] foobar1962|7 years ago|reply
1) Don't quit work until you have a couple of clients lined up.

Seriously, treat it like a side-gig until you make more per hour than the day job.

[+] msadowski|7 years ago|reply
Unless you are very lucky! I've felt really burned down at work and decided to quit without having anything lined up. I had savings that would allow me to keep going for 6 months and a partner who would support me if things went bad and I didn't find work.

I was lucky to get a long term project two weeks after handing my notice (the notice period in most European countries is 1 month) and from then on I had a steady stream of work.

Not feeling burned down I would never make a jump without any gigs lined up and thinking about it now makes me feel quite uneasy. Still, health is top priority so if you have savings or someone willing to support you then go for it.

[+] gk1|7 years ago|reply
I quit my job and lived off savings until consulting picked up. I don’t know that I would’ve tried as hard or gotten those first few clients if I was treating it as a side-gig in the evenings.
[+] topoftheforts|7 years ago|reply
On paper this is the most reasonable advice but it's not very realistic and it's definitely not the only choice. When I was thinking about quitting my job, I've encountered this advice a lot and it was very discouraging.

So I just wanted to reiterate for anyone really struggling in their day job, looking to quit: if it gets too unbearable, there are MANY options.

[+] bashwizard|7 years ago|reply
This. There is no magic to it really.
[+] franze|7 years ago|reply
define consultant?

are you solving a problem/challenge for them? you are not a consultant, you are a contractor, freelancer or agency.

are you telling them - and help implement the mindset and processes - on how they can solve a problem/challenge? you are a consultant.

or to paraphrase jerry weinberg: a consultant gives advise when asked.

if you are the second, read "secrets of consulting" by weinberg (and "are your lights on").

then, what is your product? what do you want to advise on? and find out why this would be so valuable to pay you 10k, 25k, 50k, ...

then, get a client, anyway you can and make sure you deliver 20x to 100x times the value than what you cost (note: make sure your client can and will execute what you advised, otherwise you did not deliver any value). make the client your reference case, market the reference case, go a month on a vacation, your next two clients will be waiting when you come back.

my consulting company: https://www.f19n.com/

[+] asark|7 years ago|reply
FYI: big scary SSL warning in (at least) Chrome when I click that link.

NET::ERR_CERT_COMMON_NAME_INVALID

This server could not prove that it is www.f19n.com; its security certificate is from *.easyname.com.

And so on.

( that'll be $1,000 :-) )

[+] r_smart|7 years ago|reply
Just a heads up: Firefox gave me a bad cert notice when I visited your site. You might be losing some business.
[+] Ylodi|7 years ago|reply
Certificate on f19n.com is expired. ;-)
[+] xfitm3|7 years ago|reply
The first thing I learned about consulting is that my job is no longer about technology. It's about sales, project management, and communication. Finding a niche (I found mine by accident) led to a lot of great opportunities.

Consulting is no longer about trading hours for money, it's about building your reputation and positioning yourself as a valuable asset.

[+] saasbuyer|7 years ago|reply
Never charge by the hour, as it gives a ceiling to your potential earnings. Charge by the job/retainer/etc and then spend a lot of energy becoming more efficient.
[+] softwaredoug|7 years ago|reply
But beware you take on a ton of risk, especially as complexity and size of project grows. Many clients will also divide the price by how many hours they think you’re working and still think in hourly terms...
[+] crispyambulance|7 years ago|reply
Different billing schemes are appropriate for different projects and clients.

"Time and materials" billing is totally appropriate if the two parties trust each other and the nature of the project is open-ended or loose about the deliverable.

[+] vbsteven|7 years ago|reply
Make sure you are really good at what you want to consult on. Find your niche. It helps if you've been doing the same thing as an employee for a while so you already have references. Or if possible start doing it "on the side" for a while to build up some experience.

For me my niche is making already built PoC projects ready for production and scaling those. So I target small startups typically with 1 to 5 developers with a PoC built, some traction and a good funding round so they can bring me in with my experience to stabilize/deploy/scale their product and build proper development, testing and deployment practices.

I've been doing that for years, first as an employee, then combined consulting with employee work and since 2015 switched to full time consulting. I have built up a network of investors and people in the local startup scene and whenever my current contracts are almost finished I start pinging those contacts for more companies that fit the criteria.

[+] DyslexicAtheist|7 years ago|reply
Depending on skills you can earn a magnificent hourly rate in comparison to full-time employment and have more freedom in the types of projects you pick. Location matters a lot though. Be ready to jump on a plane / train to discuss with potential clients. It takes a lot of grit especially if you build your own client base and wish to avoid middle-men who broker to the larger companies.

For larger firms though you won't get in without middleman (because of preferred supplier lists (PSL)). The bigger players pay you usually competitive rates (unless the middleman is fucking with you which is rare but happens), but you won't own the relationship with the client (the middleman does). Work for smaller firms and you run a higher risk of losing money, not getting paid or getting shafted simply because they think they can.

Ask a lawyer to help you draft contract templates which reflect how you envision any business relationship and then make your clients that you work for directly sign that (rather than expecting them to talk to their own lawyer which the won't do if they never considered bringing in a freelancer).

Find other freelancers in your region to speak to and get a feel for what they charge and how they go about acquiring new clients.

Biggest question when pitching to middlemen is "do you have any freelance/consulting" experience. If no this will be a read flag. So be creative to get your foot in the door.

Ensure you stay on their radar: Send your professional profile to every middle-man in the country and keep updating them with the latest version and your current availability.

Always say yes to any opportunity when asked for an interview (even you're busy right now with something else, or it is slightly off-topic for you). It's a chance to network and to practice your pitch (practicing the skills of interviewing and marketing your skills/brand is even more important than knowing your technical stuff, the latter should be taken for granted).

Gerald M. Weinberg's "The Secrets of Consulting" is excellent for anyone starting out in consulting or for those who consider hiring them (in any case your world might never be quite the same after reading this book):

https://www.amazon.com/Secrets-Consulting-Giving-Getting-Suc...