I have had success just directly reaching out to companies I wanted to work with. This meant I was at least proactively putting myself in front of them, instead of hoping they find me or remember me.
Came across this comment from another thread  that breaks it down a bit:
1. Go to https://trends.builtwith.com/framework to find websites that use the tech stack you specialize in.
2. Focus on smaller to mid-size companies (large corporations likely have the tech team and contractors to cover almost of their needs)
3. (Optional) Search for each company on Linkedin and add managers with relevant roles (VIP of sales, project manager, marketing manager, etc.). The goal is to familiarize them with your name so they're more likely to open your email (step 5).
4. Find the email format of these companies with https://hunter.io/.
5. Reach out to the most senior person with a relevant role at each company with a personalized 1-on-1 email.
The key here is to review their website and business and share 2-3 ideas of what you can them build or fix (if there are any glaring issues or vulnerabilities). They may not necessarily use your ideas but the goal is stand out and help them understand how they can put your programming skills to use. Here's a template you can reference: https://artofemails.com/new-clients#developer
There are a lot of businesses out there whose teams don't have the capacity to build everything so they would be keen to have a reliable freelance programmer help them bring some features or projects out of backlog.
Those things can definitely be part of a strategy and a lot of (but by no means all) successful consultants are known from speaking/blogs/books/etc. But it's also easy to slip into patterns where you're spending a lot of time and at least some amount of money for random generic exposure without any real sales/marketing strategy connected to it.
Another aspect of this is that large corporations have pretty byzantine processes for hiring/vetting vendors. A freelancer acting as a sole proprietor or single-member llc raises risk factors with being classified as an employee, and will likely have to get routed through a third-party staffing firm for legal coverage. Which adds friction and cost to hiring you. A multi-member llc or incorporated entity, however, can sometimes be easier to get approval for.
You bypass all of those shenanigans by focusing on the small and mid sized companies first.
When I consulted for a multi-national telecom company, the "paperwork" was easier to go through than for some startups. I filled out one form, sent my W-9, and configured auto-invoices to go to a designated email address.
As the scope grew and my invoices reached a certain number, they asked me to fill out one more form. That's all.
I currently work (as an employee) for a marketing agency doing analytics consulting work, and we're frequently used as a backdoor to get around internal controls, be it hiring specific subcontractors or unapproved technology. Because the SOW that allowed for (and specified) that passthrough cost gets approved by their legal team, it's an unofficial way for many of our clients to both stay within the lines while simultaneously bypassing internal roadblocks. A particular favorite example of mine was helping a client swap out their janky WAF with Cloudflare, and using Cloudflare Workers to do some magic header rewriting to solve a longstanding issue of theirs. It solved a business-impacting issue that had been plaguing the marketing team, and the client's networking team was super excited to work with me on it as they'd been wanting kick the tires of Cloudflare but couldn't ever get it pushed through.
That said, the situation I mentioned in the above comment is typically the official process at many Big Corps (at least in the US, where the contractor vs. employee classification is a very big deal). Some Big Corps are less risk averse, and virtually every Big Corp has tribal knowledge among the management on how to get things done when they need to. But you can generally avoid the issue entirely by focusing prospecting efforts downmarket at smaller enterprises.
I think some of the same magic involved in finding consulting clients draws parallels to getting large corporations to consider you for contract work?
e.g. my company currently has a couple of Navision consultants doing integration work for our invoicing system. Once the project is done they'll probably leave. I imagine they bill a lot per hour. Contrast to me (contractor) working on multiple projects, and I've now been there for 1.5 years.
Consulting is the practice of engaging a business/org/lob to address a larger, less clear-cut problem. M&A is for M&A Consultants who specializes in acquiring and merging. Out of the merger may arise a unit of work to be "contracted out" in cases where timeline and capability are out of sync.
Can you consult under contract? Sure, but being a contractor doesn't automatically make you a Consultant.
Consultants tell the client what to do.
Contractors are brought on to do what they're told.
The advice in the article is a lot about "do you need someone do to ___ task" or "are you hiring an FTE, and could you do with a contractor instead" and that's contracting, not consulting. It's still valuable advice, but you don't find consulting clients this way.
Yes, there are advice-only consultants and clients looking for that, but "consulting" is a bucket of work that encompasses a lot of different things. Trying to force a distinction is kind of elitist and not really in line with reality.
Source: been consulting for the last 12 years with firms of several sizes and focuses.
They are more outsources than anything. The management consulting tag is a leftover from decades ago.
Today, real management consulting firms are pretty much limited to McKinsey, BCG, Bain, and a few others.
My company does both of these (we're in tech), and I can authoritatively tell you that in the overwhelming majority of engagements this is a distinction without a difference. Over the past five years I haven't had a single client who just had me "tell them what to do". Typically, if we're being brought in, the expectation is that we will not only identify what needs to be done to solve the problem, but that we will also do it ourselves.
Okay, great: that means you're a contractor. In the past five years, all of my clients have told me, "Tell me what to do." (I'm a consultant.)
Rather, after we tell them what they should do, 99% of the time they respond with “okay that makes sense, can you give us an estimate for how much it would cost to have you guys do that? Because we don’t have the inhouse expertise for it”
Sometimes the answer to that follow up question would/should be: we don't do that, but we can help you evaluate and choose a vendor that does.
I'm sure what you describe fits your firm's experience, but it isn't indicative of the range of consulting experience.
I only tell them what to do. You can check out my site via my bio to learn more - I'm really explicit about that in my sample deliverables. My consulting engagements are purely read-only - I don't make any changes to their environments whatsoever.
In fact, what is even the shape of a "consulting" engagement in software development, where I am telling the client what to do, instead of doing what I'm told? Do clients hire consultants to build software without knowing at least something about what software needs to be built? Not trying to put up a strawman here, it's just that I've seen this distinction made elsewhere, but not clear on how it plays out in practice. I suspect the line between "consultant" and "contractor" isn't that bold.
Absolutely - that's what I do in the database realm. One common request is, "How should I re-architect this system to fix the problems we're having today?" Another common one is, "How should we be storing this data to retrieve it more quickly?"
This type of work tends to be very senior, very architectural. Another way to think about it is by billable rate - at my rate, clients don't want to pay me to do the work. They just want to bring me in for short periods to tell them what work needs to be done, and how, and they have their existing teams (or contractors) execute the plan. It's not usually cost-effective to hire me to do it (although, for the right teams and projects, I cut deals.)
Yes? All the time.
"I've heard about this thing called machine learning. Come assess how I can use it in my business."
"We have a problem where orders are missing their commit dates and we need something built to find those earlier in our procurement process. Maybe our new cloud ERP can help...?"
So they have some degree of knowledge around the success criteria (what) and the value (why) but even those need to be shaped up and agreed upon.
And then the design considerations, approaches, tradeoffs, constraints, risks, options, etc. (the how) is somewhere between directionally correct and nonexistent.
Imagine you're selling ERP systems and you have a client who says "we need an ERP system that has features X,Y, and Z" versus "we think we need sometype of system to manage our business"
Which client do you prioritize? Every good sales person in the world will tell you the first one.
If you're selling ERP consulting where you go in and help clients figure out what they actually need, client #2 would be a better prospect because client #1 doesn't need your services. :)
But even in that circumstance I'd rather approach a lead that says "We need a consultant to come for a week look over our processes, and help us decide between these three ERP based on this criteria" :).
Companies who have no clue what to do but have a pile of money to burn tend to bring in big blue-chip consulting firms.
I've found that a large portion of clients that have vague idea of what they want are window shopping or very early in the purchasing process, that usually when I have vague requirements I'm usually pretty far from writing a large check. And it's really difficult(for me at least) to tell the difference between "I want to write a large check to solve a problem which I don't have any proposed solutions for" and "I have no idea what problem I want to solve, and if I even want to solve it, but I'd like to bring in a highly paid expert and chat with him for free to figure out if I even want to solve this problem".
Uh, that's literally what my clients hire me to do. I don't do any of the work for them - I analyze the current situation, and give them a checklist of what to do in order to solve their problems. I don't do the work.
I've seen things that look like this on the surface play out numerous times, and at a deeper level it always turns out that what's going on is something different.
Example. SURFACE: Startup CEO hires consultants to tell him the next product line for his company. WHAT'S HAPPENING: CEO sends consultants off to do surveys, competitive intelligence, spreadsheets with made-up numbers, literature reviews, etc etc to build a case for what the next product should be. Also provides the slightest of hints that product X is something they should be looking into amongst other things (just a suggestion of course). Whenever consultants make recommendations that advance the agenda of company getting into product line X, recommendations are followed. For all other recommendations, CEO sends consultants off to do more surveys, more competitive intelligence, more spreadsheets with made-up numbers. BENEATH THE SURFACE: CEO woke up one morning, having decided to do product X. Needs to make it look like something other than his sheer whim. Hires some excel-monkeys to create a trail of documents, meetings, scribbles on whiteboards etc. Decided to outsource the excel-monkey work because he didn't want to distract his actual employees from doing the work that actually needs to get done to keep the company going.
Other example. SURFACE: Network incident response division in major international telco corporation hires consultants to determine the prioritization function for network incidents. WHAT'S HAPPENING: The network is rotting away. Every day, more incidents get created than the company has resources to address. There's a hiring, spending, and capex freeze, so there is no way to get the resources that are needed. On regular intervals, mid-level managers get shouted at by top-level bosses about why on earth they didn't give priority to fixing that one network incident that resulted in Tom Cruise being without a signal when golfing last weekend that resulted in a lot of press attention and ultimately even an enquiry from the regulator. Whenever that happens, mid-level managers change the prioritization function, to try to appease top-level managers. They have already done this 3 times this year. Then they have a great idea: Let's hire some consultants to determine the prioritization function. BENEATH THE SURFACE: They know that the whole endeavor is futile and doomed to failure. No matter how they prioritize incidents, the network will keep getting worse, and angry tweets from Tom Cruise about the shitty network will become an inevitable element of the brand. The outside consultants were hired as scapegoats. Next time the mid-level managers get shouted at by top-level bosses, instead of saying "Sorry, but we will really really get it right next time" they can say "I am just as shocked as you are! I told you we shouldn't have hired those moron consultants! But us mid-level managers, we will still be getting our bonuses this year, right? Because, ever since these consultants have been here, we ourselves, didn't screw up. Not even once!".
...I hope you see where I'm going with this.
Actual opportunities to make actual meaningful decisions are the rarest of things in business. You chance into one only rarely in your carreer. And when you have one, you don't ever give it away. No one does that.
It all started from a former colleague who’d moved onto a new role and asked me to help them set up their CRM. This colleague talked to their friends, I started mentioning it in casual conversation and more referrals started pouring in.
This process of working nights and weekends meant I could scale it without pressure.
Your network will be your best asset early on because you have no brand awareness not evidence that you can do the job. Folks will be working with you because they know and trust you.
We’re now at an inflection point where that method of driving business won’t scale as fast as we want so we’re now relying on channel relationships we’ve built with the CRM provider. We also work with consultants in related fields that don’t want to do CRM work which has been a huge boost to our bottom line as well.
On the flip side I have a friend trying to break into devops consulting who couldn’t get a single customer despite relying heavily on his network so take both anecdotes with a grain of salt.
The reasons its pays so well are several:
1) Most CRMs are initally setup by non-technical users and suffer from a litany of performance issues stemming from bad architectural decisions (i.e. lets do all our analytics in Salesforce Apex (java-like) code instead of a mainstream ETL solution).
2) The process of customizing a CRM is the epitomy of enterprise development, there is a severe lack of standardization and many examples of close but not quite: Salesforces SOQL is kind of like normal SQL but with lots of weird quirks, Salesforce lignteningforce components are like some front-end frameworks but not quite and with lots of weird quirks.
3) Most development knowledge is tribal, meaning you learn Salesforce by going through the trenches and then that knowledge lives or dies by you and your team. It's difficult to learn and train for legacy development (training docs are often for the ideal cases which rarely exist in the wild) thus you get to charge whatever you want. Often the really tough questions can only be solved by wading through the customer support muck (if your licensing allows it) until you get to denvercoder9.
4) Every few years the Sales reps of the CRM company shove new development techniques and methodologies at their clients which can mean a large refactoring or migration is needed.
All of our work is remote so there's no face-to-face per se but we do come on-site or take them out to lunch every quarter or two
Because as a developer I know where to find tons of developers, I have a large network of developers. But the only type of software they or their employers want to buy is staff augmentation.
If it's just you, how are you billing? If you're working on a day rate, 100k/mo is something like 5k/day, which seems high but not absurd. Or do you have retainers or something where you can essentially bill for access rather than time spent?
I pretty much agree that everybody kind of faces the same question and feelings. To be honest, I might have taken a small leap of faith as I pulled the trigger before securing a client. Though the only reason I felt comfortable with it is that I've been in the space enough to be pretty sure I can land a client in the first month or so (seems like it's happening).
The best advice you can have is 'talk to people'. Most starters think you're BSing them, but nearly everybody fails to leverage their network. You can't go indie fresh from college but after a couple years and some projects it's easy enough.
Talk, talk and talk some more. Don't be shy to send emails and chat people up on LinkedIn. Works wonders once you put yourself out there. Look at your contacts list now and you can surely find at least one that would be able to get you started with some work now or in the very near term.
The reason everyone keeps iterating on the same 'general/bland advice' is that it really is the bread and butter of it. Talk more, can't say it enough. Be honest, be respectful, don't spam, but don't be shy to talk to strangers in your line of work.
Not sure if this helps anyone, but just wanted to say it's easier than most of you think. You need a marketable skill, a minimal network and to talk. If you're doing honest work, things pick up on it's own.
Known pitfalls - there's more to running a consultancy than just talking and working, admin work takes a lot of time as well. Plan for the extras.
Depending how you look at it ie. Building networks or just chatting people up can lead to very different outcomes. The above was mostly focused on the 'getting started' part. Though the 200+ setup is successfully run by a team of 7 or 8.
Things change as you scale and the approach that works on smaller mumbers does not work on largers and vice versa.
Feel free to ping me on email or otherwise if you'd like to chat.
It is a balance. Turning down work is dangerous, and the generally opposite of why you're in business. But giving other firms too much leverage will kill you just as dead as insufficient work. I started getting nervous when one company was over 50% of our income, but there was disagreement about urgency and what exactly to do about it with my partners, and we dithered until the bomb went off.
For people who are reading this quickly, this is the magic that makes saying no ok. If you are just turning down client requests they'll stop asking. Most people are extremely busy so they really appreciate having a "go-to guy" they can send any requests even vaguely related to what you do.
I guess I should add, this was in the 2000s. We started the company in the aftermath of the dot.com crash. Getting work was a major challenge, and turning down anything felt like asking to be made homeless. It is a very different market now.
Also, I tend to do 80% of my work with the same two clients - professional services firms that subcontract work to me. On one hand this is obviously a risk, but I know that I'm the most profitable consultant for one of the customers (significantly more profitable than their in-house consultants) and when I get in to a time crunch it is easier to deal with because a lot of the time it's a conflict between two of their projects and not one of their project s and one unrelated to them.
How were you able to create these kinds of relationships with the professional services firms?
Though as you say, if you can directly find the people who are looking to hire you even better.
When I started consulting/contacting 1.5 years ago I did start with a freelance site and at this time about 90% of my jobs still come from there. I would much rather have clients from outside of the platform but I don't find it easy to close them.
I need to point out that I'm in a very niche field (at least on Upwork); On average month I see about 3-5 quality jobs I can apply to and quite often I see them getting less than 5 proposals. I expect this wouldn't be a case for web development projects.
This is all about "freelancing" and subcontracting, and may serve as a helpful intro to the person who isn't already in this (well-trod) labor market.
Once you're established, I find that people don't think about "finding new clients" so much as "winning new contracts" - which (as you point out) - is entirely different.
If you're trying to win big projects (vs "find clients"), you probably have a small team already, and then yes, that's when you really get into RFPs, etc.
In the beginning though - I would advise against going after big projects that need multiple rounds of selection, etc - and instead focus just on relationships. Then, once you have a small base of clients, you can decide to go bigger from there.
I've been doing laravel/fullstack since 2013 and vue since 2016. I also know basic devops stuff. How to use aws. I've even used ML recently with aws/rekognition and python/nltk-rake. I'm horrible at selling myself but I can't take another < 60k year - when I know I'm worth more than 100k.
Sure I have some things bookmarked from previous HN threads like open-source- contracts to use,
contracts, communication tools, project management, milestone sharing, invoicing and such perhaps?
demo - sketch mockup sharing and such?
whats the popular freelance tech stack these days if one was going to go this route today?
I try to be as honest and forthcoming with each client and I've basically hit a cap now in being able to add any new ones and deliver the experience I want to each client. Scaling is the most difficult part for me right now since all my clients are quite varied. Some of them are web apps, other mobile apps and others just pure cybersecurity. They're so vastly different from each other that it's a bit difficult to hire someone who can handle the diverse amount of work. Also, I think for the amount of work I do, I should probably have much bigger retainers, so some clients are $1,250 / month, but jesus is that hard. It should probably be at least $5,000 /month.
For me tho, I've learned so much about business and my technical skills have skyrocketed. I honestly feel like I can tackle any problem in the world and it's a powerful feeling. I make decisions based on the problem its self and have no loyalty really to a specific technology. I understand why a client may want to use WordPress and why a client may want to use Kubernetes. Some clients want to just do servers using Linux and that's okay. I've learned that more basic technology (like bash) can be hugely beneficial to trying to write your own solution. When you're under time constraints, you start to have some pretty creative solutions, and not the creative where it breaks later, the creative where it does exactly what it needs to do, but it's done in 1 hour instead of 1 month.
The best advice I could give is to basically be brutally honest with each client, do the best work that you can and always reply in a timely manner, regardless of what's happening in your life. So many consulting companies are slow to reply, or don't really care about their clients on a personal level that clients will really love you if you spend time thinking about their business on a personal level, being responsive and just being honest when you're overloaded in work.
It is a stressful business tho and I'm in the alpha stages of a product I'm working on based on the problems I've seen over the years. It'll be interesting to move from consulting to a SaaS product. The transition being the consulting provides the funding to be able to work on the SaaS and then hopefully the recurring revenue outpaces consulting eventually and I live a less stressful life!
I also strive for instant response time (my wife hates that) and often, I'll already be working on a client issue that the servers emailed/paged me about by the time the client gets in touch (that definitely impresses them).
So, the typical pattern is this: I meet a new client, understand their needs, build a RESTful API back-end (Python, Django, Terraform, AWS), automate any internal processes and/or build internal tools, and then support their front-end team in building their web/mobile apps that consume the API.
Usually, it's a few days to a couple of weeks of full-time work, and then my hours drop off a cliff: either 1) the client's team takes over completely, or 2) if I stay on, any subsequent feature or issue takes just minutes for me to do, so then I'm back to square one, looking for the next client. So far, I've been lucky enough to make all the clients happy and have them become "clients for life," but that "life," added up between all the existing clients, is just a few billable hours a week.
Any advice for me to break this pattern?
Charge way more than you're charging. If you're successfully building our their entire backend, their internal tools and their automation in a few weeks, you should be charging for a few months instead of a few weeks.
In your case, it sounds like project work is better for you. I wouldn't recommend that you work hourly since that's probably where you're being burned. If you quote a REST API, automation system and internal tools for $10k-$30k and you finish it in 2 weeks, then you're golden and so is the startup since they just saved a lot of time.
I would highly recommend that you get on retainers with your clients. If they appreciate your work, and need help from time-to-time, you shouldn't be charged for 1 hour whenever they need you. They should pay for you to be available for them, so perhaps try to get on $500 - $1000 / month retainers. They may only need you a few times a month, but you're not billing them for $100-$200 for 1 hour of work, what a bad deal for you (and a great deal for them!)
But it takes work and isn't for everyone.
Every time I attempt to go indy, I land a good lead, go through the preliminary stages, and then the deal goes flat. It's almost like there's a blacklist out there and my name is on it for some reason. I know that is likely untrue and I scour Google with my name to see if some oddity comes up but really there's nothing. It should be no more difficult for me than others and yet it has been.
If you're getting that feeling due to your HN account, it's because you're shadowbanned. Only people with showdead will see your comments. It's actually really impressive how you've managed to write hundreds of comments to void for the last half a year without picking up on the hint.
There's a good chance you're not picking up on hints IRL either. Maybe ask a blunt friend what they think of you? The industry is small and people talk.
For example, I was negotiating an initial 5 figure contract but they were so impressed that they were talking about 7 figure contracts if the first one went well. Then I didn't hear from them for a month which was strange given the prior behavior. Turns out they were hacked via a third-party contractor, and the top executives made a knee-jerk decision to ban all third-party contracting. My contact person either resigned or fired because he signed the particular third-party that got hacked.
Isn't it already like decided? Almost everyone going into IR35 from April (I think?) 2020?