Ask HN: How do I start my own consulting firm?
The stuff we now work on in the company is quite complex - a realtime trading platform with tons of inner components, complex logic, large codebase. To me seems like we got quite experienced and gained precious expertise by the moment. We have the ability to extend our expertise to other fields as well.
Now I feel like my career path now is to establish something on my own and work on a product.
I talked to my colleague about his will to join me as a partner in growing our own business and it looks like we are on more or less the same page about what we want and should do.
Here is my plan:
1. Do preliminary research. Prepare the basement in form of a site with portfolio, our focus, expertise and articles.
2. Start looking for projects online to work on for companies as a contractor team. I will bring us some coins for the first time.
3. Setup the business processes and make the workflow stable and profitable.
4. Keep working as a team for clients and start working on our product ideas.
5. Switch from contract work to our products gradually.
Here are my questions:
- Willing to find projects for a small team (2-4 members) of developers/designers should I look for larger projects in a different way?
- How do I identify that a company might be in need of a team like ours? I don’t want to spam everybody trying to catch a project.
- Should I prioritize our online sales channels over local ones?
- Should I partner up with firms like ours? Contact them and show our offer so that they could be interested in subcontracting with us?
- Should we have mentors/coaches?
- Should I hire a salesperson to look for projects?
120 comments
[ 4.0 ms ] story [ 180 ms ] thread0.1 Start marketing. Something as prosaic as a blog, if necessary. Demonstrate your capability. (Capability does not mean technical skill. It means your empathy with another human to understand his/her pain, and show him/her that you care. You demonstrate caring by talking simply and clearly. If someone understands you, they feel good about themselves. If you are talking simply and clearly, that means you have taken the time to really give a shit about the other person).
0.2 Get a customer. For really really cheap if necessary. Train people to give you a small amount of money in return for some help.
. . . onward and upward.
I personally would not take on a partner and employees for a while. I can tell you from personal experience that it is a profound psychic burden to be responsible for other people eating and paying the rent. In addition, the HR component of having employees is pure, unadulterated shit swimming in a pool of pee. It's as if our government wants to discourage employment. California (where I am) is the worst.
It is very tempting, and easy to do as a one man shop, but it dramatically undervalues what you produce and you can end up trapped in that lower tier of work and pricing model and have a hard time escaping. (opportunity cost, etc)
patio11 has written openly about his efforts here and I think it is well worth it to review as well.
Experience: partner at a small, but growing infosec consulting shop.
I was skeptical for too long about this kind of advice and I've paid my fair share in lost opportunities. It really, really works.
http://www.winwithoutpitching.com/the-manifesto/
This is a framework with 12 simple principles to reclaim the high ground in the client relationship, beat back the pitch and win new business without first having to part with your thinking for free. It enables stronger practices amid the forces of commoditization.
Of course Blair Enns is a better writer than me (English is not even my native language), but there we go:
1) specialize (another common rookie mistake is to position yourself as a generalist)
2) replace presentations with conversations
3) diagnose before prescribing
4) rethink the meaning of "to sell"
5) do with words what you used to do with paper (never again spend a night writhing a detailed quote for free)
6) be selective (don't waste your time with the wrong client)
7) build expertise fast (specialization helps)
8) do not solve problems before being paid (never let the client "pick your brain")
9) address money issues early (if you are unable to talk about money you will make no money)
10) refuse to work at a loss (be ready to fire abusive clients)
11) charge more
12) hold your head high
Starting a services firm is all about building up a client base that can sustain you. Your big challenge is to get into the best referral circles, as the best projects come via word of mouth.
My suggestion is to take whatever you can get at first. Take as many coffee meetings as possible and network like crazy. You never know where your first big lead will come from.
Expect most potential clients to be sceptical of your ability to deliver until you have portfolio pieces that are of both a similar level of complexity to the clients' needs as well as written in similar technologies. Clients will be sceptical of anything that you wrote while still employed unfortunately.
For me, this meant that I had to take projects at a loss or on razor thin margins at the beginning. I was strategic about it though and this allowed me to build up the type of portfolio I needed to get my ideal contracts.
Online markets are very competitive. Expect to be up against 200 other bidders. It can be fruitful, but I consider it to be a full time job in itself.
Until you're established, you'll need to follow up on every potential sales channel you can think of. If you have sufficient capital to float sales people, it's always a great thing to have, but be careful as employees will spend your money faster than you make it at first. Contractors, freelancers, and commission only sales can help you out here.
I found most of my first clients by announcing my availability to my network. There may be some less saturated job boards on Facebook that are localized to your specific city as well.
You may need to take on smaller projects than you would like at first. It will feel useless but it is actually valuable networking. Some of my 1 day projects have turned into handsome referrals :)
Get as much mentorship and help as you can find. There will be hard times before the operation is running smoothly.
If you ever want to chat about it, you can hit me up at eric@dualgravity.com
Most people here tend to be parallel entrepreneurs rather than serial ones -- they have a half of a dozen projects going on at the same time. For this reason, I would not want to commit to a project to which even the CEO does not seem to have much time for. Some companies also seem to lack the much-spoken thing in Bay Area of product and/or market focus, which would make my role ubiquitous, which is not what I want. Although, because of my young age and mainly software expertise, I don't want to directly say that I think their way of running the business is bad. I do think that most of the companies are able to make it into a profitable business, but for me to engage into payroll positions, I would want something riskier than that.
Have you found the same kind of struggles early into your service firm? Would you have any tips on how to pitch these companies into buying what they want as contract work instead of hiring me as an employee? Any nice way to tell these people that I don't believe in the way they are running the business?
If you're okay with working for one client full time for the duration of a contract, my advice would be to work with a few recruiters. They'll take a 30% cut, but as they know about some of the best contracts it is often worth your while. Their clients are using contractors to deal with spikes in their workload, or for projects where they don't expect to need you in 6 months.
Another route is in finding clients who want you to manage the full project. Things like building MVPs or building Version 1 of an app. Usually they have a limited budget and aren't looking to take on the risk of an employee. These clients don't generally have any in-house technical expertise. In order to bag this type of client, I have found that having a solid project template to work from and speed up development is a must. It took me almost 2 months to fully set up my build pipeline and get a start project up and running just the way I like it (don't hate my just because I'm a perfectionist.) But now I can kick off projects with a running start. Deliver a fully functioning app in under a week, albeit with only the first couple features, and your client will be happy to pay your rate for the duration of the project.
Finally, the last route I know of is to specialize in a hot technology. AngularJS seems to be popular in my area. A lot projects were started with the thinking that Angular would do all the hard work for them, and now they are neck deep in spaghetti written by a junior. If you can market yourself as an Angular expert, they will be willing to pay higher rates as well as put up with the fact you aren't sticking around. But you need to have a hard-to-find talent for this power dynamic to exist. A friend of mine is a Haskell freelancer and finds it gives him good leverage.
Step 5 is elusive and almost impossible. Lost 2 products to the services mindset with further strain by partners to bring in capital by doing services. The chicken-egg issue becomes much harder when you are working hand to mouth.
The problem roots from 2 main things, services/consultation mindset and in-consistent projects.
The people who outsource or consult other teams to build their solutions start with a bidding process which inherently means that the cheaper and faster the better. This sole focus on cheap/fast is fun at the start as you become creative to work with tight deadlines and I atleast started doing more automation than ever before but can be useless considering how varying the projects are in nature and how the clients sole motivation is to be cheap & fast. This results in repetitive unchallenging work which is highly demotivating.
Inconsistent Projects. Our first year we landed a huge chain of projects from a massive global brand giving us enough capital to last a couple of years. But with clients there is no guarantee, we couldn't display most projects we did in the first 2 years cause their launches were delayed and NDAs were signed which means nothing to show as portfolio of big names. Finally when we could, most of our project contacts were going dry meaning more inconsistency.
For your question of sales, we had business developers who would get commission for each project who would spam companies to get us in the door. Mainly marketing agencies or contractors who would sub-contract us projects. The only reason we could get a lot of projects was because one of our business dev was an industry veteran wanting to do exactly what we were doing and we worked together though giving up high margins.
If your end goal is to build products, i would recommend go straight with a product. Find something you love to build, take out weekends for it with your team and try to get it into an accelerator for more advice/exposure.
I also had a lot of luck on angellist. My strategy there was to apply to jobs and then ask to meet the head of engineering for coffee. I got one of my best customers through that method.
If you don't have a strong network you need to be going to a lot of meetups or other events where hiring managers are present.
Two suggestions:
1. Patrick McKenzie (http://www.kalzumeus.com/; patio11 on HN) has a lot of brilliant work up talking about his consulting work, consulting work in general. Give him a read.
2. Focus on solving business problems, not technical problems, and start approaching people that you think would make a lot of money if you solved one of their problems. Customers rarely push back if you make them more money than you cost them (to an absurd degree- it's shocking how much you can charge for a recent grad's time).
Regarding your plan:
- I don't know if you need to prepare a portfolio site. If you have a strong portfolio & can offer references/testimonials, that's probably sufficient.
- I don't even know if you need to make the workflow stable as long as it's profitable. If you have the product people working as contractors, then you can get by with instability. Also, charging large amounts helps substantially as you can spread out the cash over time rather than having to constantly search for work.
Regarding your questions:
- As mentioned above, you want to find people who have business problems that you can solve. The best way to do that is to meet lots of people and ask them about their business problems. Lecture 19 of "How to Start a Startup" has a good discussion of this [1, 2]. I would start looking at large organizations in your area who aren't tech companies. Governments will often have public bid processes that you can start applying for.
I would not prioritize online sales channels over local ones. I think consulting really only works when it's enterprise focused, as that's when you can charge the large rates to justify your time & overhead. That's going to necessarily be in person due to the way that enterprise sales works (unfortunately). However, internet marketing can work well. We've had a lot of success attracting in-bound interest from viral posts on social media (visualizations, projects, etc.).
- I wouldn't partner up with firms like yours. I would partner up with firms that lack the expertise. e.g. large management consultancies like Deloitte (easier said than done).
I'm happy to provide more specific advice over email. My email's in my profile.
[1]: http://startupclass.samaltman.com/ [2]: Transcript: https://genius.com/Tyler-bosmeny-lecture-19-sales-and-market...
Identify complementing firms, see about partnering with them to do the stuff they don't do. Partner with a design firm to do the dev part of their gigs. Partner with a marketing firm to do dev work on App campaigns. Etc.
Identify much larger competing firms, see if they can toss you the projects that are too small for them. If you're a 20M/year big consulting firm, a $15K project might not be worth the hassle, so if you know the people that review the projects, they can refer people to you when they turn them down.
* Your are a developer, so everything else, you can figure out on your own.
Selling yourself as a team is to ultimate goal, but initially you may need to focus on leveraging your experience as a freelancer. Sell the same way you sold as a freelancer, but twice as much and contracted through your company, and expect your partner to do the same. As you gain relationships with customers, look for opportunities to pivot into larger projects or staffing two freelance positions with the same client. This base of work will keep you afloat while you figure out how to sell larger projects or build up a software portfolio. Ideally you'd find an anchor customer willing to commit to an extended contract to take some of the pressure off.
> How do I identify that a company might be in need of a team like ours? I don’t want to spam everybody trying to catch a project.
Same as above, this is something you'll need to learn from experience. Start with the skills you know from freelancing and the connections you've gained. Don't worry too much about "spamming" people, your hardest job now is marketing and selling yourselves. You may be surprised how willing some people are to help out a fledgling company.
> Should I prioritize our online sales channels over local ones?
Sell any way you can and keep what works, ditch what doesn't.
> Should I partner up with firms like ours? Contact them and show our offer so that they could be interested in subcontracting with us?
If you have opportunities to partner with a larger established consultancy, then yes this is a good way to grow while letting the bigger guys do the selling for you. This works especially when you have relationships in the industry you can leverage and/or specialized skill sets that other consultancies need to backfill. Otherwise, consultancies generally try to avoid subcontracting so it may be a difficult nut to crack.
> Should we have mentors/coaches?
Absolutely.
> Should I hire a salesperson to look for projects?
If you and your partner can't sell yourselves then your company won't survive. You shouldn't worry about dedicated sales people until your quite a bit bigger. That will be you and your partners job for the time being.
I could write a book about this. You can find me pretty easily (search my hn handle in Google, find my company, mail info@, and we can exchange other contact info), and I will happily talk with you via voice chat, my time is limited to get this out.
3. is hard, if you are primarily a technology person do not assume that because you are good at tech you can just figure all this business stuff (you can, but ... it is non-trivial)
4. This is a beautiful idea, but much harder than it sounds. I have seen it done successfully and can tell you how I have been a part of a team that made this happen
5. See 4.
Sales: Another book-worthy topic. Basically, you need to talk to people and be at every event vaguely related to technology to network with people. Go to mainframe user groups. Go to toastmasters. Network. Also if you are good at what you do you might be surprised at when and how work will magically end up in your lap once the world knows you are for hire (don't expect this to get you started, but it is neat to see in effect).
Partnering with other firms never worked for us.
Mentors/coaches... heavens yes. Find /good/ business consultants. People that can help you crystallize the outcomes you want and help you keep your eye on the ball. If you want to do more than just a one man shop, this is really helpful.
Hire a sales person? Technical sales of development and infosec consulting services is /hard/. The good ones are really expensive. Part time sales and referral type relationships rarely work (though they can some of the time, it has rarely worked for us).
That is all I have time for, will chat more later if you track me down.
edit: welcome to the big show. I can't ever imagine going back to working for anyone other than myself and my employees. It is a weird inversion to finally truly get how special and important running a business is. I do it for me, but I also do it for my employees and our freedom to live in a world with minimal red tape.
1. Get clients and start working for them. If you don't have more than one clear customer who already wants you, you're not ready for anything further in this list.
2. Incorporate and handle the core legal and financial stuff (only when #1 is solidly working!)
3. Setup the business processes and workflow;
4. Start aggressively looking for more projects - not online, though. The projects available there are not the projects you want.
5. "Prepare the basement in form of a site with portfolio, our focus, expertise and articles." - this is fluff that can wait, it's a bit useful for marketing but not strictly necessary. You won't get clients from cold sales or random advertising anyway, you'll get them by personal contacts and word of mouth where this won't matter much; and if you won't get clients from personal contacts and word of mouth, then you'll fail anyway and this won't help you. The connections and reputation to get offline clients is your primary competency as a consulting team, so work hard on that. The technical skills of your team are important but clearly in the second place, they're necessary but not sufficient for success; there's a good reason why successful consulting businesses usually are started only after a decade or two in the industry as that's one of the few ways how a new company can get the required reputation to get started on decent contracts.
6. Hire a salesperson to look for projects when your existing projects can cover multiple full-time developers, i.e. when your business is working and you've decided that you want to scale to a larger volume. Before that, you'll have to do the sales yourself, as your own personal reputation and expertise will be the main reason why others hire your company; you'll have to convince customers that you/your company has expert skills and that you can do things that they can't do in-house and a salesperson can't really do that until you have a solid reputation and lots of prior clients.
> more than one clear customer who already wants you
...but they only want you as a full-time contractor (i.e. an employee-in-all-but-name), is there a good way to convince them to pay for your expertise on a consulting-as-needed basis instead?
It's easy to "become a consultant" if what you really mean is signing on for fixed-length engagements to produce low-level piece-work (as e.g. an artist, or a programmer, or a content writer), but how do I break into consulting as, say, a distributed-systems scaling expert? I'm offered many opportunities by large firms to just work for them on a full-time basis as a systems architect—but I'd much rather be coming into businesses and increasing the competency of their own staff to do such jobs, so that they (eventually) don't need me.
In my experience, large businesses are interested in such engagements, but only want to hire other large businesses—consulting firms—to do it. And small businesses or startups are iffy on the concept of hiring consultants at all, preferring instead to bring all manner of expertise for one-off tasks in-house (though this myopia never seems to extend to thinking they need to employ their own accountant or lawyer, oddly enough.)
Yes, if you want to be in consulting business, that means that you have to work as if you were a consulting firm, even if you are a single person. It carries some overhead, so charge accordingly. Some form of incorporation tends to help and give an aura of being a larger team even if you're not, but for people who know you it only changes billing/legal/tax factors, not the job itself.
Yes, small businesses and startups are iffy about hiring consultants, and probably rightly so - the nature of such services simply isn't a good fit for them. Again, you shouldn't convince anyone, you should either accept that small businesses and startups won't be your target audience (and thus avoid networking with them but focus on larger companies who are actually likely to be customers) or discard the concept of consulting and accept to work as full time contractor or employee or co-founder or service provider or any other relationship style that works well for their situation.
Any particular techniques how to start doing offline sales?
Being a foreigner struggle a bit to find local projects in Bay Area. Meetups and events doesn't help a lot, cold contacts on Linkedin or by email are mostly ignored.
My customers are sick of consultants who are really just pitch men for products, products they probably do not need. When i consult i openly say that i am not tied to any product, that while i do suggest and evaluate products i never accept comissions. That's pure consulting. The client comes first.
The other type of consulting is to offer consulting services as a way of getting your foot in the door. These are the people that bid low (or free) with the goal of selling product later. I dislike this approach. I find it dishonest and so do my clients.
A common request of me is to recommend a pen-testing or scanning service (pci, iso, dfars and such). I often write out requirements and even negotiate pricing for such clients. Any kickback whatsoever would be a disservice.
But I do get your point. There are several types of IT consultants:
1. Those that help choose a vendor. They should be independent.
2. Those that hold a vendor's feet to the fire. I would claim that a good reseller could still do that.
3. Those that are really just outsourced warm bodies of the vendor. Don't expect much if any independent thinking.
But, that doesn't answer the question of how you get your first clients. Here's what I suggest:
- Start networking. Set up meetings. Lots of meetings. With everyone you've ever met, at all levels. Depending on who you are talking to, float the possibility of leaving your current job to 'see what opportunities are out there'. In some cases you can be more specific ("I want to go freelance"). In other cases you can be more declarative ("I am freelance now.") The purpose of these meetings is connecting with people, most of whom you probably haven't talked to in a while. The purpose of networking is making friends. You want to catch up with people and slip into the conversation that you're going freelance now or already are. You don't have to ask them for work; work will find you. It's important to realize that networking is ultimately about increasing the number of nodes in your network so when one of your nodes has a friend who is looking for work, your name is top-of-mind for a referral. The best sales come from INCOMING connections, not outgoing ones. Engage in your networking activities to maximize your incoming referrals.
- How do you start networking? I'm sure you have friends at work who won't go blabbing to management about your desire to leave your job. Ask them to connect you with people because you're looking for new opportunities. You don't even have to mention consulting--saying something like "I've been working here for a while, and I'd like to see what else is out there. Do you know any people I can talk to who are doing something interesting?" will work. This will be your initial word-of-mouth funnel that will lead to clients.
- Use meetings as a way to get to more meetings. It will come up naturally in the conversation. "Oh, the work that Acme Inc is doing with data warehousing is really interesting. I would love to find out more about that!" Make the goal of every meeting to get a new meeting.
- Go to networking events. Not coding meetups, where you'll only meet other engineers, but boring industry-related networking events where you'll meet real companies who can hire you. If you work in a real estate tech company, go to a real estate industry event. Go to tech industry events like Techweek. When you're there, meet people. Make friends. Make sure they know what you do, and you know what they do. Get their business cards. Follow up with people you like. Set up more meetings. Etc, etc.
- One thing that could work for you: there's nothing wrong with taking job interviews, especially at small companies that can't necessarily afford to pay for a full time person. If you establish yourself as a freelancer and do a good job, it's easier to get freelance work at higher levels. Many companies who bring you in for an interview will be responsive to something like "I can't really take on something full time right now but all you need to do is deploy a new framework for your site, so I can do that in two months for $X,000. How does that sound?" Boom, your first fixed bid contract.
- In summary: you should spend 100% of your time outside your job networking. I promise you will get clients quickly.
Those are some DOs. Here are some DO NOTs:
- Do NOT try to sell to anyone in your network. This seems counterintuitive, but you will almost NEVER hard sell consulting services to someone you already know. Networking is not about sales; networking is about making friends, and you will LOSE friends if you try to sell freelance services to your friends. Instead, ...
Take everything you can at the beginning and occasionally charge in beer for small things that took 20 minutes. Some of my biggest jobs came from some of those customers.
If you get along well with your colleague then partner up. You'll help each other out when going gets hard.
Don't be afraid to make drastic changes, like abandoning a product that doesn't sell.
Creative agencies without inhouse devs are your bread and butter until you get that recurring revenue from your products.
Expect to productize the most random stuff you would never think off.
Excel is your biggest competitor.
Go for it! Good luck!
(1) It's really all about trust. The client wants someone who can reliably solve their problem, and tooting your own horn has a very limited effectiveness in building that credibility. Trust heavily impacts what projects people will give you, and how much you can charge. It's common that a company will somehow find 2-3x budget to hire a partner who they know will get the job done.
(2) Referrals and good deeds are the fastest way to build trust. When you come well-recommended by a prospect's trusted friend or partner, then a good amount of that trust gets instantly transferred to you. This transitivity of trust is key to building a good referral network that will consistently send work your way. If you don't have this, then you have somewhat of a cold start problem. In this case, providing value to people on a regular basis could really help with establishing your credibility. I don't mean doing projects for free, but more like offering people free 30-minute consultations about how to build their things, or sending them resources (articles or books) on a consistent basis that would really benefit them. This demonstrates that you can already deliver value, and makes it more convincing that you would do much more of that if you actually got paid for it.
Here are some more resources that could help someone get a start:
[1] Getting Started in Consulting by Alan Weiss is a little antiquated, but talks about what's important in getting your firm going and how to think about your work's impact on your client. (https://www.amazon.com/Getting-Started-Consulting-Alan-Weiss...)
[2] Book Yourself Solid by Micheal Port talks about the best ways to build these client relationships that will result in trust. (https://www.amazon.com/Book-Yourself-Solid-Reliable-Marketin...)
[3] Double Your Freelancing by Brennan Dunn actually has very good information about the tactics of pricing and the business side of project management. It's pricey. The accompanying podcast has good information for free. (https://doubleyourfreelancing.com/)
There are thousands of different info products online about this stuff, but this bundle should give you the most core knowledge for your money.
Sales/Selling is the last thing on your list and salesperson is only a maybe. Reverse all of your priorities because selling and relationships are the most difficult things to master for a consulting company and you will die without those skills.
In consulting, tech talent < sales/relationship talent. In fact, if you're great at the latter go ahead and get started now because there are lots of great tech people who don't want to do it and will come work for you on a nice contract rate.
To give you an example of this I once worked with a consultant who was a technical rock star, and another consultant who was supposed to be technical but was actually pretty below average. The below average guy was more successful because he was great when talking with the customers and they loved him. He knew enough to talk through problems at a high level, explained things well, and made them feel comfortable that things we're on the right track. If he didn't know something, no problem, he just went and found someone with the answer.
Besides those soft skills he knew how to set and manage expectations. You may be used to the best results winning, but if you don't manage and then exceed expectations it doesn't matter. People love you when they expect 80 out of 100 and you deliver 88. They will not be happy and often fire you if expecting 100 out of 100 and you deliver 92. You will wonder how you just lost to a competitor who is not "as good" as you.
Even if you have pretty good soft skills, do you want to spend time constantly using them? I thought you liked the tech side? If you like both then great because someone has to spends tons of time doing it to sell, maintain, and expand the work and your success depends on how good they are at it.
For many people this will all be hard to believe, or they think it's exaggerated, or that it's easy to just hire someone to do it. That's fine, I hope you have great success. Drop me a line in a couple years to say how things turned out.
* The length of your expected average contract (days, weeks, months) * The revenue in that contract * How many of those contracts you'll need to sustain the team per year * What percentage of your prospects will sign a contract
So for example, if you need 10 contracts per year to survive, and only 20% of your prospects sign, that means you need at least 50 sales conversations per year.
Marketing is the single biggest problem I see at small consulting shops. They don't get enough leads. Sure, you might believe you can convert a lead into a sale - it's harder than you think - but how are you going to get those leads?
Without leads, you end up groveling for low rate work that you don't really want to do, just to make ends meet. Then, after a year, you've built up a low rate reputation and low rate skills. It's a downhill slide from there to giving up and taking a full time job again. Nothing wrong with full time jobs at all - they're much easier since you don't have to do marketing to find work.
Forget the sales, soft skills, and making products for other people that will never truly appreciate the craftsmanship that went into it. Just stick to your guns and create the situation where you can just work on your own product.
If you guys are kicking ass at your current firm, you should be being paid for it, i.e. making enough to save some some money. There's your ticket. Be patient and wait it out while saving money. Plan out your upcoming product, and do all the preparation that doesn't require deep immersion, so from day one after quitting you can deeply immerse yourself.
ps. how's 7 years as a remote freelancer so different from a consulting firm? It's not. Just more developers, bigger projects. You already know what that life is all about. Do you really want to go back to that, now with the burden of supporting more engineers? Keep it simple. If you have the skills and confidence, your product idea will work out. Just create the space and time to do it.
If they start a consulting business there's a much more stable path to revenue from day 0, if they follow your advice they'll spend all their savings and possibly be in the reeds for ages. All the while they'll still need the sales/bd talent.
So, the downside of consulting for one is that he's just going back to freelancing, just now with his buddy. But more importantly, the downside is simply that projects are always under-estimated, you'll grow your business ponzi-scheme style (new projects paying for old), eventually have more engineers, and be responsible for them, etc. Typical scene. They will have severely complicated their lives, whereas what a startup/product needs is simplicity and space to focus (i.e. not a plethora of projects distracting you and occupying more time than hoped). So it may very well be a long while before they truly create the space to do their own product whole-heartedly. I'm not saying it can't be done. They need to weigh whether they want to go through all that.
VERSUS:
a year from now (presumably after demanding a raise) taking 6-12 months off to work on their own product, and if it fails, simply going and getting another job (they'll be better engineers, and it will therefore be easier to get jobs).
At the end of the day, the biggest--and perhaps hidden--factor is whether you have kids. If you don't have kids (or people other than yourself to take care of), and you can't create this environment for yourself, you have other problems. But more than likely while at this stage of your life, you have options. So the trick is not to get yourself into trouble with large under-estimated projects for other people, and to do whatever it takes to create time for yourself and your own projects. That's the name of the game. That's what it's all about. I.e. keeping it simple. Don't get yourself into trouble with too many projects, projects that are too big, working for too much potential that doesn't pan out. Get short low responsibility projects, and make your #1 focus creating time for your own projects.
When you can't speak English fluently your shop's greatest strength will be technical prowess. Soft skills take a backseat until OP learns English fluently.
How about outsourcing the sales part?
If a dev turned entrepreneur values their time @ $100/hr and a 10-hour business task can be outsourced with a 15-minute description to someone else for $15/hr, it's the "right" decision.
Right off the bat your choices are limited because many sales roles benefit from being close to customers. You may be limited to local and have no option to leverage hundreds of millions of people outside the country like tech can.
Secondly, they're expensive. The stars can make double what a top architect makes. You might think, no problem it's just x% on what they sell and we all benefit. Then the problem becomes why should they join your company now if you don't already have a lucrative pipeline to maintain and expand? To get around this some companies will pay fixed cash rate until commissions ramp up, but often that's hard to do for a startup.
Also salespeople tend to care less about how cool the technology is. It does matter somewhat, it's better to be selling software than cigarettes. However it would be common for a tech star to turn down a cobol job even for a 30% raise, whereas I estimate that's less true on the sales side.
I think that's a big distinction that hasn't been made. If your client is another developer or CTO that deeply understands the subject matter, then the technical skills are definitely more important. If you're dealing with a CEO or CMO or business owner that's not technical, be prepared to really explain the whole story and present value from start to finish. There's benefits to both, as the CTO may be able to negotiate down your rate if they know where to cut out segments of the project or give that work to cheaper labor. The CEO/CMO side will take more work to help them understand the project, but will defer to you on scope. Again, this is generalizing, but less so than some other comments that treat ever client as the same persona.
One thing to definitely consider is to have one or more people on your team that is or has good experience being client facing. Whether as an account manager at an agency, a client-facing designer/developer, someone who has been there and helped guide and manage expectations for 5-10+ clients at once. That's a skill that's required, or else you're starting from square one and will have a lot of learning to do on the job.
My thoughts on your questions:
- Willing to find projects for a small team (2-4 members) of developers/designers should I look for larger projects in a different way?
A: I think the answer here is that some companies want to find a solo consultant, some want a small nimble team like yours, and some want a full-featured agency. I've realized this myself that there are different clients that want different things, so you should just understand what you are and what your value prop is and know that you'll be the perfect size/fit for some clients, but too small or too big for others.
- How do I identify that a company might be in need of a team like ours? I don’t want to spam everybody trying to catch a project.
A: You can go the data route and find companies that just raised a round of funding if you're going the startup route, or get a list of 50-100 dream companies you want to work with and monitor their job listings, not necessarily to apply yourself (you can sometimes) but to gauge how fast they're growing and what gaps in talent they're missing at their company.
- Should I prioritize our online sales channels over local ones?
A: Like others mentioned, referrals and networking is helpful but it's not all or nothing. If you're not that type, many others have received great leads by publishing really good content (blog posts, webinars, slide decks, guides, etc) and getting leads in the funnel that way. Paid ads (display, PPC, FB) can work for top of funnel leads but not often for bottom of funnel (closing the sale) so adjust appropriately.
- Should I partner up with firms like ours? Contact them and show our offer so that they could be interested in subcontracting with us?
A: That's definitely a good way to start. One universal note is that it's likely that a firm will pay you 50% of the rate they bill the end client for. So keep in mind that if you find the client yourself you get 100% of your rate, if you subcontract you most often get 50% of it. Not a hard and fast rule, but fairly common.
- Should we have mentors/coaches?
A: Can't comment on this as I haven't gone too deep into this, but many, many people highly recommend it.
- Should I hire a salesperson to look for projects?
A: Can't comment much on this but it depends on your own teams capabilities/stage/style, etc.
I would rather continue in your current position and prepare everything to not "Switch from contract work to our products gradually" but switch from a known and secure context to your new product. Either gradually or abruptly if you have enough cash.
Haven't replied to the other questions due to blocking point 5. But mentor and coaches are great to have an external point of view : try to use them wisely.
Good luck!
Finding the right employee can take time, and hiring the wrong person can destroy a team's productivity. Better to pay a premium than to get burned.
If you want to work on product ideas, you are much better doing that while you still have a day job, rather than trying to do it while you are also worrying about where your next contract is going to come from.
This should be the top priority. You personally don't want to be tied up to any client/project. You could help developers as time permits. But your priority should be about getting projects, hiring, managing cashflow keeping it profitable. Not very "engineer-ish". If you are a hardcore developer - you will (almost) hate doing this. Assuming you can get high value projects - executing those projects while keeping the customer and the team happy - is a perpetual challenge.
> Should I prioritize our online sales channels over local ones?
Local ones are always better and surprisingly easier compared to online sales that are highly competitive. The only discomfort is to actually move out of your office and meet people in person. The exception is if local ones are financially infeasible. You should also do online sales - And people (top 5-10%) do earn money from online projects too, so do not let myths discourage you from going online.
> Should I hire a salesperson to look for projects?
After some time - Yes. You should be the first sales person for your firm. Later you will be able to define sales-team profile that you need
> Should we have mentors/coaches?
I believe the answer is Yes in longer term. And by this time you would have been already successful but the growth might feel stagnant (or just boring).
> Switch from contract work to our products gradually.
A product guy is usually always good at consulting - but moving from consulting to products is pretty difficult. And it's definitely not because of the lack of execution capability.
If your goal is to do products - do just that and don't get into consulting. And it is easier to start validating, building product as an employee - compared to owning a consulting firm.
Thought to consider - if you really want to make your own products to sell, just jump right to working on that and spend all your energy doing that. Unless you genuinely want to do consulting work, of course.
Consider that starting and running a business is the same amount of work from the paperwork perspective. And a consulting firm just sells services where results are often owned by the client- whereas the product you make for your own company can be owned by you.
That's not to dissuade you at all if it is your dream to take this path. Just food for thought about what your dream really is and how much time/money you have to pursuse it.
- Look for projects everywhere. Even if someone is looking for an individual freelancer, there's no harm in presenting yourself as a team and trying to get the gig anyway.
- Local, remote, doesn't matter. The quality of the project is what matters most in my experience. Burnout matters even more when your team is small and everyone is relying on getting income from a project.
- Definitely reach out to other agencies, particularly local ones. Tell them you can help with overload and custom coding problems they might not have the in-house talent to tackle.
- I've never had a mentor/coach, so I can't really say if it's worth it.
- You should probably start by doing the outreach yourselves. Try subscribing to some paid curated lead generation services for freelancers/agencies. For a couple hundred dollars a month you can get dozens of leads sent to your inbox every day and a few of those might be promising. Follow up with everyone relentlessly. I use a service called Cloze for this.
Other thoughts:
- Keep expenses other than payroll in mind as they can add up. You can probably start with less, but there are a lot of great tools that can streamline things and save your team a lot of time. We pay for a co-working space, DocuSign, Slack, GetHarvest, UberConference, Google Apps, and Cloze, to name the ones I can remember right now.
- It's a really good idea to have a written contract with all of your clients. This is my favorite video on the subject: https://www.youtube.com/watch?v=6h3RJhoqgK8. The lawyer in that video, Gabe, reviews all of our contracts and he really is my favorite person to pay.
Best of luck!