How to start with Software Consulting or Freelancing

I have been working as a Consultant for the past 6+ years. All of this was remote work.

From time to time I get asked online and in person, how someone could get started with Consulting/Freelancing themselves.

Before we proceed, what do these terms actually mean:

A Consultant (from Latin: consultare “to deliberate”) is a professional who provides expert advice


Freelance (sometimes spelled free-lance or free lance), freelancer, and freelance worker, are terms commonly used for a person who is self-employed and is not necessarily committed to a particular employer long-term

In terms of work being done, I have seen people mostly refer to this work as Consulting, in the Ruby on Rails world. You would be helping people out in various projects, based on your “expertise”.

The freelance field is projected to grow to 20$–30$ billion in the next 5–7 years in India and the freelancers in US will comprise 40% (approx.) of the workforce at the present growth rate.

Considering how this field is growing, many experienced developers are finding this, as a better alternative to try out working independently.

Before you begin

The first thing to think about before you begin, is understanding the financial impact this is going to have. I have heard many advice from:

  • having 3-6 month paychecks saved up
  • have your next clients lined up

This is relative advice.

One needs to think about their respective risk appetite just as in any other entrepreneurial endeavor. Most successful consultants I have seen, already had clients lined up that they would work with next. This is what we try to follow at Saeloun. It helps us reduce risks for all parties involved(us, employees, and the clients).

Going further, if your current contract allows it, it’s always better to get a head start with your future client. This also ensures, if it’s a good fit for both parties involved, and leaves you with more time to find some alternative client.

Getting work

There are two ways one could get work:

  • Inbound
  • Outbound

Both have their own merits, that we will explore more.

What they both inherently have in common is how you build your “Brand”. Whether inbound or outbound, people will check your portfolio, website, social media presence, GitHub account and more.

Your “Brand” builds “Trust” in you from your client, even before you start working.

Building your Brand

To get work, just like any other company, you need to build your “Brand”. This comes from various sorts of marketing, outreaching, and more.

Make your presence felt in your community and field

First things first, you need to put it out that you are even consulting. This is not inherent, and should not be assumed. You will not be receiving future leads, if people are assuming you are employed someplace, and not open for work.

Get involved in your local meetup

The easiest place to make connections is at your local developer meetup.

If you can, try to present a talk at the meetup, on something that’s of your interest.

Go meet people periodically. Ask them what they are working on, of their interests.

Seek out people who are already freelancing in your community and ask them about their experience in getting work

They might already have some overspill work for you ;-) Ask them how they got or get their leads. People will be more than happy to share their experience.

Tell people about yourself. If your meetup allows it, announce it publicly as well during discussions, that you are a Consultant and looking for work.

Talk at your local conference

To be known and make connections with even bigger crowds, talk at your local conference, relating your field of work.

Same as meetups, this is the best place to make connections on a bigger scale.

Hang out with people, make friends :-).

Conferences also act as a big way to make your online presence felt to the attendees, especially if you are giving a talk.

Blog often

Conferences or meetups is not easy for everyone. What one should try though is to write and write as much as they can of meaningful content.

Your blog remains as your best tool, to make people know what you are good at. Write about things small and big. What was something that you learned, found interesting. Something however small, but could help someone save hours of searching.

Blog also acts as a pretty impressive SEO tool. The more your blog post is shared, the better traffic you are going to receive to your site. Which is essentially going to get you noticed more and bring in future leads.

Existing network

Reach out to your existing network, of people who already know your work. Even if it’s a traditional company where they are employed, always reach out.

I have seen many traditional companies, engage my friends as consultants in a contracting position.

Reaching out is the first step.

Cash Flow and Rate

Understand your cash flow.
Your cash flow cycle determines what you are charging. Unlike a traditional salary, your payments might not be timely and uneven across clients.

Anticipate for less than full utilization of your time on client work. There are going to be lapses from your client before to when you work next.

Keep that into account, when you charge your clients some rate. Short term work == Higher rate, to account for your time spent on the next sale.
Communicate the intent of this charging rate to your client.

Keep a healthy buffer of cash savings, based on how you charge your clients, the time they take to pay and more.


Always sell.

If you are in the middle of some work.

If you are going to be busy for the next 6 months.

Sell today for work you expect to come in 6 months later.

Sales cycles are slow, they have larger turn around time. Take this slowness into account, and sell for your work in the future, today.

Saying No

It’s OK to say No. This goes hand in hand with your sales cycle. Many clients would want a low rate, or a “fixed price project”. If these are not something that would match your earnings before, or your monthly goals, its okay to say No. Just because it’s been 2 weeks, and you’ve not had any work, try not to give in. Working on low cost project today, has an opportunity cost. You will have to turn down the next project, that might pay better, but can not since you are already occupied.

There’s always more work out there :-)

There’s always more work to do.

Build a niche

Branding, outreach, and others take time. As you grow, make sure to build a niche. If you’ve landed with a longer term client, and have a safe outlook, it’s ok to not chase too much. Else keep on growing and carving yourself a niche. Ask yourself,

What do you like working on best?

What do you enjoy?

What do you bring to the table, and your clients can’t live without?

Play to your strengths.

There’s always something else

Finally, it’s ok to not be comfortable with consulting. Like remote work, consulting is not for everyone. Not getting a lot of work, or being successful at consulting, doesn’t make you a bad programmar. If you are not motivated to work on a consulting project, an interesting job opportunity is a better place to be.

Note: The post tries to have generic information for consultants, but talks about consulting from an Indian developer community in mind.

Need help on your Ruby on Rails or React project?

Join Our Newsletter