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!
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.
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.
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.
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!
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...
- https://www.kalzumeus.com/2012/09/17/ramit-sethi-and-patrick...
- https://www.kalzumeus.com/2012/09/21/ramit-sethi-and-patrick...
- https://www.kalzumeus.com/2010/08/25/the-hardest-adjustment-...
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.
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.
"So you want to be a consultant...?" [1]
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.
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.
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.
Where I used to work we had a consultant that did specific projects on behalf of the board of directors that had been their for years. She was recommended to or board by someone in another board. I don't know how much she was paid but I suspect it was in the hundreds per hour. Not only that, she had a lot of power. Anything she wanted she got right away from any department. All the managers wanted to be sure she was kept happy.
#1 - to be a consultant you need a consulting business. If you aren't working for someone else, you need to create it. The two things technical people often totally underestimate is the sales aspect (25%+ of your time), and the time spent on other non-billable work. Unless you are pretty niche and already well known, you are likely going to have to find the (right) work more than it finds you, at least at first.
#2 Taking on too much and/or the wrong kind of work just because you can get it. If you establish yourself as a generalist, you're going to end up only competing with service companies and other generalists for lowest cost. Also, once an organization has hired you as "an X", it is harder for them to consider you as "a Y". If you do a basic programming contract with them because you need the work, you may never be seriously considered for anything else (by them). I probably said no to more than 1/2 the contracts I was offered when I started out, and it was a good choice even when I did have some down time.
#3 charging too little. You want to be doing impactful, high value work. Or else you are probably really a freelancer looking for long term contracts and work/life balance you control (not that this is a bad thing, but it's not the same)
#4 charging too much (for the work you are doing). In order to make the balance sheet work you are pricing yourself at the top of a niche and not getting enough work. Instead you should be doing something higher value. I've seen people oscillate for years on a 2 months of work, 3 months of no work, etc. cycle this way. For me this is a sign you are going after the wrong kind of work.
#5 focusing on the work you enjoy, rather than the impact you can make - this is also a viable route for a lifestyle adjustment but it's only efficient if you are lucky.
Some other thoughts:
I think there are natural sizes for this sort of business and it has implications for the types of work you compete on.
You can use sub-contractors (e.g. consultant/freelancer colleagues) to manage bandwidth a little but but there is overhead. I suspect it's a lot easier to keep 6 employees fed than 2, if you go that way.
It's sort of a restatement of #1 - but network is critical.
Instead of an algorithmic interview it was really just us sitting down at a whiteboard for a few hours mapping out how the backend would work and what external APIs would be needed. I think this is the best approach -- be super transparent about what you're specialized in/and what you're not, and make sure that you're the right person for it. Providing a small amount of value upfront and for free can go a long way.
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.
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.
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?
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.
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.
So the point of consultant is, you need to understand what to deliver instead of what to have.
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