Ask HN: How to Become a Consultant?

227 points by edem ↗ HN
I've been working as a programmer for almost 20 years now. I have experience with the JVM and the Node.js platforms and what's necessary to keep them operational: containerization, cloud computing, databases, etc.

I think I've reached an upper bound as a grunt programmer. I tried management as a new direction but it didn't work out, I just can't do it, it makes my life miserable. I noticed however, that I have a unique ability: I really like talking to people (including business folks), wrapping my head around their problems and figuring out robust solutions for them including all the models, documentation and preliminary implementations (POC/MVP). I'm also good at sharing the knowledge (right now I'm working as a tech trainer).

I did this a few times as part of some contract work and everybody was very happy with it but I don't know how to scale this into a consulting business. What I want to keep doing is getting projects from 0 to POC/MVP state. I can help putting together teams, figuring out the architecture, and concrete solutions / algorithms, but if I keep doing the grunt work instead, it won't pay that well. So to sum it all up I can apply my skills in an area that has higher returns, but I don't really know how to get there.

What should I do to achieve this? What makes this harder is that I'm not living in the USA (I live in Hungary, Europe).

Edit: I quit my day job half a year ago. I was thinking about a sabbatical, but people from my network started to appear and now I'm swamped with work. What my goal is to streamline all this and turn regular grunt programming into a specialized format where the ROI is much better.

I also have a business partner who has similar ideas but a different skill set, and I'm trying to shape this into something that's more effective.

I already have a blog, a GitHub portfolio, and I'm regularly talking on meetups, but you are right, I need to focus on this much more, thanks for this tip!

65 comments

[ 4.6 ms ] story [ 132 ms ] thread
Did you consider becoming a solutions architect?
It is funny that you ask this, as I've just began [this][1] learning path on AWS. Having the knowledge is only half the story though. I'm not good at sales / finding business partners. I'm good at solving their problems.

[1]:https://aws.amazon.com/partners/training/path-tech-pro/

Have you thought about working for a tech consulting firm? It probably won't pay as much as freelance, but you won't have to deal with sales and bookkeeping.

Or: the other day there was this article here on HN about an agency for developers. I can't find it right now, I think the title was "The cost of the developer" or something like that, original article on The New Yorker, iirc.

Start with your connections. A 20 year career suggests you have worked with lots of people who respect you and trust your work.

Use them to test your market. Before making the move, send an email to coworkers you had strong relationships with (bonus points if those coworkers are nontech) saying you are starting your own consulting company that will build out sites/apps/tech. Ask in it if they know anyone they would introduce you to.

While I don’t think there is an answer other than “get lucky”, it’s important to get a sense what your early deal flow will look like, especially for financial planning.

The solution for your situation is to connect with someone formerly in sales, or maybe a former CXO with an extensive rolodex that the two of you can systematically connect and talk with and discover needs that you can start to solution and then team build to solve. How you do that- can't offer specific advice. But 90% of consulting is relationships, and by the stage of career you either have them to mine or you do not. Ok to not have them, just need to connect with someone who does. Bonus if you can do this in the US, the lower cost model will serve you extremely well. Good luck.
I was a consultant for six years, and the single biggest thing I think is different between standard employed work and consulting is the number of people you have to talk to in order to get paid regularly.

I think I likely had 25-35 conversations for every bit of paid work, and probably an extra 100-150 of handing out pre-made marketing materials or giving talks before that. The sales funnel takes a lot of time. You don't necessarily have to like the sales process, but you should at least be able to tolerate it or consulting will be very hard.

I would suggest:

* getting some sort of American and European business entities stood up where it is easy for companies to pay you. I believe Stripe Atlas makes this straightforward now for the American side (but I have not tested)

* writing blog posts, recording YouTube videos, giving talks at conferences - anything to get your name out there. You want something where you draw attention to yourself and people can say "who is edem?" and then look up your website and discover you have a consulting business

* figure out how to get a list of 200-300 people with buying power at their organization and reach out offering services. Target your conversations to their needs, like, "hey I see you have job opportunities for Big Data Architects, would you be interested in some consulting work to bootstrap your efforts?"

* be prepared that sometimes you won't get quite the consulting work you want. Sometimes you might hope for a software engineering consulting role, but you might get asked if you can advise on how to hire people like yourself. Money is money.

* ultimately, work hard, try lots of things, be flexible. Most attempts probably won't work, so the ones that do should pay you very well. If you are doing 75% sales and marketing at first, 25% coding... that sounds about right.

If that doesn't interest you, Solutions Architect (or even Sales Engineer) might be a better fit. These are pretty common roles at medium to large companies, but they come with a lot more assistance in the sales and marketing pieces.

In my experience, scaling a consulting business is more to do with sales and building long-term relationships. Sales is a skill that can be acquired, and you don't have to be very good at it to get started. Learn the basics of business development and sales; try experimenting with different approaches. See what fits you best.

IMHO, I think the problem is "getting projects from 0 to POC/MVP state." These are projects that typically have an expiry. Either the MVP fails to validate its viability, or when it succeeds, the business will try to find someone who can commit full-time. It's hard to find something in the middle. More often than not, consultants who position themselves here spend more time on finding new contracts than doing the work. Since once a contract is completed, there is little continuity to it. Aside from a small maintenance contract, which is not enough to keep the light on. Doing the work pays, searching for work does not.

Another problem is, you are in the space where you have to compete the most, and therefore "building MVP" contracts become a pricing competition. Competing with offshore dev shops on price is hard to do.

So, to sum up, in my humble opinion, you need to spend time upgrading business development and sales skills. Think about what unique skills you can offer that are less price competitive in the market and offer you a long-term contract. I hope this helps.

Thanks for the insightful advice, this is very useful.
> upgrading business development

Any tips on that?

I can only tell from my experience. It's probably not applicable to everyone, nor is it the best path.

In my case, I have been involved with many startups in the AI/ML B2B space from the early days of my career as a software developer.

At one point, I recognized that if you want to build something great, it really helps to listen to the customers and the prospects. So I started to shove myself into a hybrid role of sales engineering and software engineering. To get started on the sales engineering, I reached out to all the business developers friends and asked them to share their frameworks, processes, and learning materials. Also did a lot of Googling to educate myself. Then I asked the appropriate people in the company if I can join small-stake sales call. To start with small-stake calls and learn how things work. It did not take a long time to start receiving invites from the sales to help with high-stake customers. Since in most cases, people who can build and sell (you don't have to be the best at either) are rare and needed.

This sounds really interesting. How would you define what Sales engineering is?
In my view, it's the person who is able to understand the business problem the customer is trying to solve, then evalute if the problem is something you or your company can and want to solve. If the problem is something your company want to solve, provide the technical evidences during the due diligence process to the prospects that you can solve their problems. In my case, this also bridged nicely to help out the existing customers to get new things done quickly.
Thanks, this sounds good.
In cloud software at least, sales engineers/solutions architects work with the account manager to drive adoption of services. A lot about evaluating a customer's problem space or existing architecture, and proposing possible cloud-native architectures.

Sales engineers also do educational sessions and service-specific "immersion days" for the platform, which usually tie into the customer account manager's sales and advocacy for the platform, and helps to build relationships with the customer's engineering team.

This sounds exactly my cup of tea.
I worked in a customer facing role for a while it gave me a better sense for vendor relationships. I say it's worth it if you are curious.
I wonder if building MVP contracts is a very price-competitive market, at least in terms of how I interpreted that domain as the the OP describes it.

I believe there is a lot of value in helping clients determine what an MVP should be (i.e. understanding of the business problem to be solved) and then help them validate solutions by building (or helping them build) an MVP. It appears the OP has the skillset to do both, and off-shore dev shops can't do that.

Plus, you need a good understanding of local practices, culture and market to be any good at this.

Yes, this is a good point. Thanks!
I've done a few contracts as an independent in the last two years completely agree that sales is the most important and is also the hardest.

I disagree with you when you say problem is the 0 to POC/MVP (excluding sales). I think that is the easiest and most fun part of a project. The hardest is 0 to first line of code.

When you complete part of the POC/MVP and it seems to be working, clients understand what you are worth.

In my experience, after the POC, managers had no problem boosting the budget because you've proven you can do the job and there is low risk in giving you more work and freedom to continue adding features.

I might have been lucky to get along really nicely with all of my clients yet.

Finding the initial problem is the hardest for me. All of my contracts were from previous contacts and someone knowing someone...

If anyone has it the other way around, I'd love to learn more.

> I did this a few times as part of some contract work and everybody was very happy with it but I don't know how to scale this into a consulting business.

Save up some money, then quit. Devote ALL of your time to it. Once you're spending all of your time on it, you have a consulting business. You will figure out over time how to optimize your business, find the clients you enjoy working with, earn more money, etc.

It sounds like you're concerned about finding new clients? There is a market rate for your services. As long as you charge that market rate and do good work, you will find clients. Client will refer you to other clients. Some clients have an unending stream of work, etc. Getting started can be a bit difficult, look for clients where clients are looking for you (angel.co and similar sites). Now is a good time to get started, there is a mountain of work out there.

0) First step: read Jerry Weinberg "The Secret of Consulting"

1) Understand that Consultants solve problems when asked for against money.

2) People need to start asking you to solve their problems. So first step is to tell people that you have the potential to solve their problems. So I recommend to start giving talks on (virtual) meetups, start publishing in some way (articles, blogs, podcasts, newsletter, video) either your own and/or contributing to others.

3) When they start asking, make a 1h free. Create as much value as you can in this 1h for them. Do not give more than 1h free.

4) Every contact gets into your newsletter. Send them out regularly. Always create value for (for the readers).

5) Accept and anticipate long sales cycles. Between 1h free and a final sale might be half a year, a year, two years.

x) At one point you need to write a book.

That is what I did, worked quite well.

If someone wonders how to create massive value for a client in 1h, this is the way I do it https://medium.com/@franz.enzenhofer/the-systematic-1h-clien...
Thanks! That was an interesting read. You talk a lot about how to understand the client but not at all about how that translates into whether it's a good client/consultant fit. Did you write about that somewhere?
Not OP, but it's good if these two are met:

1. You and the client can converge on what should be done.

2. You have the skills/experience/whatever to help the client do that.

Lack of #1 is bad because you could end up signing up to do work that you believe is the wrong solution (or solution to the wrong problem) and end up being ineffective.

Lack of #2 is bad because doing things that are too far from your expertise will result in worse outcomes.

Thanks.

I spotted a couple of misspelled words ('Ressources', 'has lead') so it may be worth running the article through a spell-check.

That's great, I'm gonna take a look!
I have been doing this successfully for the last 8 years (and in the later years earning significantly more than I could as an employee in Europe) so hopefully my advice can help you.

You need to figure out if you just want to be an individual consultant or hire other staff. If you're looking to build out a business with employees it will be much more challenging as you will need to be a full time sales person, always making sure you have enough work in the pipeline to make sure they get paid, rule 1 is that staff always get paid before you.

I would suggest you find like minded individuals and partner up with them, that way when one of you has a bad week or you need a holiday the other/others can pick up the slack.

Seeing as you have so much experience you should be able to lean on previous employers / colleagues to get contracts, this is how we started out. Once you have a few projects under your belt and a decent website you will need to see if you're getting enough work by word of mouth from previous projects or if you need to invest in marketing. If you stay as a small team it will be much easier to do well via word of mouth if your quality of work is good. At the end of the day it's all about your network and driving quality projects into your business.

I would strongly discourage you from only bringing projects to the POC/MVP state. This is what we did initially but you need a far higher throughput of projects and you're in danger of leaving clients high and dry if they want the idea built out further.

That's how we got started anyway, best of luck with your venture!

> What I want to keep doing is getting projects from 0 to POC/MVP state

If you can reliably find this kind of work, then go for it. But what I've seen as a consultant is that everyone likes to do that part, but what clients usually want to contract for, and what makes money is the steady, often boring, implementation part.

Targeting the MVP work you are often competing with others who will heavily discount the initial work hoping to get the lucrative implementation. What makes it harder is the uncertainty involved, there is a high bar to being trusted enough contract for something that had not been defined yet.

In the management consulting world which I am more familiar with, the distinction is between "strategy" work - the focus of well reputed (in some circles) firms with very strong networks like McKinsey, and implementation or "transformation" type work from IBM or a Big 4. The dream is to be McKinsey and come in and demonstrate a brilliant plan that others are stuck implementing, but the reality is that that kind of work is tough to sell.

I spent the last 4 years consulting, and I just last month deliberately wrapped up with my last two clients, because I know if I keep just stringing along on slow lingering projects with them I'll never get serious about finding a new fulltime job.

The people who tell you that this is as much about sales/marketing/relationships than any actual technical topic are so so right. When I started out I didn't deny that, I just didn't realize that its not an abstract concept you need to be open to, its a full third of your manhours you need to grind. You need to be contributing to open source, writing blogs, doing videos, helping out in community slacks, going to conferences, attending meetups, giving presentations/talks, etc constantly.

And thats just the background stuff. With your clients you need to relentlessly be the one who follows up, asks for work, ask for introductions, invites people to things, etc.

Then comes the "relationships" part of the work-dynamic, which is overwhelmingly one-sided (like most vendor relationships). You need to be the one who repeats yourself endlessly without getting frustrated, who doesn't take being ignored and schedule-bumped personally. Who politely handles not getting paid as an administrative kerfluffle not a rude form of apathy driven wage theft. You need to have dozens of conversations with people over and over about wether or not you are worth it to spend the money on for this project. Usually your direct contact will be kind enough to express shame over it, but its still an inevitable part of the multi-layer-management/budget-approval process.

I’m a software engineering looking to work on a project of mine. I’m looking to learn from others’ software engineering experience. I am interested in learning from you. I would be happy getting on calls and paying per hour. Let’s discuss?

Side note: How do I find consultants for: React, React-Native, Node.js servers, Chat client-servers, and architecting/planning solutions?

Can there ever be a legal issue with me getting some knowledge from others and applying it in my work?

Can you tell more? How do I contact you?
Work through a consulting agency and then branch out on your own once you know how to find leads.
I submitted a link[0] of a Twitter thread to HN[1] explaining how we do it.

I often see this question pop up, either in the form of someone wanting to freelance, or someone asking about how to deal with clients. That thread has a few pointers and could be useful.

PS: For context, I live in Algiers, Algeria but we have a presence in Paris, France. All of our clients are in Europe. We make bespoke machine learning products for enterprise at different degrees of maturity (from "I want in on the AI stuff" to "we have an in house data science team but we need help" all the way to "we are an R&D arm, specialized in artificial intelligence, of a major group and I co-invented something you used to get here, how can you help us innovate faster?").

[0]: https://twitter.com/jugurthahadjar/status/131066829330549965...

[1]: https://news.ycombinator.com/item?id=24809257

(comment deleted)
If you don't want to go through the added risk and uncertainty of trying to create and run your own business, you can get the parts of the job you seem to enjoy by looking for positions as a "Professional Services Engineer", which is usually a weighted blend of consulting, engineering, and sales (in that order). Professional Services Engineers also tend to be better compensated than their internal product engineering counterparts because the PS Engineers are closer to the revenue stream (their $$$ time is billable to the customer, and thus they're a revenue generator for the company), so it's often easier to justify and negotiate for higher comp. You also get to rapidly grow your network of people in industry, and if you're strategic about your relationships and on-site engagements, you can often establish rapport with executive level folks as well.

If I look back over my career, the single greatest accelerant along the arc from programmer to co-founder & CEO was my time spent learning, working, and networking as a PS engineer.

Be careful using the title "engineer", depending on where you work. Here in Canada it is illegal to use the title unless you are registered with the provincial engineering order, and they will charge you $.
You need to build an audience on the internet to get a steady pipeline of leads.

It sounds counterintuitive, but, share everything you know on the internet for free (Blog for SEO), and then collect emails at the bottom of each post promising further valuable information.

You’ve now got a list of leads who think of you as an expert and specifically need help with your niche area. You need to email them regularly with further valuable information to keep them engaged. Occasionally sell your services to this list, while keeping it mostly informative so people don’t unsubscribe. This will become the “inbound” portion of your sales funnel.

Next, you need to create the “outbound” portion. Using your email list, send out a survey and find out what type of people are looking for consultants in your specific niche.

Once you have a good target profile, troll LinkedIn and create a contact list that fits the profile, and systematically reach out to each of them. You also should share some of your content posts that you think would be relevant to them (and that have proven to be popular) to both establish trust, and also potentially get them on the email list (not everybody needs help right now but will later).

Once you have an inbound and outbound process that’s working and you can calculate what percentage of leads eventually convert, scale it up. Hire virtual assistants to automate and dabble with ads.

Now you have more work than you can handle and have the beginnings of an agency where you can sell other people’s time for even more profit.

This is a great idea. I already have some bits and pieces there (a blog for example) but this somehow never occurred to me.
Is this your actual experience? Can you provide more specifics? I can’t imagine too many people hiring consultants from pure Internet marketing.
Yep, but you don't have to take my word for it.

Google for information on pretty much any business niche area. It has to be niche. It can't be broad like "web development" or "web design." More like web development for automotive suppliers who use Magento for large B2B orders.

Doesn't have to be tech related. For example; M&A tax issues, defending age discrimination lawsuits as a small business, investment advice for American expats in Europe, increasing crop yield for soybean production, etc. etc.

If you don't see blog posts from a consultant or company who sells to that niche, look up the google search traffic for the specific phrase you used, and if its significant, then you've discovered a business idea.

You can bet in the next 10-20 years every single one of those niches is eventually going to be filled and the competition is only going to get worse. The best time to start is now.

This is what the typical hacker News poster says. It is a lot of work and will take a lot of time.

An other way is to get in touch with your contacts working in companies that have problems you can solve.

Just to let you know OP, HN doesn't show your email in your profile, so even though you ask people to send you an email, it's no where visible. You need to add the contact info yourself in the "about" section.
Oh. I fixed it, thanks.
> I already have a blog, a GitHub portfolio, and I'm regularly talking on meetups

Depending on who your customers are, none of this may matter. If you want to be a consultant, you'll be implementing solutions. I don't hire electricians based on YouTube videos where they show how to test wires for shorts (though that would be useful if I was hiring for my service business)

I would recommend you keep your current web presence, and then create a second set (website, Twitter, etc) where you are specifically targeting your customers and highlighting your expertise in a results-focused manner.

Also nail down whether you want to be a consultant or a contractor. Those are two different roles.

I've done the same, branched out to consulting for a year. Mainly for international organisations. The advices here differ in what constitutes consulting. Mine is a bit different since I exclusively do NGO/Govt.

If you want to take this path, begin with a job doing consulting work for govt/public sector (mostly the international organisations will hire for coordination/short term consulting works). Then show you know way more than they need, then build up connections to further advance your consulting network.

I wrote a few applications for projects.

I got one project that took 6 months.

I repeated.

As a dev I would make enough money in 3 months to pay my fix costs for a year. So, I only needed 1-2 projects per year.

If you write 10 applications a month, which isn't much, and you only need 2 projects a year, you only have to succeed at 2%, which isn't that hard.

(comment deleted)
In my company, salers are who can make a deal without complete product. That's it. You can talk about other's product that you want to achieve.

So the point of consultant is, you need to understand what to deliver instead of what to have.

Good to hear that you realized that management is not for you; it's not for everyone.

Alas, being a consultant is a lot about being in sales, how are your selling skills?

I think for a while you need to continue what you're doing, as you're doing; AND - along the way - investigate ways on where to bring your consultancy. Besides the usual suspects of books on selling, I also recommend the following reading:

* So Good They Can't Ignore You: Why Skills Trump Passion in the Quest for Work You Love * https://www.joelonsoftware.com/ * Rework * Little Bets * http://www.paulgraham.com/articles.html

I don't really know. I never learned sales, but I sold Kotlin to a lot of companies successfully in the last few years. It is something that I think I can do if I put the time in.
What if you simply found a few projects people are working on and consulted for them until they got their MVP to market and iteratively improve the product market fit until they have a revenue stream that allows them to pay you for the work you've done? Then you can use that income to do it again for some new projects and get a good reputation built up. I believe you need to initially build a reputation in order to have something to attract clients. It's something I'm doing currently on the side. I both want to see my friends become successful and I also believe if my skills can help them achieve their goals it will validate my strategy. I have about 3 years of pre-sales engineering experience and lots of software development experience so I'm not far off from where you are it sounds like. Best wishes, I hope you find a nice groove :)