Consulting Tips

Feb 10, 2020 | 38 minute read

Over the years of procrastinating and reading something about everything on the internet, I've stumbled upon many knowledge pieces. Below are ones about freelancing, consulting and running your own one-man service business.

I stole them from many places, mostly Reddit and Hacker News. Some of them might be out of context or have some missing pieces. I didn't save sources or authors but I'm pretty sure if you google snippets, they will come up. I'd like to thank everyone who shared his inputs in public, so I could learn. Enjoy!


You should avoid being a “freelancer” at all costs. Do not let others use that term to label you and to downplay your worth and professional service rates. Create a services company, with a brand, and with a mission. Look at promoting your company like you would promote a business than had 10x the number of employees than you actually have. Learn how to budget time and money like you've never budgeted before. Most importantly do not try to be everything to everybody.

Learn about positioning - horizontal and vertical markets. A good resource is https://philipmorganconsulting.com/the-positioning-manual-fo

He also has a bunch of free video interviews that you can watch https://philipmorganconsulting.com/dev-shop-marketing-briefi.... I was one of the guests, talking about long tail search engine marketing.

And finally, remember that success in this space is a marathon and not a sprint. You do not have to start out as the fastest, you just have to run longer than everyone else who drops out. In a few years the fact that you are still in the market will be seen as social proof of your trustworthiness and success.


I think you should put your prices up by 10% and add a line to your invoice
Discount 10% (Existing Client)
And tell them that you're keeping them in the same price band as you've worked with them for so long.
No price increase in 3 years is crazy after all. Some people just want to feel they're getting a bargain regardless of whether they are or not.


When I was agency side, one of my first questions was to have the client walk me through their development and approval process. Who was involved, for how long, and when? What's their typical timeline from start to finish? How do you you want my team to be plugged in? Etc. Knowing that let me back into appropriate timelines and better anticipate delays.


Unless demonstrated, always assume the client is a total wreck at planning a project or that they don't actually care about meeting deadlines or doing their part. Reflect that on your contract, and establish deadlines alongside payment terms.


It's in my contract that I reserve the right to stop all work on a project as soon as a payment is one day past due. Sometimes it's the only thing that ‘inspires’ a client to pay up.


When I have had a client that drop hints or says things in a sideways kind of way, I asked them directly, are you unhappy with my work? Why are you unhappy with the billing since we have a contract and we have a greed on all the terms? When you are direct, it makes them stop and think and have to answer you. Then you usually get to have a very good conversation. At least I feel that way, because I address the problem head-on and I don’t usually have any problems after that.


A few tips:

  1. Don't work for people unless you can help them make a lot of money.
  2. Avoid freelancing marketplaces. These tend to have terrible rates, small projects and some of the worst clients. Most of these clients are beyond help, and you will never be able to help them earn a lot of money.
  3. Do not charge an hourly rate. You do not want hourly jobs. Charge either a daily rate, a weekly rate, or a project rate. If you have a good client who regularly needs small tweaks, charge a monthly retainer instead of an hourly rate. I'm told that some really smart consultants charge a percentage of the of the improvement they make for the business.
  4. Require half payment up front, or for longer projects, a milestone-sized payment up front. This will immediately eliminate all the clients who are allergic to writing checks, and I've never seen anybody serious reject this.
  5. When setting your daily or weekly rates, plan on charging at least 2x what you would receive as salary, or up to 3x in some cases. This depends partly on the average size of your projects. If you charge less than this, your annual income will wind up much lower than you'd think. You will have lots of downtime and non-billable hours.

EDIT: 6. This should be obvious, but always write down the project deliverables and agreed-upon payment, even if it's only in an email for smaller projects. Even if you totally trust the people you're doing business with, they will forget what they agreed to. (Ideally, you should have a standard contract where additional work items can be attached as an Exhibit A.)

Aside from all that, one big challenge is balancing your pipeline. You'll have 2 months of no work, followed 3 simultaneous offers for highly-paid jobs. You need to find a way to manage this that's fair to the client and sustainable for you.


Starting off was through cold emailing/calling, but referrals closed more deals. The biggest thing is just getting started and building yourself up with a portfolio so that you can showcase your work. If you bring a business 20% more sales in the first month then that’s a success story you can bring up speaking to your next prospect. I did run digital marketing for a bit, but chose to focus my outreaching in other ways.


The first thing is to figure out what not to do. You can't work in a field where people routinely hire full-time employees with ease. So you can't do Java work part-time, for example. (Well I mean you can, but it's like saying you can be elected to Congress. Let's do something easy.)

So, you have to start in some field where 9-5ers can't be easily found to fill the position. iOS/Android dev are like that. Maybe there are web specialities that are like that. If you have some deep expertise like machine learning or computer vision or graph algorithms, maybe those specialties are like that. But the operative criteria is to find some field that full-time employees are not easily had.


So if you want to increase your earning potential you should:

  1. Specialize and master a niche.
  2. Network like your business depends on it.
  3. Give free seminars and teach everywhere you go.
  4. Label yourself as a consultant.
  5. Don't be just a programmer. Work with businesses and fix their problems.
  6. Know your worth, and don't be afraid to charge what you're worth.
  7. Anchor your costs against how much value you'll make your clients.
  8. Keep raising your rates until you can't get any work.
  9. Work half as much as you used to.
  10. And finally, spend time on things that matter like family, learning, and having fun.

Or you can keep competing against bottom-barrel programmers on upwork, and spend the rest of your life working for peanuts. Totally up to you.


my experience with a few current London based clients in my day job is often recieving pushback and delays on any initial deposits or pre-payment. Holding firm that the clearly defined payment terms are a prerequisite for work commencement has been the most effective approach, even if it involves some uncomfortable emails or meetings. Polite but firm push back on a clients reluctance is very often sucessful even if momentarily uncomfortable. I'd suggest to try proposing reasonable payment terms as soon as possible, terms that are as favorable to you as they may or possibly are willing to accept, and upon discussion (or a note included in the proposed terms) respond that an initial deposit is a firm requirement before commencement of any billable work, but you are flexible and willing to discuss a customized draw (payment) schedule if it's required (or.. you're not willing). You may be surprised how many clients will accept your terms, even after declaring them unacceptable, once you (re)affirm the terms as a firm, mandatory requirement. Willingness to walk away is often a strong, persuasive signal of competence and/or high demand of your service and can provoke decisions to be made more promptly by potential clients.

You can factor an intrest charge for payment delays that will encourage prompt payment, calculate by percentage and then format your payment terms to represent these differences as discounts for prompt payment instead of penalties for late payment. A secondary benifit of using these now slightly increased rates combined with prompt payment discounts is that you will be able to slightly increase your effective rate for recurring clients by adjusting these discount amounts in the event you can't or don't want to propose a higher rate. Also, IME (in the US) the initial disclosure of late payment terms or penalties may be a requirememt when including compounded interest on an outstanding debt amount in a situation where legal action to recover debt becomes necessary.


Define your niche as narrowly as possible.

I know it sounds counterintuitive but it works wonders. You can read crossing the chasm or just try it. You’re not a tech consultant, you’re not a crypto consultant, you’re not even a bitcoin consultant, you might be something like the best person to document the ICO process for the investment community in Europe.

Because there is a lot of competition for the former but you should basically own your market.


One way to make the most of your country of residence is to exploit the timezone difference as a positive. Look for companies that have 24/7 operations and need to have someone available for troubleshooting when their main team are asleep. Two things that worked for me are firstly having a technical blog, which shows off not only the skill set you have, but also that you can communicate well. It also shows that you have the enthusiasm and curiosity to go beyond the day-to-day work of cranking out code.

Then secondly, go through agencies to find your initial contracts. Many companies in big cities will accept remote employees if they can find good ones, but it's hard to find those companies if you are not local. The agency essentially does that for you in exchange for a cut of your day rate. Also, they usually (in London at least) pay weekly so you don't have the big financial dry spell before your first invoice is paid. Once you have a bit of cash built up, you can go direct to companies as an independent.


I have no advice, just a anecdata: Me and people I know got into consulting, because we were interested in certain technologies; really interested, researched all stuff, tried to answer all questions on those matters, engage with people online, organizing events. And all of the sudden, people come to you with business cases, questions and consulting gigs. I see consulting for money an extension of something, that you are already passionate about (I mean professionally passionate, you don't have to pour your identity into it).

The idea is not that hard, it's just that you have to have enough energy and sitzfleisch to see these things through.


(1) Consulting means running a business. This requires a different set of skills, and often different thinking, than you have as a developer. You'll have to learn budgeting and marketing, among other things. Learn these skills, and realize that for as long as you consult, you'll need to improve at them.

(2) There are many different types of consulting. I personally do Python training, and love it. But many consultants do what's sometimes called “staff augmentation,” working as a contractor on gigs that can last one day to one year. Staff augmentation is the way that most people start off, and it's not inherently bad – but you can make far more money, and have more influence and satisfaction, by providing insights and value from your experience and knowledge. And yes, this often means that you can make more money diagnosing problems and architecting solutions than actually developing the software that solves the problem. Also, the higher the level at which you're working at a company, the more you can make; helping a team leader is better than helping a programmer, but helping a VP is better than a team leader, and helping the CEO is better yet, still.

(3) Don't forget to budget, and to put money away for a rainy day and for retirement. You should probably have a runway of 6-8 months before starting to freelance, just because it takes time to find clients.

(4) Specialize. You want to be the big fish in a small pond, rather than the reverse. There are lots of Python consultants out there. But there are many fewer who teach courses, fewer yet who do it full time, and and even fewer who talk about themselves nonstop as trainers. So companies call me, because the problem that they have – employees who don't know Python – is one that they instantly understand I can solve. Specializing means that most people will ignore you, because you don't solve their problems. But for those whose problems you can solve, you'll fit perfectly. Philip Morgan has a great book and podcast on this topic.

(5) Get your name out: Write a newsletter, blog, speak at meetups and conferences, and let people know (nonstop!) who you are, and what you do. It'll take time – in my case, it took years – but having such a constant presence, online and off, will lead people to remember you and ask you for help.

(6) Think about how you want to bill. Many do hourly, but it's better to do daily, even better to do weekly, and better yet to do value-based pricing, in which you charge according to the value that the client is getting. Jonathan Stark writes a lot about this. You'll likely experiment a bit with billing tactics.

(7) You'll have bad clients. Companies will be mean to you. They'll stiff you. They'll say it's your fault. This is all rather unpleasant; overall, I've only had a handful of such clients, but they stick out in my mind. Learning to say “no” to clients, and to have the right gut feeling about them, takes… well, the length of a career.

(8) If you play your cards right, you'll make more money than your salaried counterparts, without too much less stability. Moreover, you'll be able to set your own schedule. When things work well, they work really well, and gives you a sense of independence and fulfillment that wouldn't be possible in a full-time “real” job. The thought that I've paid off my mortgage, paid for family vacations, and still have savings… well, I kinda marvel at it, even now. But if I can do it, then so can you.

(9) Finally: Consulting isn't for everyone. You might decide that it's too hard, or that it doesn't suit your personality, or that you haven't found the right niche. That's totally OK. If you want to go half-way, you can work as a consultant for an outsourcing agency, which doesn't pay as much but gives you the variety and flexibility of consulting. But if you end up hating freelancing, and going back to a “real” job…. that's totally normal and reasonable, and you shouldn't feel like a failure if that happens.

Be sure to read Brennan Dunn's “Double Your Freelancing” stuff (https://doubleyourfreelancing.com/) and Patrick McKenzie's extensive and inspirational writings (https://www.kalzumeus.com/greatest-hits/).


8 months into my first year of freelancing in the UI space:

  • Closing in on $250k revenue
  • 2 major clients, 4 smaller, short-term engagements
  • 100% utilization rate (no downtime between clients)
  • Successfully raised rates with all client projects (avg: 19% / engagement)
  • Closed via a sales funnel of: 5 new prospect outreach / day, 2 proposal follow-ups / day, 1 existing (or prior) client referral / month

What worked:

  • Networking aggressively (see sales funnel)
  • Setting up a 3-prong presence of blog + personal site + consulting site
  • Pruning and refining available code/assets for portfolio
  • Pricing / week & value-based, fixed-cost pricing
  • 100% money-back guarantee (no one has asked for it)
  • Having an accountant

What did not work:

  • Thorough proposal / contract documentation. I figured having detailed, in-depth scope of work showing I had knowledge of their industry, problems, etc, would help close deals. The teams that closed the fastest already knew they wanted to work with me, but the ones that weren't sold couldn't even be sold with excellent SOWs and proposal documentation.
  • Having a lawyer. For a one-man consulting shop, you really don't need one. Most standard SOW/Contract/IP documents are easy enough to generate/find yourself.
  • Toptal / Upwork / any of those race-to-the-bottom sites. There's great arbitrage if you're international like OP. But I'm in the US, and it's not worth the effort for US rates.
  • Meetups. I just didn't invest time in them (yet). I think the next leap in rates will come from becoming more “well known” through blogging and speaking engagements, which this is a key area to invest in.
  • All this “double your rate” business. Sure, I imagine this works if you're used to pulling in $50/hr, and I imagine Brennan Dunn and the sort are marketing themselves at more commoditized development. But trust me, people ran away when I doubled my rates. I had to find a sweet spot and build up my rates slowly per client rather than just assume I was wildly undervalued.

I almost entirely use my network to get jobs - if you possibly can, build a personal network, because that network will start referring you to people as an expert. This will allow you to rapidly increase the price of your services. I know this is difficult to get started - but whatever you do to get your first few jobs, make those people into contacts and over deliver.


Network, network, network. Referrals are the prime driver of business for many, if not most, freelancers. When you get a client and have done good work, ask them “what three other people do you know who could use my services?"…things like that. Don't be afraid to ask for it. Get out of the home office and attend events and conferences. Start meeting people and ASK for their business. Don't be shy about it.

Also, don't expect much from cold emails. It's way too impersonal. Telephone calls are only slightly better, but in-person events are by far the best. Your goal should be to MEET as many people in-person as possible.


Pro tip: when people say “build a network,” they really mean “make friends in your and related industries.” Like, actual friends: people you go out for drinks with and enjoy talking to. The trust you build, as friends, will lead to work.

Normally you meet these people in unexpected ways. Just today I was offered a potential job from a girl I met while auditioning apartments. I've also gotten jobs from people I've met on dating websites, on the train at 2am coming home from a party, and on unrelated online forums. Leave the house, keep an open mind, be friendly.


Lots of networking events are focused on sales or marketing, they attract lots of people looking for work or looking to switch jobs. Often times they are not advertised as ‘networking events’ specifically, but if the primary point of being there is to meet other people then it is a networking event. Even if there is some guest speaker or something, you will be able to tell why everyone is there.

User group meetings are the flip side of that, while some people are there to meet others, most come to learn something and their motives pivots around that point. People who are looking for jobs or work, are rarely you ally in finding more work for yourself.


I have been on my own for 15 years. I bill around 150/hr give or take 20% depending on the situation. Most of the work is Microsoft stack web related but mobile apps and api building has been steadily increasing for a several years now to the point that probably 20% of my 2014 revenue was in that space.

50-60% of my revenue is sub-contracting. I have a few firms that often take on projects that they are not suited for or do not want to increase staff to cover and they often sub out all or parts of the project to me. These relationships were built through networking with other developers who worked for these companies - never the bosses per se. Meet other devs and when the company needs help, they remember and recommend. In my experience this kind of introduction is about 5x as fertile as a cold intro.

Roughly 30% of my revenue is from direct relationships between myself and another company. These tend to merit a higher rate but also increased risk.

Very few of my direct relationships start from cold calling/intro (not sure if any ever did actually); most came via word of mouth recommendations of other people. Networking at the right kinds of events can also increase your profile and help you meet the right people. ProTip: Networking at networking events is a terrible idea.

Lacking a sales force the best pseudo sales force you can create are acquaintances who understand your skill set and respect you as a person. They don't need to see your work, they don't need to have hired you before - to drop your name to someone who asks. They need to know your name, what you do and have a generally good feeling about you. If you pay them back for this, even with a simple thank you or lunch - they will continue to be an advocate for you.

Another tip which probably falls into the anecdotal evidence category - get off of ODesk and ELance. You are right about the price war. Your name and value to people also gets damaged because you seem to be just another guy among thousands who need to find work that way - it is a ‘dime a dozen’ mentality and they will always see you as that.


A great place to start is posting something on the find a freelancer thread here on HN every first of the month. I get a fair number of inquiries from that. As others have mentioned, meeting people and letting them know what you do. Most of these will not be direct clients. Rather they will either know of someone who is seeking help, or will remember your name.

It can take some time to get your name out and get the ball rolling. When I started up again, it took about two months. When you talk to someone, you never know how long it will take to turn into something. I have had conversations with clients that took 6 months to come to fruition. Others in just a week. The moral of that story is to always be looking, not just when you need work. Get in the habit of always saying yes, and then just manage your availability.

There is a spectrum of the kind of work you can do. I don't mean which language/platform. I mean straight staff augmentation to managing projects. It is easier to find the staff augmentation gigs. These are easier since someone will just be telling you what to work on, and you do it. You will make less for these and this sort of work doesn't scale as well. I would only ever do this for straight a straight hourly rate.

Managing projects doesn't mean you will (necessarily) be managing people, just managing the project. With this, someone needs something built, but may not know how. It requires an additional skill set of knowing a bit of sales, knowing how to set/re-set expectations and how to negotiate. You can get a much higher rate for this, and it is possible to scale this a bit better because you can sub out some of the work.

Another thing you will run into very quickly is how to structure the relationship. There are people out there who are incompetent and others who are nefarious. It is important to know how to protect yourself legally and practically for both. For the legal aspect, find a local attorney who can look over contracts and help you craft a reusable template. Always have an attorney look over contracts before you sign. Most of the time someone gives you a contract to sign, it will be written to be in their best interests. Other times, they will just be poorly written.

For the practical aspect, understand there is a difference between working with someone in-state, out-of-state and out of country. You have the most legal recourse with someone in-state. If they are out-of-state, you may have to go there to pursue any legal action. (which is a massive pain) If they are out of country you may not have any legal recourse. So you will want to structure the business relationship to protect yourself, which might be as simple as half of the estimate up-front. The remainder on completion, and they get no code until it is complete.

A lot of times I structure it by milestone or iteration, with time limits, requiring permission to continue, but all billed hourly. Each iteration or milestone delivers something tangible. They get code on payment. This way I get paid for the work I do, and they won't get unexpected costs and they always have a pretty good idea where things are. Risk is mitigated in both directions. At any point, they can decide to pull the plug and they still have something for what they've paid so far.

It is not uncommon for potential clients to ask for fixed-bids. My advice is to steer away from them. They require you to be able to make good estimates then inflate them to cover your risk. That risk is all on you. They also require you to have tight definitions and manage scope changes mercilessly. If you don't, then you eat it. That said, some people like them because they're really easy.

Some other pieces of advice:

  • You're not dedicated to a particular project until either they've given you a deposit, or something is set up legally so that if you start working, you'll get paid.
  • Generally ask for a deposit from new clients.
  • It is ok to drop bad clients. Sometimes they're not worth the trouble.
  • Think about it in terms of collecting/building long term relationships rather than “work”. Once you get an established base of good clients, the work will tend to come to you.
  • Remember, you're not their friend and not their employee. You are in it because it is a business relationship that has mutual benefit.
  • Keep good records of time, expenses and income.

  1. Make sure your house is in financial order. If you are a habitual user of credit cards, have high monthly debt obligations, and no saving, before you even think about going out on your own, change that.

  2. Audit your ability to estimate time and hit deadlines. Most developers are rubbish at knowing how long a project will take, even a small one. Make sure you can hit a deadline. This is more important at the outset than your ability to estimate.

  3. Start thinking about yourself as a provider of solutions rather than as a developer. You happen to have the superpower of being able to create software, but that's just a tool. Real value is delivered by providing solutions to problems within a business.

I could write pages on each of these points, if you have further questions I'm happy to answer.

Getting your first client, a couple ideas: - Talk to small marketing / ad agencies in your town that won't have internal developers, offering to put some technical muscle behind what they're doing for their clients. - Look for people in your personal network that could benefit from your superpower. Offer to build tools to solve the issues they're dealing with.


If I could give you one piece of advice it would be this: Charge a small but reasonable fee for speccing a project. (My fee is $500 based in NYC). There is nothing more demoralizing then spending a bunch of time and effort speccing out a complicated tech project and then getting ghosted by the potential client once you deliver the estimate. Once I started charging for speccing, this never happened again.

And, once I started charging for this process, my conversion rate on proposals delivered went up a tremendous amount.

I think a couple things are at play.

  1. Many clients leads aren't actually serious but it can be difficult to figure that out, especially when you're new to the game. If somebody is willing to pay for this process, they're clearly serious about the project.

  2. People respect you when you charge for your time like this. My agency got taken much more seriously by prospective clients as soon as we mentioned that we charge for this process.

  3. By charging for it, it forced me to create a clear process and clear set of deliverables for that fee. Clients LOVE clear processes and clear sets of deliverables. It makes it much easier for them to say yes. They are like a warm security blanket for the decision maker.

  4. I believe it was HN's Patio who taught me that as long as your offering is below $1000, it usually falls under the discretionary spending threshold for most departments, meaning it doesn't require boss/committee approval.

If a prospective client was surprised by this fee, I took them through my process of all the things I'd help them figure out along the way that they clearly didn't have figured out yet, and make it clear they were free to go with a different agency after this process was complete. No strings attached.

I believe that clients who understand the business value of that work are much better clients than the ones who do not.

Shoutout to Brennan Dunn for the idea to charge for scoping.


  • Flexibility is super important to a lot of people. I like to tell clients “one of the best things about hiring a consultant is that you have no long-term obligations to me. You can cancel our contract on a day’s notice if you want, and I won’t be the slightest bit annoyed.” I’ve never had anyone actually do that, but folks always always react positively to that offer and appreciate it.

  • Bill by the week, do a one-week minimum, and pair that with the above. You’ll be surprised how often that week turns into six months (or more).

  • A lot of full-time folks get very threatened when a consultant arrives on the scene (particularly if you’re a generalist, but even if you’re a specialist). This is just a natural protective instinct. Don’t be put off by this - go out of your way to reassure them you’re there to help, work with them, and help them do their jobs better. The defensiveness will often turn into supportiveness and they can become your biggest champions.

  • Think of yourself like a business, not an employee. Make sure you can be independent, go over-and-above on documentation, and communicate like a professional. Don’t get mixed up with company drama or gossip. You’re above the fray (and that’s why you should be paid accordingly.)


Billing weekly is what has allowed us to have no contracts in place, worst case scenario we lose 2 weeks pay but that's never happened.

We have no contracts because plenty of people have a budget but most are not allowed to sign on behalf of the company without legal and procurement involvement.


Here is something nobody mentions that seems to work. Do assessments. You charge $2k for a 2-3 days assessment. If you have relevant experience this is a very cheap and appealing offer to a company looking to improve xyz practice. During the assessment talk to the people making decisions, try to go from one assessment to a monthly freelancing gig.

At worst, you leave the company with a roadmap of what they need to do and that’s real value. At best, they can just hire you to do it 🙂

I’ve found that when you present this in a very objective way, companies are even more into it: “I’m going to leave you with a roadmap, not a sales pitch. You can use it to hire me, hire someone else, or do nothing - I’ll support you guys no matter what you do.”

Yes as long as they have a problem they care about and you can show you solved similar issues in the past they will most likely say yes. Also in the software industry people read quite a lot so they love the idea of a carefully drafted document about their challenges and potential solutions written by a professional.


(1) Start a freelance practice.

(2) Raise your rates.

(3) As you work for clients, keep a sharp eye for opportunities to build “specialty practices”. If you get to work on a project involving Mongodb, spend some extra time and effort to get Mongodb under your belt. If you get a project for a law firm, spend some extra time thinking about how to develop applications that deal with contracts or boilerplates or PDF generation or document management.

(4) Raise your rates.

(5) Start refusing hourly-rate projects. Your new minimum billable increment is a day.

(6) Take end-to-end responsibility for the business objectives of whatever you build. This sounds fuzzy, like, “be able to talk in a board room”, but it isn't! It's mechanically simple and you can do it immediately: Stop counting hours and days. Stop pushing back when your client changes scope. Your remedy for clients who abuse your flexibility with regards to scope is “stop working with that client”. Some of your best clients will be abusive and you won't have that remedy. Oh well! Note: you are now a consultant.

(7) Hire one person at a reasonable salary. You are now responsible for their payroll and benefits. If you don't book enough work to pay both your take-home and their salary, you don't eat. In return: they don't get an automatic percentage of all the revenue of the company, nor does their salary automatically scale with your bill rate.

(8) You are now “senior” or “principal”. Raise your rates.

(9) Generalize out from your specialties: Mongodb -> NoSQL -> highly scalable backends. Document management -> secure contract management.

(10) Raise your rates.

(11) You are now a top-tier consulting group compared to most of the market. Market yourself as such. Also: your rates are too low by probably about 40-60%. Try to get it through your head: people who can simultaneously (a) crank out code (or arrange to have code cranked out) and (b) take responsibility for the business outcome of the problems that code is supposed to solve — people who can speak both tech and biz — are exceptionally rare. They shouldn't be; the language of business is mostly just elementary customer service, of the kind taught to entry level clerks at Nordstrom's. But they are, so if you can do that, raise your rates.


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

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

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


It's all about creating value for your customer. “Don't give me some trend analysis, give me actionable insight “. Recommend watching this: https://www.youtube.com/watch?v=u2SdmYuMMIg

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

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

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

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


  1. Bill by the half-day, but don't charge for a 10 minute fix unless a client starts to get annoying.

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

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

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


  • Raise your rates. You need to charge way more than your FTE rate. Way more.

  • Say “no” to prospects that don't fit your practice/price.

  • Avoid freelancing/matching sites.

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

  • Specialize.

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

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


If you don't know where to get clients or you don't yet know how to sell yourself, then I suggest applying to one of the premium developer networks like Toptal, Gigster, CodeControl or Pilot.

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

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

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

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

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


I started by tagging along with a friend, who recommended me for a project he was already working for. It was easier to find the courage that way.

The next time somebody hired my, I simply said I'd prefer to work on a freelance basis. They were OK with it, however, because of my lack of experience with freelancing, I accepted a rate that was much too low. So that may be an easy way into becoming a consultant: just say you want to be a consultant…

I figured that out when I became I'll - nothing serious, but I realized I need to ask for more money to compensate for downtimes and risks that employees don't have (also, saving for my own retirement).

After that, I also registered with some freelance sites, like Jobserve and Gulp (latter might be a German thing, but they offered nice statistics for average salaries).

Because I struggle with occasional burnout or simply hating my job, I din't even do much of the network building or friend recommendations. But recruiters keep calling, just as long your CV has the right keywords. Even long gaps of “unemployment” don't seem to matter that much.

However, for the same reason, these days I would almost recommend against sending out your CV or registering with recruiting agencies. Now my profile is out there, and I can not retract it very easily. So I keep getting those calls, even though I don't really want them anymore. I'd say if you can get by without sending out your CV, it would be better.

I haven't really cut ties completely - maybe if I told those recruiters that I definitely don't want to be called ever again, they would comply. But I wouldn't count on it - in general, they just ignore “wishes” in the CV, like preferences for locations to work in.

I was also that way probably not necessarily getting the best jobs (in terms of interestingness, the pay was always OK). It was more “crap, my bank account is running low, I better accept this contract”, rather than strategically working towards work I would like. A bit of a “golden handcuffs” problem, I guess - you have to say no to good offers to be available for the ones you actually want.

This may have been more serious for me than it sounds - by being stuck in dreadful Java Enterprise projects, job frustration would mount again, causing me to quit for months, causing me to eventually accept the next best offer, for the cycle to repeat. Maybe with a more proactive way of acquiring contracts, the frustration cycle could have been avoided altogether. (Not sure, though).

Nevertheless, overall I think consulting is great in principle. You earn more money, see more different companies and projects, and the hiring process is not that fucked up. Usually they give you an initial contract for a month, to see if you work out. So they don't have to evaluate you for weeks and weeks to see if you are a good fit. If you are not, they simply don't extend your contract.


Service businesses are underrated. Good old fashioned in person services. Competition is weak and you are competing on a local level vs global. It’s low risk. Power washing is a low skilled option.

Get on your computer and buy a web domain for $1.99 per month. Get a freelancer (upwork or fiverr) to make you a logo/flyer and get $45 worth of flyers printed at your local print shop. Buy a box of sidewalk chalk if you really want to grind and get gritty. Go downtown with the sidewalk chalk and write “pressure washing and home cleaning 888-555-1234” as many times as you can in high traffic areas.

Go to a middle class or high end neighborhood and hand out flyers on porches and wherever else. Get creative. You might get ran off but its low risk. Target those with dirty payment. Your cell phone will start ringing. Book all of the jobs for Saturday.

Rent a power washer saturday morning with the other $50 and go make $300 in one day. Definitely don’t spray the house or the windows with the washer. Use it on the concrete and use a brush or sponge on the house. Get insurance first if you think you might damage something. Use common sense here folks.

Do the same thing the next weekend and then buy a power washer. Then put $200 into a website and a google place. Get a few people to review your google place. Make a youtube video introducing yourself and put your town and power washing in the title. Within a few weeks of this you will start making $1000+ in profit per week.

“On demand” is going to be your competitive advantage so you can charge a higher price. Make sure you can offer next day service or same day service. As soon as you get too busy to do that hire your first employee.

Make sure that person is presentable and clean cut. Get a business polo shirt made at your local embroider. Target students because they work hard and are reliable. They have summers off which is your busiest time.

Simplify the job so your employees can thrive. Train them to do their core task really well. Don’t forget workers comp.

Now spend all of your time answering the phone, dealing with clients, and quoting jobs and doing marketing. When you get too busy buy another power washer and hire another employee. Provide super amazing customer service. Answer the phone every time and be in a super eager positive mood. This along with the “on demand” nature will put you ahead of 99% of your competitors.

Get creative with your marketing. Put something awesome like this on your website. Maybe partner with a few realty shops in town or watch the MLS and visit homeowners the week before an open house. A home looks a lot newer with a clean driveway.

Use google maps to measure concrete area and provide instant phone quotes. Provide a 5% off discount if they let you out a yard sign up for a week. Eventually buy a cargo van and have your own generator and water tank inside so you can be mobile and do more jobs and charge more money.

Grow from there. Start power washing entire parking lots for shopping centers. Get the contract to do it twice a year for $15,000 per service. You can get one of those big ride on power washers eventually and start doing larger commercial jobs. Maybe new opportunities will arise and you will shift to other areas of cleaning. Keep your ears to the ground.

As your company grows launch a branch in a neighboring city with a management hire. Then another city. Sell the company or just cash the checks and sit on the beach with your family. You’ll likely get bored and end up building another business. Hang out with us over in r/sweatystartup if you’re into this sorta thing!