Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How do I get into consulting / freelancing?
50 points by skwee357 on Sept 14, 2023 | hide | past | favorite | 31 comments
I quit my software engineering job about 4 months ago, went to travel, and building my side project into a business.

However, things don't work as fast as I expected. My least preferred option is going back to being an employee, therefor I'm considering switching to freelance or consulting. I believe that I have a very vast experience, and can be of good use.

I, however, have no idea how to get into becoming a freelancer/consultant. I don't want to complete with people on Upwork, and similar, and I tried to reach out to my old connections.

Are there any other tips, or recommendations that you can share? Thanks in advance!



By far the best way to operate is via in-network connections you already have. This could be former employers who were happy with your work as an employee, former colleagues at those jobs, people you know from your local university or tech community, even niche Discords / Slacks / forums, and so on: places where you are a known quantity and not a commodity, places where you are not competing with a million anonymous consultants on the Internet.

If you are on Upwork or some similar site, you are in a brutal Hunger Games deathmatch with many, many highly experienced people around the world, all racing to the bottom to be commodity service providers at the lowest possible cost. Avoid that if at all possible.

Devote specific time towards keeping your old connections alive, revitalize that network periodically in accordance with your local business customs and norms (the exact things you have to do to do this vary significantly by region.) That network is highly valuable to you as a consultant. That is the one place in the world where you are not merely a commodity.

Take time too to expand your network: attend conferences and technical meetups. Participate in them as a presenter as much as you can. Ask people in your network for introductions to others.

You will find the networking aspect takes up a tremendous amount of time if done properly. Many don't like this, which is fine; these people tend to go back to being an employee.

Finally, make sure you don't spend all of your income as you get it -- that is, save a significant amount of money to cover the low points in your sales cycle. Your income as a consultant is highly "lumpy," meaning you will receive a lot of money at some points, then no money at all for a long time. Make sure you've budgeted appropriately, and you have enough money in reserve to pay for the "no income" parts of the cycle.

Hope this helps.


I am in similar shoes as OP.

I see "networking" a lot, but how exactly? Unfortunately, I am not in contact with any of my former colleagues of employers apart from being connected on LinkedIn. Starting conversations with them on LinkedIn would be awkward and weird. What else can you do?

It doesn't help that I'm a introvert, not really a social person. Probably contracting is just not for me.


Networking is a continuous, ongoing process. You must pre-plan networking.

It must be executed well in advance of actually needing a favor from the network. It is the opposite of a "transactional" interaction, such as buying something from a store.

You must make an effort to continue having a social relationship with people you meet (former employers and colleagues, etc.) from the moment you meet them. What exact activities must be done depends on your local culture.

It is very possible that contracting -- which absolutely requires maintaining a social network of business contacts -- is not for you. That's fine, everyone is different and some people for various reasons don't want to or cannot do the social networking part. In that case, you might be happier as a well-paid employee.

OTOH, if you want to learn to do the networking part, it is possible. There are courses, books, even clubs that teach this sort of thing and create opportunities to practice it. If you see it as an interesting challenge that is outside your comfort zone but doable, that might work. Don't do it as a chore because you feel you must, though; if it is forced or reluctant, it won't work well.


I think you can still reconnect with your former colleagues even if you haven't talked to them in a while. Starting a business or looking for a new job is a great excuse to do so. I have been on both sides of conversations and it never really bothered if someone messaged me out of blue or didn't respond to my message.

And if you do message, keep it short and to the point, only time I get really annoyed is when someone starts a conversation, asking about work and family then after several messages, they would bring up their real motivation. Usually, it is MLM related and when I say hard NO, they disappear again.

Something like "hey X, been a while, hope you are doing well. I am freelancing these days and looking for a new project. My main focus is tech a but can also do tech b and c. Please let me know if you have any leads. I would truly appreciate it."

And if you really want to build better relationship, you could say something like, "And we should grab coffee one day and catch up. I miss working with you."


Should help OP an awful lot… you nailed it!


Look at Codementor. The pay to do their typical "mentoring calls" isn't terrible, and it's not uncommon for mentoring to blossom into larger consulting gigs.

Upwork is of course terrible, but if you qualify as a US-based contractor, the rates are generally much higher on projects with the US-only filter.

Controversial take, but consider it: try to do some lower-paid gigs on Upwork. The key isn't the money you make, but jump-starting your momentum with positive reviews.

Post your information on the "Seeking Freelancer" monthly posts here on HN.

This is more long-tail, but setup your social media accounts and a blog/website. Make a concerted effort to post content in your specialities, and very importantly, don't discuss anything else.


I think Upwork is a terrible experience, but also, it's a pretty safe starting point.

It's where most potential clients are. You just need to undervalue your services a bit, bid low, get some good reviews. You do this for a month or two: over delivering, under charging.

Eventually, you get to a point where you have a very solid job history, and your profile stands out because of it.

At this point, you can charge a bit more.

Shameless plug: I made https://contractrates.fyi to help consultants/freelancers figure out how much too charge. It's like levels.fyi, but for freelancers. Also free - I tried monetizing it in the past and failed miserably. Now I just maintain it as a free resource.

There is also the route of Catalant, which is significantly more lucrative than say Upwork, but maybe has a little higher barrier to entry. I know several people though that make insane money on Catalant, because they are billing rates as if they are working for a big 4 consulting firm (~$800+ an hour). Expectations are higher though, and it's much less casual than Upwork. Clients overall are less annoying, in my experience, though.


Have you considered becoming a Solutions or Sales Engineer?

I switched from engineering management to freelancing/consulting and back to working for The Man as a Solutions Engineer. Honestly, it's all the upsides of consulting (getting to talk to people, solving technical problems, getting results quickly for people) with none of the downsides (chasing people down for money, finding new customers).

As long as customers are happy, my boss is happy. My autonomy is through the roof. There's no sprint planning/story point stuff like many other "normal" engineer jobs. If you're on the pre-sales route, you get to hang around salespeople (which I enjoy) and have no pressure to meet a quota like salespeople do. If I run into a particularly challenging technical issue beyond me, I can rope in an engineer from the engineering team to help if it's a big enough deal.

I wish I would have known about this route sooner. Now there's no way I'd go back to a normal engineering role


I was running the engineering team for an online virtual events company. Afterward, I quit and tried to freelance for a year (generally a pain in the butt unless you have a clear plan). Here's what I did:

1. Get REALLY specific around a skill and a VERTICAL. "TypeScript React Developer" is way too broad. I reworded my resume to be about WebRTC and video precisely and targeted a WebRTC SaaS company. The company I applied for wanted my previous company as a customer so it was a huge help. The job's all about being really great at something REALLY REALLY REALLY narrow in scope because, at the end of the day, you're helping customers understand just one set of APIs.

2. On the resume and cover letter (actually write a cover letter) focus on the people side. Stories about dealing with conflict, and shipping projects across the finish line, help a lot here. Remember, this is a customer-facing role, so the interview isn't coding-focused. They need someone who's friendly and professional and who can smile at a customer even if they're upset.

3. Nail the basics in the interview. Wear a dress shirt on the video call. Have your 5-minute "tell me about yourself" story rehearsed. Have answers for basic behavioral questions prepared. In my experience, I was usually given a paid or unpaid take-home test. Technical-wise, they were all much easier.

4. Focusing on a vertical is important because they'll want to hear stories about how you solved problems in that vertical. They could be technically "simple" problems. E.g. my present company loved that I ran an engineering team at a virtual events company because many of their customers were engineering managers at virtual events companies. I knew exactly how their customers felt because I had been in their shoes before.

If all of these sound "obvious," then you're in luck, you probably have the right personality for this gig. :-) The tricky part is finding the opportunity. Remember when you first graduated and had difficulty finding that first tech job? It's a similar feeling. Ideally, if you have a relationship with a vendor you've worked with in the past that's the best way in. Ask for referrals in your network. Send applications out. Do not expect any recruiters to reach out to you directly for a role like this.

When I did find the opportunity it took about three months to close the interview. So, don't be in a rush!


This is interesting. Are there any resources you would recommend which go into more details about these roles and the transition you describe?


Can you tell me anything about how to get into that type of role?


I'm surprised no one has mentioned Linkedin yet. It's been an essential tool for maintaining and expanding my professional network. I've also found that the occasional life update post gets me in front of a lot of potential clients. It gets shown to those in my network, and if they interact with it, those in their networks as well. To be fair, though, my life has been more "exciting" than most, recently, so your mileage may vary.


You do a lot of networking with people you want to work with. Then you talk about working together and figure it out. Lots of small companies or people with smaller budgets will say "oh crap, I wish I could hire you as an employee, but I can only afford a freelancer".


I wrote this, maybe helpful.

https://typicalprogrammer.com/how-to-start-freelancing-and-g...

Free, no ads, popups, or other nonsense.

I have freelanced for over ten years.


The most "organic" way would be to get into consulting/freelancing after you start getting several proposals. You can get into it with no network, but you'll have to work your way until getting one: blogging, showing your work, cold emailing...


Consulting is hard, it's hard to keep your pipeline of projects full so you have consistent work.

First try looking for a remote contract position as a software engineer. This will get you back to work. You could even try to get a contract working 30 hours per week to give you blocks of time for your side project building.

After that you can look at building your network for future consulting gigs.

Your best projects will come from people you know and referrals. Build open source projects in the framework or stack that you use, get to know people in the community for your framework or stack.

Create a blog to share interesting things you learn.

Connect with MeetUps and groups for your framework and stack.

Attend local business events where you can talk to business owners about their problems and issues. Be ready to suggest how a custom web/mobile application can help them solve their problem(s) and print money.

I think working a contract position would be a good fit for you to have income, not be an employee and build your business.

Check out the book Getting Stared in consulting by Alan Weis.


Best advice I have is just to talk to lots of people. Reconnect with old friends, college classmates, old coworkers. Go out to lunch with them, invite them to an activity, whatever. At some point, mention what you're doing and the kind of work you're looking for. Then wait. After a while, one of your friends will message you and ask if it's ok to give someone your phone number/email that needs some work done.

You talk to them and usually sign the deal relatively quickly and easily without any competitors. Usually, for the type of client that reaches out to their network for a personal recommendation, that recommendation is 90% of the way to closing. These types of clients also are often less price sensitive.


Previous thread that might provide value: https://hackernews.hn/item?id=21189801 ("Ask HN: How do I make the move to consultant?" (2019))


There are two answers here:

1) you should have started while you had a job. Because freelancing will be as slow as the side project you tried to start.

The same energy for sales, marketing and branding required for a startup, is the same for a freelancer.

2) You need to learn sales and marketing. Which are two different skills. Traffic --> lead gen --> lead handling --> sales.

The good news is that you do not need many clients. The bad news is they are new skills and will take time to get good at.

Like you, I went travelling, and Im now a freeelance programmer. But I built a business over the last decade where I learned these skills. So getting clients is just the same: sales and marketing.

By the way, upwork is a good way of practicing these skills. While it's a race to the bottom, getting responses and haveing sales convos is good practice.


Here are some tips to get into consulting and freelancing:

1. Build a portfolio of work. Showcase some projects you have completed to demonstrate your skills and experience. This will help clients see what you are capable of.

2. Identify your niche and specialize in a particular skill set or industry. This will make you seem like more of an expert and attract the right clients.

3. Create an online presence. Build a website, set up profiles on freelance platforms, and join relevant communities. This will make you easier for clients to find.

4. Market yourself. Reach out to potential clients, post on social media and online forums, and write blogs related to your area of expertise. Spread the word that you are available for hire.

5. Set up contracts and payment terms. Have a contract ready that outlines the scope of work, timelines, deliverables, and payment terms. Get an advance payment upfront if possible.

6. Deliver high-quality work. Exceed client expectations to gain positive reviews and referrals. Provide great customer service and communication.

7. Keep learning and improving. Stay up to date on the latest trends in your field. Invest in tools, courses and certifications to keep advancing your skills.

Hope this helps!


The description fits me perfectly except I am ahead of you. I quit almost a year ago and started consulting for a former employer just now.

I don’t have much advice to give though. It’s hard to get started and even when you do find a client it can take months before the paper work has been sorted if the client is a large (and slow) corporation.

Now I am making money again though after living on savings for almost a year, and I have a much better (more flexible) deal than when I was an employee there.


I have started and stopped freelancing a few times now, each time basically just starting from scratch again. What works for me in the beginning is casting a net far and wide. You can post in the freelancer thread here in the beginning of the month, join programming Slack channels / Discords, sign up for freelancing services that aren't bottom of the barrel, reach out to recruiters, find forums with people that need your expertise, etc. There are a lot more options I am leaving out, but you get the picture. Once you get a few good clients if they are happy with you they may refer you to people they know, who in turn will do the same. Next thing you know you've got more work to do than you can handle. If you like building apps, you could focus on something that requires some custom work to go along with it. You could also use an app to advertise your consulting services to the users.


Here are some tips on how to get into freelancing or consulting without competing on Upwork:

Network with people in your industry. Attend industry events, meetups, and conferences. Connect with people on LinkedIn and other social media platforms. The more people you know, the more likely you are to hear about freelance or consulting opportunities. Let your friends and family know that you're looking for freelance or consulting work. They may know someone who needs your services. Reach out to former employers and colleagues. Let them know that you're available for freelance or consulting work. They may be able to refer you to clients or put you in touch with other people who are looking for freelancers or consultants. Build a strong online presence. Create a website and blog where you can showcase your skills and experience. Be active on social media and participate in online communities related to your industry. Write guest blog posts for industry websites and blogs. This is a great way to get your name out there and establish yourself as an expert in your field. Speak at industry events and conferences. This is another great way to get your name out there and connect with potential clients. Offer your services pro bono. This is a great way to gain experience and build your portfolio. You can also use this opportunity to network with people who may be able to refer you to paying clients. Once you have a few clients, you can start to build your freelance or consulting business. Be sure to set clear rates and expectations, and deliver high-quality work on time and within budget.

Here are some additional tips for success:

Be specialized. It's better to be an expert in a few areas than to be a generalist. This will help you to stand out from the competition and attract higher-paying clients. Be reliable and responsive. Communicate regularly with your clients and keep them updated on your progress. Be responsive to their needs and feedback. Be professional. Dress professionally, meet deadlines, and deliver high-quality work. Freelancing and consulting can be a great way to earn a good living and have a flexible schedule. However, it's important to be realistic about the challenges involved. It can take some time to build up a client base and start generating a steady income. It's also important to be self-motivated and disciplined, as you'll be responsible for your own workload and deadlines.


I plan to do the exact same thing next year. I don't have all the answers for you, but I would start by asking my LinkedIn network about any contracting jobs <6months and build a CV website. I assume you come from the Tech industry, but a lot can depend on what branch of IT. Developers can get their name out a lot easier than (DevSec)Ops people by contributing to OSS, so give that a try. But either way even a basic Udemy course on the subject can be helpful if you have no idea where to begin.


The best freelancing jobs I got were from my network. Mostly people who were contacted by someone for a gig and they referred my name.


Not much. Work as an employee until you build out a network big enough to rely on to get contracting jobs. It's faster if you work in professional services or technical sales roles as an employee already.


You start by selling.

You continue by selling.

And you sell even when there’s technical work coming to deadline.

Nothing matters more than selling.

Sales trumps technical ability.

It trumps quality.

It trumps your ego.

The alternatives to sales are Fivr, employment, and an empty belly.

Good luck.


To begin, you might want to check out UPWORK, as it's where most clients are, and you'll probably find your initial clients there.

Secondly, building a brand or online presence would go a long way. This is a slightly more challenging route, but it's also rewarding. For instance, if you have an open-source project, you could secure consulting projects based on your project. Blogging can also be beneficial.

Lastly, if you're just starting out, definitely start with UPWORK and gradually build your brand/online presence.


It sucks. Get ready to do lots of non technical stuff for running a business


If you have to ask, it's not going to work out for you. The market is saturated with unemployed tech workers. Unless you have exceptional skills at rock bottom prices, there will be nothing anyone will pay you to do. Harsh reality of the current economic situation.


A good way to get started is not to ask "How do I become a freelancer/consultant" but rather "what valuable business outcomes can I deliver with my technical skills" and then find clients who have those problems and solve them.

Yes, this ignores the hard part of "finding those clients".

I know people with expertise in improving website performance, for example, and the mindset shift here is not to think about response times but rather improvement in conversion rates, decrease in shopping cart abandonment rate, etc. Clients don't really care about caching or asset preloading but they really, really care about squeezing the extra dollar from their website visitors. Help them make that extra dollar and you get to keep some portion of it.

Once you establish this foundation, getting to the right clients is easier than if you put yourself out there advertising "will write Python code for $$$".

So for instance, I wouldn't necessarily attend technical conferences / meetups but perhaps conferences where, I don't know, ecommerce website operators discuss issues that are critical to them. Those are your potential clients who can be perceptive to the right pitch. I think that technical conferences are a better fit if you're looking for a job and selling your resume.

Having said all of this, when I started out as a freelance dev, I did use Upwork to get some experience and reviews that I could later repurpose as testimonials on my website.

There's nothing wrong with hands-on freelance coding to get started somehow. It can be hard to define what specific business outcomes I could deliver with technical skills/existing resume, so getting some real-world experience can help with refining that. Always be on a lookout for that answer: once you understand "why" your clients keep paying you (hint: not for the code itself), you can find your niche and improve your sales pitch.

Finally: yes, it's critical to get out there and connect with people! Be it on LinkedIn, email, forums, Discords: you won't get clients unless you talk to people. Talking to past connections could also be a good way to find contract opportunities esp. if you've kept in touch over the years. Being a solo dev/consultant is 80% people work and only 20% technical work.

PS There's another way: you can ignore all of the above and apply to contract jobs (1099) using recruiters to get to clients. That's very similar to employment (clients tend to treat you just like staff) but you can potentially get better rates. I've been doing this for years with "success" but frankly, it's only marginally better than employment plus you get no benefits like vacation days etc. Real, actual consulting/freelance work can be a lot more satisfying if you can make it work!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: