Ask HN: How do you find freelance work?

518 points by i_am_nobody ↗ HN
I'm a software engineer with a full-time job, but I have lots of spare time in my off hours. I'd like to monetize this time, but finding freelance work has been extremely daunting.

I don't have a ton of networking skills, so I don't have a network I can tap for opportunities. I don't really know how to find opportunities otherwise. I have the approvals I need from my full-time job to do this, but it's still not something where I want to splash my name all over the place. I also don't have a lot of public code, so no big portfolio I can point people to.

I'm not looking for massive pay, just something to occupy my time and some side money. But I want to leverage my skills, not do mechanical turk work.

How do you find freelance work?

205 comments

[ 2.8 ms ] story [ 267 ms ] thread
1. Identify a skill that you have, and other people want. The more succinctly you can describe it, the better. Programmer == bad. C# developer == better.

2. Identify where people who need that skill spend time (meetups, clubs, slack groups, podcasts, discussion websites, mailing lists, etc).

3. Spend time at these places, delivering value, and pitching your wares. If you can get on stage to present, even better. A strong effort in a few places will usually beat a weak effort in many places.

4. Tell people you know that you are looking for gigs in your specific niche area.

5. Find agencies, others who do this work and let them know you're available if they get too much work, or get clients that aren't a great fit.

6. Most importantly, never be anonymous. This post is an example of a missed opportunity. Who knows, someone might have needed exactly what you're able to offer.

Programmer == bad. C# developer == better.

I am a full time job person at present so I am by no means an expert but this seems wrong to me. Aren't the majority of people who do the hiring for freelancers non-technical? As such pushing a particular tech seems like a bad idea. (I am always pretty skeptical of people who rant about how a particular tech will solve the problem rather than how to actually solve the problem. Heard "relational databases don't scale" too many time by people who have relatively small data sets).

A client that doesn't know what he wants is a bad client. Those kinds of people often have unrealistic expectations like "I want a website like Facebook for $500". Don't work for such people.

That leaves people who do know what they want. So let's look at it from their perspective.

Let's say they need a Windows desktop app.

Two people apply for the job.

You say "I'm a great programmer, here's a website I wrote".

The other guy says: "I'm an experienced C# programmer. In the past I've developed 3 Windows desktop applications in C#/WinForms and I can do the same for you".

If you were hiring, who would get the job.

This is not about pushing C# technology but a best match between what the client wants and what your skills are.

It's also not about C#.

What the OP meant is that if you have a specific skillset, you should market that skillset specifically. Both ruby backend programmer and an iOS mobile programmers are programmers, but when a client is looking for iOS mobile programmer, he'll pick someone marketing his "iOS programming skills" over someone marketing his "programming skills".

> A client that doesn't know what he wants is a bad client.

I disagree completely. A prospect who doesn't know what they want is an opportunity for the freelancer to provide more value by finding a solution for them.

You're conflating "unrealistic expectations" with "I know I have a problem but I don't know what the solution is." The former is something to avoid. The latter should make cash-register sounds in your head because it's an opportunity to provide more value and charge accordingly.

I believe his main point is that a client that doesn't know what he wants also doesn't know how much to spend, and sure doesn't want to over-spend.

If you find someone that doesn't know what they want but is throwing cash around, sure, be the expert that leads them to digital nirvana.

Generally though, if they don't know what they want, they don't realize how hard it is and so will be in for some serious shell-shock when you tell them the price tag. At which point you're either lowering your rate to still do the work or you've wasted a lot of time talking to them (which they generally don't expect to pay for unless your forte isn't writing code but "being the expert that tells you what you want").

I think we’re talking about different classes of customers.
This is where you quickly educate the customer. It's no different than you calling a plumber, only to find out that what you thought would be a $50 job is really a $500 job.

If they seem like the type who doesn't understand the cost, you tell them "from your description you're already well into 5-figure development cost." Or "$500 is typically what you'd expect to pay for minor website content updates."

This ballpark pricing shouldn't take more than a few minutes to figure out. And it puts the ball back in their court to do more research and figure out if they can really afford the going rates.

Almost nobody, whether technical or not, is looking for something as generic as a "programmer" when they want a freelancer. Some people want expertise in a particular technology. Other people don't care as much about the technology but do want someone who builds a particular kind of product.

I think the point being made earlier is that you want to have some niche where you can claim expertise. It doesn't have to be a specific language, but "programmer" loses to almost any other job description in almost any scenario (and the scenarios where it wins are mostly nightmares).

Nope. We often know exactly who we want to hire. The more specialized you are the better. Find a niche you really love working in say crypto for example and work to be known for that type of work. General = bad.

Also network with designers and agencies. I’m a ux designer and a ton of my work comes from agencies. You could even cold email them and introduce yourself politely. I know this sounds like bad advice but it really isn’t.

I understand you said you don't have networking skills. I too find networking pretty awkward and tedious. But in my experience the best kind is the kind that does not feel like networking at all.

You could go to relevant meetups for your skillset and find people who could use your help there, but this still feels like networking. (it can be awkward to talk to random strangers there)

However, there are other kinds of 'meetups' where it's just developers having beers together and discussing our trade or whatever else. If you go to these you'll become acquainted and maybe just make friends with some of them. This does not feel like networking at all! Work will naturally come your way after that.

Another good source of work is people you have already worked with in the past. Drop them an email or invite them to lunch, it feels pretty natural to just keep in touch (not awkward at all).

Anyway, these are just the ways I find work as someone who dislikes networking and recently became a full-time freelance developer.

Agree with taprun. It is easier to communicate when you are specific. What do you build or like to build? Lots of people would like to work with an engineer like you on projects, myself being one.
I'm a full-time freelancer and I'm super specific on my niche, new music technology. I find that works pretty well. Sometimes I'm applying for gigs, sometimes folks just cold email me, and sometimes people refer others my way. But being a specialist seems to be the one thing that works best for me.
But the question is what website beside the upwork and frelance you can use to find jobs related to network/system administration ?
There's a job channel for React on the Reactiflux Discord server. I think there's also one on the Apollo slack community, and I've seen them in other places too. I don't know how effective they are because I'm trying to get my project further along before posting to them.
I've used Upwork to varying degrees of success. Here are few of the pros and cons

Pros: - It's easy to get started, you can just create a profile and get rolling. - Lots of people on the other end of the spectrum, lots of potential clients which can later help with networking.

Cons: - Lots of competition, when you're just starting you have to work really hard to build a reputable profile.

- Upwork has lots of restrictions, so make sure you read the TOS. My first account was deleted because of a TOS violation, don't let that happen to you. - 80% of potential clients either aren't serious or are clueless, this was the major reason I stopped using the platfrom.

I did see some success and I still have clients that contact me for work that I met through Upwork but I just can't stand the potential clients anymore and have pivoted to my own startup.

Another con is that no matter how wrong the payer is, the freelancer loses every case. They truly don't care about you.

I would pay $400+ for each week of work I do just to be tossed under the bus. I closed my account as well.

Also, be wary of the scammers; Upwork has a lot of them. I was taken in by one or two that sounded legitimate, and now I'm super careful.

They typically try sucker you in with an almost-real sounding job, then try to get you to accept a check via email (photo deposit) and then pay for some equipment within 24 hours before the check clears. Or they find some other way to obtain your financial details or login credentials. These people are clever and evil, and Upwork apparently doesn't seem overly concerned about getting rid of them.

you might want to try Upwork if you haven't.
See: https://www.gkogan.co/blog/how-i-learned-to-get-consulting-l...

TL;DR - I tried out networking but it didn't work for me. Instead what's worked very well is writing educational content about the topic I'm an expert in. People often search for a solution to a problem before they decide to hire someone else to just do it for them. If they find your instructions for solving that problem, they might think "Why don't I just pay this person to do it for me? They'll probably do it better and faster."

Thanks, I really like your article. I have some follow up questions:

- When you're blogging, do you have a method to figure out what to write about? Are there "types" of posts that are more successful for you than others?

- You said that most of your work comes from referrals now. What do you think about people trying to get in the game and start making free tools for a specific industry like (i.e. construction) to generate leads? I know some startups use this as a marketing tactic, like HubSpot's website grader. Then just freely promoting that tool in a group of LinkedIn construction executives.

I pay attention to the questions my clients ask and the pain they're feeling, then write about that because I assume other potential clients have the same pain. Occasionally I write about something just because it's been on my mind. I specifically the strong urge to write for other people like myself (that is, other marketers), because they're never going to become my clients.

I like the idea of having a tool that acts as a lead generator, so long as it doesn't take too much time to make, because there's no guarantee it will work.

I am in the exact opposite situation right now : how do I find a C system freelancer ?
Post an open-ended comment on a popular Hacker News thread and watch the messages roll in? ;)
The freelancer thread can work, and hopefully you have a network you can ask.

Please, though, tell us more about it! What's the project in a nutshell? What kind of developer skills do you need? Rough ideas of time investment and compensation?

Work to be done includes pixel format conversion, creating multi threaded encoding queue, documenting existing code / reorganizing the files, creating a little parser for command lines generation. 3 Months minimum
I have a lot of experience here and have worked on a large graphic application that you may know about if you are in the industry.
what kind of C help do you need? :)
Like I answered in another comment : Work to be done includes pixel format conversion, creating multi threaded encoding queue, documenting existing code / reorganizing the files, creating a little parser for command lines generation. 3 Months minimum
Are consultant brokers/agent only a thing in the Nordic countries? I started my own consultancy firm last year and just sent my profile to a bunch of brokers. They all got in touch and presented assignments they had. I selected one, went on 1 interview (!!) and bam - six month assignment. The broker gets 10% of what I make. It’s super convenient and saves me a bunch of stress and time hunting assignments so the 10% is really worth it.
Can you list a few of these brokers?
Hays, Gulp.de, Computerfutures, Darwin Recruitment, Montash (not an endorsement, just the ones I could think of right now)
remote friendly?
No. But it's slowly getting better. Every once in a while someone posts a "100% remote" contract. Usually it's full-time on-site. Sometimes a few days a week "home office".

Working through these kind of agencies is not freelancing in the sense OP is looking for. It's working as a temporary employee (still with more freedom and paid overtime :).

10% seems quite a lot, I'm wondering if your hour rate is so high that the 10% doesn't matter.
If you think about opportunity cost, it might not be as much as you think. Sometimes there’s a fee for getting to the next stage quicker than doing it yourself. You’ll have to decide if the fee is worth it.
I've seen anywhere between 5-20% working as a freelancer/consultant in London. This is partly why I think clients are keen to respond to cold emails about work - it can save them a lot of money compared to using recruitment agents.
If you're a lone consultant, you likely spend more than 10% of your hours on "selling" your services, recruiting clients, etc. Especially since not every pitch works out. If you can get all of your sales&marketing and much of your scope negotiation done by someone else, that's worth 10% of the project cost because that's 10% of the project effort.
I make 110€ an Hour, so the agent gets around 1500€ from me each month.

However, a lot of the assignments are available ONLY through agents. So the alternative to 90% with an agent is not 100%, it’s 0%

Are you sure it's only 10%? The markup in the US is generally much higher, pegging the expectations quite high even though you're receiving a fraction of that.
Aren't these just 'recruiters'?

Also, I'm not sure if a 6 month assignment counts as freelance :D I think he is looking for something to fill the hours, not a new job.

I'm the co-founder of Moonlight! I used to freelance full-time (and still do it part-time). I had trouble finding gigs that matched my skills and interests, e.g. optimization algorithms in Julia. Other sites were mainly web development, but it seemed tough to justify a high hourly rate while doing less specialized work.

So, I started Moonlight, where we match you based on skills. People are hiring for things right now ranging from machine learning to Elm web development to PCB design. The average hourly rate is over $100US/hr.

We are still in our early days and small (as a team of 2), but I'm making it my full-time job to help you get quality freelance projects! I want to keep jobs specialized and at a high hourly rate as we grow, and not sacrifice quality.

Feel free to reach out to me with any questions! (philip@).

Hey, I checked you site, great work!

Only issue for me is that you only support stripe for payments and is not available in my country, Uruguay.

Why is that? Why not leave the payment chanel free? Or use paypal or something else?

I was in Colonia last weekend - Uruguay is great!

At this point, it's a question of time to build in additional systems. Stripe Connect let me (the solo engineer) build a marketplace quickly. However, it doesn't have great international support.

We are looking at other options, such as Payoneer. The main priority right now is on growing the client side of the market. However, after that, we will likely return to the contractor side to work on some projects such as expanding payment options.

Glad you like it :)

I understand, thanks for the answer

Yea, same here. That has been my only blocker — completing my registration
We track signups by country and will notify you when we add support for yours!
I just signed up on your site, looking for kubernetes and Linux work.
I started the process of signing up, but stopped when you wanted me to sign up for a stripe account. I would prefer to look around more, see what kinds of things jobs are posted before I go though the hassle.

Maybe you're the best thing since sliced bread, maybe not (there are a lot who aren't) and I would like a better opportunity to see what you offer.

I'm also confused about what exactly you offer. Are you more like an online recruiter, or more like upwork, or a job board?

How do you make your money? Do you charge people to post positions, or do you tack something onto the hourly rate, or?

I don't want to sign up for something unless I know what I'm getting into and out of it.

> I started the process of signing up, but stopped when you wanted me to sign up for a stripe account. I would prefer to look around more, see what kinds of things jobs are posted before I go though the hassle.

Valid feedback. We have been concentrating on improving the client signup experience for the past couple weeks, and it has made a huge difference. We will focus product efforts on improving the contractor signup experience soon.

> I'm also confused about what exactly you offer. Are you more like an online recruiter, or more like upwork, or a job board? > How do you make your money? Do you charge people to post positions, or do you tack something onto the hourly rate, or?

It's more like upwork. Clients can post jobs, or directly hire you through your profile. Moonlight has some product management capabilities, and we manage weekly invoices. We add a 15% processing fee on payments. You get your full hourly rate.

> I don't want to sign up for something unless I know what I'm getting into and out of it.

Email me and I can setup a video call to show you the product!

can your service be used by a non-US company?
Your website peeked my interest as well. I just subscribed and am curious to see what kind of jobs you have available.

(I also messaged you guys about skipping the stripe process)

I like to sign up for this service as well. But Stripe is not supported in my country. Why not Paypal? Or maybe cryptocurrency? :)
We are looking at alternatives like Payoneer. I have a personal moral opposition to PayPal :-)

We very seriously investigated cryptocurrencies. We found that companies would have to pay with crypto to make it legal under us law, and companies were not ready to do that yet. Details here: https://www.moonlightwork.com/blog/cryptocurrency-and-compan...

What about normal bank transfer? Is it really cumbersome?
I signed up. My initial impression is that 15% is a pretty hefty fee (despite the marketing of constantly saying "low" when talking about it) but at least that fee is passed off to the client rather than disguised as part of the freelancer's earnings (a la Upwork).
I do AI/ML/data science freelancing, (usually around cyber security), but also do a lot of Devops / systems work.

The AI/ML stuff is harder to find, save through networking, but for the DevOps/cloud/sysadmin - I favor weworkremotely.com and workingnomads.com. Their email notifications are pretty handy as well.

As someone else mentioned - upwork works, but it’s very very competitive, and I much preferred their Elance platform in the day.

Really? I keep on reading about we work remotely, but there are zero jobs that are well-paying enough. There is also a dearth of programming jobs.

It's similarly irritating that they send an email all the time reminding me I'll lose my account. Well, yeah, try screening your companies and ban jobs that you can't do unless your homeless.

Be helpful, polite, and talk to people. This can be on an online forum, group chat, or in person. If you are genuinely helpful and polite, you will form relationships, which can eventually lead to jobs.

It's precisely when you're not trying to find work that the wildest opportunities will come to you.

Once a month on the first, HN does a piece called "Freelancer / Seeking Freelancer." You could post to that and/or check it for "Seeking Freelancer" comments.
Unfortunately, the "Freelancer" posts outweigh the "Seeking Freelancer" posts by ten to one or so. I tried posting in the last thread, and the only response I got was from someone asking me to work on a project which involved helping people buy a certain substance which is still illegal in my state. Didn't wanna touch it.
It's hit or miss, but I've had more legit contact than gray area or sweat equity contacts.
Answering job board ads is a numbers game - I can't get better than 20:1 even being very selective.
Great! You got a positive response, do it again next month.
Toptal[1]

If you're a really good engineer (like I strongly believed I was) and don't have the network to find gigs (I live in Pakistan) freelance market places are great ideas on paper but never work out... Until I joined Toptal. They screened me to ensure I was a good developer (high quality supply of developers) and then worked with me to find a client that would be a good fit.

Since not everyone can get into the marketplace, it isn't a race to the lowest rate and they have the best clients I've ever worked with. At one point an old client emailed asking me to temporarily move to Australia for a project (although I declined)

You can work full-time, part-time, or even hourly. It's exactly what you're looking for!

Full disclosure: I later joined Toptal as an editor for their engineering publication [2] so I technically work there but this was all based on my experience as a freelancer there

[1]: referral link - topt.al/cppg [2]: https://www.toptal.com/developers/blog#contract-just-respect...

Been working for/with Toptal for over a year and really liking it. I first started working freelancing through Upwork and hated it, the clients were bad & rates low (plus Upwork takes 20%).

I really like that Toptal takes care of screening for quality clients and dealing with payments. Plus they try to provide some soft benefits like personal & professional development.

As a counterpoint, I found their interview process so frustrating and disorganized that I gave up on them and told them I was no longer interested...

They do both an online programming test, and an in person “code in front of us” test + whatever else. They don’t make it clear up front what the interview process is, and often drop the ball... miss appointments etc.

Interesting. I did find the process a bit arduous, but my interviewers were fairly professional. They were always punctual. Your experience is also the exact opposite of what Toptal tries to be: incredibly dedicated.

Might I suggest giving it one more go? Your experience is likely an exception, and definitely not the norm.

Personally, once I got through the screening, and started working with clients, I decided the screening process is well worth it.

I found the exact same thing. I found the staff rude, slow and like they thought I was beneath them. I consider myself a skilled developer with a long, happy client list filled with some pretty big names. I also felt like they didn't respect my time with regards to my timezone. The guys at gun.io have been pretty nice but I haven't worked with them yet.
How much do you make from Toptal? A year ago I started the process with them, and they told me that they generally have regional rates. They corrected that programmers are free to choose their own hourly rates, but hinted that you won't get projects if your hourly rate is higher than average (They did not openly tell this, but the implication was clear).

They mentioned that the average hourly rate for India was $20 -- something which is way below what I make in the day-job in India. Also, I have worked at much higher rates as a freelancer.

At $20, I just decided that going through their arduous interview process was simply not worth it.

What has been your experience?

I'm not entirely comfortable sharing my rate but I started from near it and just moved it up. I haven't had any trouble with my much higher than regional rate since I truly believed I could make it work at that rate.. and I did

I don't know their internal rates process at all but I always thought regional rates were meant to be guidelines. To be honest, living costs for India or (in my case) Pakistan are much lower than the US so I'm certain I still come out with more income after living expenses

Consider volunteering for relevant work at a non-profit you care about (especially if the executives, volunteers or Board members are connected to organizations that interest you).
There's also the United Nations Online Volunteers.

They have an internal postings board for non-profit and charity organizations all around the world that have applied for volunteer technical help. There's a lot of need out there.

https://www.onlinevolunteering.org/en

A bit off-topic, but after reading "software engineer with a full-time job, but I have lots of spare time in my off hours" I find myself contemplating if I'm alone in wondering how anyone can have free time with a full-time software job. I work full-time in software and it is an all-consuming, life-eating thing. Perhaps (hopefully) I'm just "doing it wrong" and there is hope out there for a life beyond work... :-)
IMO, if I'm thinking about work more than 8hrs/day, I'm doing it wrong. That's just me though. I love my job, and I love not worrying about it when I leave.

Different employers can have pretty different expectations about this. I always try to let potential employers know it's important to me when looking for a job. Usually it's as simple as "Work life balance is important to me. Can you describe how your company handles that?"

Sounds very sensible. I plan to make it a point of emphasis during my next job search.
same feelings here. All my time is sucked either into the full time job ( writing code, debugging, profiling... and then meeting with stakeholders, debating requirements... and then coaching the younglings management hires oh-so-often... and then, repeat. ) or into the commuting from home to work. I get to the weekends ( when it's not just extra time to finish even more work ) exhausted, praying for a quick and merciful death. Every week. {ironic}The mrs. just loves that routine...{/ironic}
Hah, I feel your pain. I suspect we are indeed "doing it wrong". Best of luck to you!
If you're curious, I wrote a post[0] quite some time ago that covers a few things you could do to start a successful freelance business without any prior network.

The TL;DR is to goto local meetups and talk to people in the street while avoiding freelancing marketplaces like the plague. That's how I mostly started freelancing 20 years ago and it's what I still do today.

You don't need a portfolio or anything to start getting clients.

[0]: https://nickjanetakis.com/blog/how-to-start-a-successful-fre...

"I don't have a ton of networking skills"

Work on this. I have built my consultancy over the past 6 years and it started with me doing freelance and now we do over $1m/year in revenue.

I attribute the majority of success to networking. Here are some of the things I did early on (and still continue to some extent).

1. Local meetups. Great place to show off, hear about leads, etc...

2. Find influencers / networkers in your area and buy them coffee. Ask tons of questions and end with "Who else do you think I should be talking to?"

3. Build stuff - I decided I wanted our team to be known locally for doing crypto dev, so I just started building cool stuff and showing it off at the local dev meetups. Now we have tons of crypt contracts!

Whatever you do, come at it with the attitude of wanting to contribute to the community using your gifts/skills. The work will follow.

Best of luck!

I have built my consultancy over the past 6 years and it started with me doing freelance and now we do over $1m/year in revenue.

How many employees does your consultancy have including yourself?

Find influencers / networkers in your area and buy them coffee. Ask tons of questions and end with "Who else do you think I should be talking to?"

I feel like something is missing here. The sales part, I imagine. Otherwise how does simply asking people questions translate to business?

We have a mix of employees / contractors but usually hover around 9-10.

As far as asking questions, it’s about the long game. I aim to build relationships with people and establish myself/my team as an authority on software dev.

Almost none of my meetings are “sales” meetings, in fact we never do advertising at all. All leads come from people who eventually want work or refer their colleagues. Some meetings pan out and others don’t.

This a thousand times over.

Never sell yourself the first time you're meeting someone. Explain what you do and turn the conversation back the person you're talking to. People love hearing their own voice, so let them talk. Take a genuine interest in what they do and they'll remember you as a good person.

If you can help them, reach out the next day with the whole "I was thinking about X. We do Y, perhaps we could help." If you can connect them to someone who can solve their problem that isn't you, do that as well.

As the parent says, people remember and refer / think of you first when you're needed.

I'm not a baseball fan, but I think the saying is "you'll never hit a home run if you don't step up to the plate."
This is great. I've just launched a product consultancy and I really need to start presenting at meetups about the technology we're using. It just seems like such a perfect way to get work that aligns with what you want to be doing in the first place.
And remember that all this works only if you have local meetups or someone to network at your area at all. Living in major city provides a lot more opportunity for this than a small dying town countryside.
> I'm a software engineer with a full-time job, but I have lots of spare time in my off hours. I'd like to monetize this time

> I'm not looking for massive pay, just something to occupy my time and some side money.

This opinion will change. I 100% guarantee it. A few years ago, I had the exact same reasoning for starting freelancing on the side. I even justified my desire for more paid work as "I'd be programming on personal things anyway."

So, I took a freelance job. I thought it'd take about 6mo of weekend work. And I took it at 40% of my normal day-job rate because, it was "friend" work, and, again, "I'd be programming anyway."

It took two years.

That was two years of nights and weekends that did not belong to me. Two years of not being able to devote time to exploring other technologies, learning new things, or just goofing off. I took vacations from my day job to work on my side project because I was so desperate to get it done and have freedom again.

The opportunity costs involved are absolutely massive and should be heavily weighed before deciding to take on more work.

You make a very good point here. I too have taken on freelance work that ended up consuming much more time than expected and I found it very draining. Even when you aren’t working on it, the knowledge that you have to work on it hangs over you.

These days, if I’m working five days a week for a client, I will only take on small side projects (something that I could probably do in a few days full time work, but I will spread out over a month or so) for people who understand that is all I can take on and that I will be working at that pace.

I’d advise starting small, overestimating how much time it will take by quite a large margin, and taking breaks between projects, as it’s a horrible feeling when you realise something you’ve committed to is going to take much more time than you expected.

Bill per hour and charge more.
More specifically, don't do fixed cost contracts. They misalign all the incentives, and encourages you to do a worse quality job. And it encourages them to take up your time with meetings and support and new "quick" features to add.

Best is a fixed hourly rate, providing them an estimate, and setting it up so that you won't exceed a maximum (after which you can reevaluate with them whether to continue).

This lets you be flexible on the spec and respond quickly to changes they may want, it lets you get compensated for all those little things that you don't plan for like meetings, and you no longer have to give your time estimate a padding to ensure you meet the deadline.

Although they pay less on average, I think you also make more on average. Consider, for a fixed cost project you need to create rigorous specs that take weeks to develop and then negotiate over how hard different things are. Which of course itself takes lots of time. And god forbid they want to add a new feature or change a spec, necessitating either you just doing it for free or negotiating a whole new add-on project.

Ratios of overhead to actual work? Honestly, probably like 50-50... so by cutting out a good chunk of that first 50% from the process, both sides save time and can do other more useful work. I'd way rather take on two clients and not spend my time negotiating and doing paperwork.

This is good advice.

Let me add another important tip too. Bill on regular times. Like at the start of each month and be strict with payment terms. Just do a friendly reminder after that, but...

If the customer doesn't pay within the set term, stop working on the project. If they do not value your time you should not spent time on it.

> More specifically, don't do fixed cost contracts.

Strongly disagree. I've been doing fixed cost contracts for a very long time with great success. You just need to know what you're doing.

> They misalign all the incentives, and encourages you to do a worse quality job.

Billing hourly does that. It encourages you to "fit" yourself within the estimate that you had to provide. That's fine if you overshot, but if you were way under, now you're under a ton of pressure to get things done quick and you end up doing a quick hatchet job. All because you want to avoid explaining how you were wrong on the estimate. If you keep missing the target, which can happen even with the best of us, the entire project can turn into a pile of excrement.

With fixed price, there's no timer on the side of your table. You take the time to do it right. If you're off by a day or two, the client will take that delay a lot easier than a bill that's twice what they expected AND took twice as long.

Do you lose out since you worked time that you didn't get paid for? Sure. You also win when you get the work done faster than what you estimated. It will even out, but the client will be happier since the experience is less volatile for them.

Which is the point. Clients much prefer a fixed price, since it lets them budget accordingly.

Think of it this way, if you were hiring a plumber, would you want the guy to show up and say his rate is 300 an hour or would you prefer him to show up and say this is going to cost you 150. Which is less stressful? What are you more likely to say "yes" to?

> And it encourages them to take up your time with meetings and support and new "quick" features to add.

No. I set the meetings at the beginning of the project. We meet on a regular basis. There are no surprise meetings. All communication outside of those meetings is via slack/email.

Also a "quick" feature in my book is something that takes me 15 minutes. I do those at no additional cost since it would take me longer to bill for those. I get less than a dozen per project, which works out to a few hours of work which is already expected and added to the budget. Anything over 15 minutes will get a fixed price cost and additional time added to deadline. I've never had a client push back on this way of doing things.

> Best is a fixed hourly rate, providing them an estimate, and setting it up so that you won't exceed a maximum (after which you can reevaluate with them whether to continue).

Clients hate this, since they have no idea what it'll cost. Even if your way of doing things will cost them less. They hate uncertainty. They already have enough of that.

The maximum you're setting is my fixed price, which I simply get paid every time and the client is happy because they know what's coming their way.

On top of that, you're stressing on your end when you start to approach that maximum and start cutting back on the quality of work. I just focus on getting the job done.

> This lets you be flexible on the spec and respond quickly to changes they may want

I can do the same with fixed price. You still need to provide an hourly estimate for any changes. It's really the same thing as approving a fixed price change.

> it lets you get compensated for all those little things that you don't plan for like meetings

Again, meetings suck, they should be kept to a minimum and should be 100% controlled by you. They should be a highly predictable part of the equation or you're wasting time.

> and you no longer have to give your time estimate a padding to ensure you meet the deadline.

Yes, you do. A deadline is a deadline, regardless of how you charge the client. Estimate what it'll take you and then multiply by 2. If your estimate is still off after that, you need to work on your estimation skills.

I've never had a client get pissed at me for finishing early. Hell, you can just finish th...

Amazing post/reply. Your comments mostly echo how I run my business and are a nice reminder for me that what I'm doing works! :)

I think there is an art to marrying the idea of billing hourly and fixed-price projects.

For me, projects are estimated and estimated are approved by the client. I will do my best to ensure work is completed within that time frame. However, if more work than estimated is required to complete a project, it is my responsibility to notify the client as soon as possible. I will provide an estimate for the time I believe necessary to complete the job, and the client will approve this new estimate. Me all agree to this up-front; it's in the Statement of Work. Always have a Statement of Work!

>I've done lots of work where I've been paid $1000 per hour when I break it down by time. Can you say the same?

Unfortunately it can go the other way too : you work for $10/hr.

You're right. I touched on this a little bit.

Your estimation skills have to be top notch. If they're not, work hourly for an agency so that they bear the risk. Use that time to hone your estimation skills. Even then, multiply your estimate by 2 and that's what you charge.

If the project is risky, lots of new stuff you've never done before, then multiply your estimate by 3 or 4.

The idea is that you cover your ass so that the "$10/hr" never happens. And of course, never take on projects with vague scope. Make sure everything is clearly defined. That's a skill too and should be honed as well.

The key though is that the "$10/hr" project will be so painful for you though, you will be sure to never repeat that mistake.

Thanks for the really detailed thoughts. I've been thinking about it and I think our difference in perspective is rooted in repeatability.

The vast majority of the kind of work I do is one-off prototypes that are very customized, and the rest is research and development where how to get to the answers is not at all clear.

For one-off prototypes, I think the most sensible thing is hours plus materials. You have a limited picture of how hard it will be, it turns things into molasses if the goals changing based on new information requires renegotiation, etc.

But after you've done it once, I think it makes sense to use a fixed price for replication, with variations in price based on small changes from a base design.

That makes sense to me. It has flexibility early on, like a stage A of the process, paid hourly. Then there's a stage B for replicating it once the product is stable, for which a fixed price is a better deal.

It sounds like the issue here is more an issue of work conditions and rates, rather than a problem with the actual work.

A counter-anecdote: A couple years ago I decided to freelance on the side, but went the other way - I charged triple my day rate, and set a simple rule: no stress allowed. If the client had tight deadlines or a stressful personality, I didn't pursue them.

It's been a massively fun few years, and I've been able to pad my bank account while working when and if I want. It was hard to turn down some great opportunities that would have been stressful, but the biggest enemy isn't free time: it's burnout.

High rates and optimizing for lack of stress don't guarantee lack of burn out, but they go a long way.

How do you find your clients?
I've used two strategies that have worked well.

First, I followed the advice of people lower in the thread and got embedded in two niche communities (private schools + small business owners in my local area). Second, given that in the past I wasn't a talented networker (that's changing, albeit over years, not weeks) I partnered with two other developers who were skilled networkers and observed how they generated leads and closed sales. The combo of [exposure to potential clientele (1) + knowledge of how to talk to and close those clientele] has been effective.

Another note: all my biggest clients have come through relationships - personal friendships and past customers of software I've created. It's a patient game, for sure, but after a couple years of slowly but steadily completing projects and doing the right things, I'm booked out 6-8 months and have a sustainable pace of work.

You've got this figured out. Hoping for some additional tips, though my work is a different field.

I do freelance writing, like resume editing and copy for business websites. I have mostly worked when and as much as I wanted on projects I liked, but at low pay through a service where I can't build a portfolio because I am a ghost writer.

I am trying to figure out how to move away from that. Any thoughts on how to learn how to find clients, set rates, etc? I am struggling with this transition. I think I know a fair amount at this point about creating good writing for certain kinds of things, but I seriously lack business acumen when it comes to some of these specifics. And it's a serious barrier to closing deals.

Always more to learn, but I've been happy with the results so far.

My rule when I was unhappy with my rates was simple:

1. Double my rates.

2. If the client mentions my rates, but still agrees, then I haven't increased them enough. Go back to step 1.

3. If the client says no because of my rates, I move on (this can be a good sign - if no one is turned away because your prices are too high, you don't have too high of prices). If enough potential clients say no because of my rates (50% lower conversion rate is break even when you've doubled your rates, so # of clients must more than half), then I lower my rates. I quickly climbed from $20/hour to my current rate using this strategy.

There's a nice effect here where higher rates suggest higher quality, which in turn attracts the right types of clients and makes them more willing to pay. I've also found that I want to give them $X/hour quality work, so I'm more focused and the quality increases as a result. Lots of happy feedback loops.

For your specific situation - do you have many repeat customers? One trick that worked well for me is to price my first project with a client at an introductory rate 20% lower than what I actually want to earn (positioned as a "first project discount"). When that project goes well and they come back for more work, the introductory rate doesn't apply, and you've earned yourself a 20%/hour bonus.

Thank you for the reply.

I have had repeat customers through the service I work for. It's a completely different ecosystem and doesn't translate to external clients. I like working for the service and I don't plan to leave it, but I want to also develop outside clientele.

Assume that trying to get clients outside that platform is a recent effort that I haven't pursued too hard, in part because I don't know how.

This was literally Bill Gates' pricing strategy in the beginning of Micro Soft. Double the previous price for each new Basic licensee.
> I charged triple my day rate

What was your rate, if you don't mind me asking? About how many hours/month were you able to book?

I'm asking because high rates are great if you can get regular work...

Not sure if relevant, as I'm in Denmark and I don't know where you are located. But I charge $100/hour plus VAT and that is pretty much the standard rate here in Denmark for freelance work. I'm a .NET developer doing only backend work and I am currently working for a client 40 hours/week at $100/hour. Pretty much same as a regular employee except I'm self employed and my paycheck is 2-3 times that of a regular employee.

Regular work is not hard to get, I used an agency to get me this client, so they add a percentage on top of my rate when they charge the client, but if you have a good network of acquaintances, you can get work that way.

I'm a novice also in DK. Can you tell me how that translates to a "normal" salary after all the expenses etc?

I mean for example, how much would you get in corresponding salary with $100 / hour (600 DKK) after tax?

Agree with this. I have one freelance client that I’ve done 100-300 hours of work for per year for the last decade, at a good rate. No tight deadlines, no stress.

That said, I’m not sure how to find such a client. It was luck for me.

Being able to quickly size up and fire prospects before they become a horrible burden is a tremendous, often hard won talent.
I apply this to my day job. So far so good.
Yes, you should charge way more for your off hours for sure, or else you'll never ensure the number of hours is sensible.

When we first started we charged way too little, and they had us doing simple jobs because our cost was lower than an employee. Charge them enough that it's worth it for them to have their own employee to do the easy stuff, especially if you already have a full time job. There's not that much risk of not finding work since there's a built in backup.

> I took it at 40% of my normal day-job rate

I think one of the hardest things about starting out freelancing or consulting is figuring out how to properly charge for your time. Almost everyone comes in way too low when they're starting out. I used to freelance and I made the same mistake with my first couple of projects.

The reality is that your hourly wage at your full-time job is not anywhere close to a good approximation for what to charge as a consultant/freelancer. In many cases you'll need to aim for at least 2x this rate, maybe even 3x, which seems absurd if you're new to the game.

There's a couple of reasons:

1) At a full time office gig you're paid a salary in exchange for working a fixed(ish) amount of hours per week. While technically you're supposed to be working the whole time you're "at work", I think most people rarely spend their whole day at the office doing actual work. There's tons of filler time spent on activities that don't qualify as actively fulfilling business objectives. But you are paid for all of this time regardless.

As a consultant, you can only bill for time you spend actively doing client work. But in reality you need to spend almost just as much time on non-client work such as finding new projects, marketing yourself, networking, bookkeeping, etc. No one pays you for that, so the rate you charge needs to be able to compensate for that time.

2) As an employee, your salary does not capture the full cost of employing you. In the US, the amount you pay in social security & medicare is matched by your employer, so when you're a freelancer you get to pay 'self-employment tax' where you essentially have to pay the second half yourself. Don't forget health insurance too. There's also the cost of facilities, equipment, and food. Granted, you can deduct a lot of this stuff as business expenses, but it still adds up.

Real solid perspective there, thanks as a novice dev.
> Two years of not being able to devote time to exploring other technologies, learning new things, or just goofing off.

Seems to me you learned at least one new thing.

> And I took it at 40% of my normal day-job rate ... That was two years of nights and weekends that did not belong to me.

I wonder if the workload was high in part because you gave such an insanely good deal?

It took me a while to get my contracting rate up to where it was high enough to support me, and to feel comfortable asking for what seemed like large numbers. But the quality of work has actually improved the more I ask.

Contracting rate should be more like 150%-200% of your salary rate, since 4-6 billable hours are about the most you can consistently get out of a 10 hour work day. And that doesn't include the weeks spent looking for work between contract jobs.

" 4-6 billable hours are about the most you can consistently get out of a 10 hour work day"

Could you expand on this at all? Why so few billable hours? I can understand why it's not 10/10 (administrating your own work, keeping records, billing clients) but just 40% of your time? What kind of things are taking up the other 4 - 6 hours that can't be billed?

marketing & learning.

Plus who can work a 10 hour day consistently?

A person on his way to Burnout Paradise.
commute. lunch. bathroom.

that will probably take 60-120 minutes of your day.

driving to clients for meetings. may be billable, may not be.

driving to potential clients for meetings, and having those meetings - not billable.

dealing with incoming calls and emails.

actually trying to market yourself - blogging, or some other content work, or applying for conference speaking, or planning presentations for local groups (tech groups, business meetups, etc).

debugging crap that doesn't work.

dealing with taxes/payroll/accounting/recordkeeping/insurance.

needing time away to deal with life emergencies or other events.

6 billable - as in, solid productive - *consistently - as in, weeks or months at a time - is generally very hard to pull off for most people. You can certainly be 'on the clock' for more, but just as in about any mental job, you'll have ebbs and flows, and some of that time won't be terribly productive.

You aren't billing for _debugging_?

I would also include in my billing a 30 minute lunch over an 8 hour day, which is the minimum mandated by local (Canadian) labour law, and I would bill for any incoming calls and email that is related to the project I'm working on.

I'm definitely aware of how different my time feels when I'm billing, and I've tried to relax a bit. I think billing daily or weekly is always better than hourly.

If you're comfortable billing for lunch, you're probably not charging enough. I'd tend to agree though that you should be charging for debugging, but I've had some things where I couldn't in clear conscience charge for. Things like troubleshooting an issue with my tooling that went beyond just 'sharpening my ax for the job'. Especially if I'm using a job to try out some new tooling, rather than using something tried and true.

That said I understand getting to daily or weekly rates can really let your rates take off, and you don't have to worry about what time you're on the clock in the same way.

If I'm billing hourly and I'm billing an 8 hour day, I'm including a 30 minute lunch, regardless of rate. Anything longer than that is off the clock. If I'm billing 4 hours, then sure, no lunch. This is only true if I have a single client project on the go; if I'm billing piecemeal through the day (which I never want to do) then yes I'm eating on my own time.

I get being hesitant to bill for certain kinds of troubleshooting, but I think it comes down a lot to what the scope of the project is. If I'm on something that is multiple weeks of work, and I'm dealing with a problem that I would be encountering and would be expected to solve if I were working full-time, then it's billable.

> If I'm billing hourly and I'm billing an 8 hour day, I'm including a 30 minute lunch, regardless of rate.

If you bill daily or weekly, then great. If you bill hourly, then the only way this is okay is if you put "30 minutes lunch" on your bill and show that you're charging for it. There's a reason why it's very very hard to bill for 8 hours of work in a day, and that's because you don't work for 8 hours.

I'd say it's a bad idea to conflate labor laws for salaried full time employees with hourly freelance contract work. The labor laws do not apply to self-employed people, and they do not require that you bill clients for your lunch. Your client is not your employer.

If your client understands and expects to be billed for lunch, and your client is paying for your time from 9-5, then it's reasonable. (But that would be a rare situation, normally that would be very temporary, or become a full-time salaried position). If your client is paying for your work on an hourly basis, and has not explicitly agreed to pay for your lunch, then billing for it should be off limits.

For most hourly contract work, lunch is on your own time, not billable hours. I'd be pissed if my lawyer were billing me for lunch, it would be downright dishonest.

As far as debugging, I assumed the parent's comment was talking about debugging his own tools, for example a debugging activity that applies to all his clients, or to himself, rather than time spent on project specific triage. If I'm working directly on the project, I bill for it. If I'm working on something that is indirect and/or not solely for the project's benefit, then I don't.

it really depends on the root cause. there are times when I bill for debugging. someone else made a change to a system which caused issues and it took a bunch of my time to resolve? yes. if the root ends up being my own fault, generally no.

The overhead of recording time and dealing with every call and email ends up being - for me - way too much time/recordkeeping. Scheduled calls/meetings, yes. Someone has a 3 minute call where I can answer a followup question - I just answer it. "But you'll be interrupted all the time with 3 minute calls!" - except, if I'm too busy or don't want to be distracted... I just don't take the call.

Daily/weekly can be, if the clients are OK with that too. I've found some that aren't. along with that, I typically have multiple projects running simultaneously, and I can't - in my mind - ethically charge for a 'day' if I've split my time on 2-3 projects that day.

I don't like charging for time at all, really, but some orgs aren't really set up to handle any other mode of work (and/or, want flexibility in change, so time may be the least unfair approach).

What @mgkimsal said.

It depends on the job and also on your philosophy and your contracting rate, of course, but I bill only for hours that I’m actually physically in my chair working on the project, and nothing else. Speaking with other contractors, this seems like the norm to me.

Even if you’re not working, a very enlightening and worthwhile exercise is to track your time to the minute at your day job and find out how much you’re actually working. I use toggl to track my time (which I’m not endorsing, use anything that’s tolerable and convenient enough, it’s not like time tracking is fun). Toggl stops tracking after a configurable x number of minutes idle, I use 5. I stop tracking while I’m emailing or reading hacker news. I also don’t track time spent billing; putting together reports on my time & progress and such.

If you’re like me or most people, you might be really surprised to find out that breaks and office chatter and surfing and lunch actually consumes 20%-40% of your work day.

Screw friend-work. No offense to friends - but if you need to build a business, and you need to build a new lifestyle for yourself, the last thing you need to do is charity work for someone else's profit. I've personally spurned friend-work, and it happened right around the time I was being dragged into 'friendly' conference calls at 11 am Saturday mornings and I was too 'friendly' to bill for that.

I think you did it wrong and became jaded. If you're suffering weekends and nights and sacrificing your life, it should be:

a) temporary - temp project, crunch time

or

b) an investment - this client/person will really appreciate it, and be a great networking point / reference / future source of work

and

c) it should be worth your time money-wise. The whole point of freelancing is 'time is money.' At the end of it, you should have nice savings, and during it, the sound of gold coins clinging together rings in your mind's ear.

More on point C. When you're an FTE, you're owned (at least in the U.S. [and the UK!]) by the employer. Weekends, nights, releases, problems, those things will impact you outside the 9 to 5 in any serious job. No overtime pay. There's some stuff about mission and dedication and other platitudes, and in some industries bonuses, but other than that - no overtime paid out for your suffering. If you complain, that makes you a naughty person, etc. and so forth, so you have to suppress complaining about such things.

However, as a freelancer time is money, and you sell that time, you exchange your labor time for cash in the bank. And you tax deduct some of the conveniences, like transportation/taxis and (depending on 2018 tax changes and interpretation) meals too. You might also tax deduct that standing desk you wanted, a new laptop, etc. - things that make you work better.

If you 'lost' nights and weekends then I'm afraid something went wrong. What if your rate was double? What if it didn't take up 40% of your normal job?

I disagree about opportunity cost, which is of course subjective. For me, opportunity cost was slaving away in corporate cubicle farms and getting dragged into meetings (30-50% of my time) rather than jumping around companies and learning cool new tech.

As a general rule, I never do business with friends and family. If a friend asks for technical help, and I am able, I'd do it for free without commitment, but no way I'm sacrificing relationships for a job.
This is excellent advice.

Similarly, I don't ask friends in other professions to work for me -- I ask for their advice on who to hire. If they suggest someone to do the work, good, I know they'll recommend people they respect. And if they say "Oh, it'll take ten minutes -- let me show you" then I take them out to dinner. Either way our friendship continues.

So with you brother!

Had a "friend" call me the other day and say: "My old tech-guy retired and won't help me anymore. I hired a new company and they're charging me $150/hr for troubleshooting, which they're slow at and my secretary ended up fixing the last problem. So I don't want to use them. I really need a new Quickbooks server and computers. Can you do this for me - I'll pay you!"

I tell him I'm not the right person, but he's having none of it. "Come-on, I'm in a spot. I'll pay you!"

I hang up and I'm stewing. But, I can't really put my finger on why I'm so pissed off.

So, I'm sorting through this idea and keep having these "WAIT" moments - short for "What Am I Thinking" (probably should be WTFAIT, but..)

My sorting goes like this: - I could do this - I could help him out. I know Windows, I've heard of Quickbooks. I've set up my own network. - WAIT-I work on a MBP and only touch windows intermittently. - I don't know QuickBooks. Maybe I can look up what I need on the internet (go off and search...find a few issues like the version he has doesn't work on Windows 10) - WAIT-I don't deal with this stuff day-to-day - I'm going to run into unforeseen issues. But, I can mitigate that by researching it ahead of time. But it's risky - I could miss something. - It's not fair for him to have to pay me for all those hours researching stuff I don't know. - WAIT-I'm going to do this on my own time? - But he's in a spot. And I could make a few bucks on the side when he needs additional stuff going forward. - WAIT-I could end up having to fix any issues that come up for a long time. Like months, years. - It's hard to find good tech support, right?

...and on...

- WAIT-There's plenty of tech support out there. He's gotta know hundreds. Why is he calling me?

Finally...I realize that my "friend" is like many small businesses - cheap. He's hoping I'll treat it like a hobby, charge him a low hourly rate, and eat all the hours I spend getting up to speed. Sorta like doing charity work - but not for a charity.

- Then I called him back and said: "I'm not the right person to do this. It's not that I'm being modest. It's that even though I know there are some pitfalls, I don't know what all the pitfalls are. Which could mean spending a ton of time, making mistakes and who knows what else. So, if you want to do this on your own, I'm willing to help. But it would be just as a friend and I couldn't possibly charge you for it."

I haven't heard back form him...

I did something similar, though not for cheap :)

it does have the downsides you talk about, I did choose something which I was interested in exploring more. But it did begin to feel "painful" and was happy to finish it.

Now I just do my own side projects.

> I 100% guarantee it.

Your one experience doesn't guarantee the next person's.

col·lo·qui·al·ism

noun a word or phrase that is not formal or literary, typically one used in ordinary or familiar conversation.

This is not an example of colloquialism. The commenter is stating that they think their experience is the general rule. If they said "I 90% guarantee" it still wouldn't change my point.
I agree wholeheartedly, this almost exactly mirrors my experience. It put strain on my health and my relationship.

The solution, for a time, appeared to be charging enough money so that clients used me as a last resort; but even then I eventually found myself awash of money and having no time still, and quit trying to do two jobs.

You don’t get any more time, it’s precious. It’s also easy to lose track of time that isn’t billable (like client acquisition). Sell your spare time at a premium, or not at all.

I absolutely agree. The opportunity cost of each hour per week goes up, not down. If you are considering freelancing work on the side be sure to set the hourly rate above your regular wage. That’s just my opinion, as I prefer to spend my non-work hours focused on other aspects of my life.
I can relate to this. Luckily, my only side project was only a few weeks and not a year. After that experience, I realized that freelance programming was different than hobbyist programming, that I would prefer to have free time rather than a side gig, and if I wanted to do freelancing on the side again I would charge a premium (it was for a friend, so I converted my salary to an hourly rate and charged them that).
That happened to me! At some point my 20+ years friend started accusing me of malevolent behavior because he perceived that there were persistent bugs in the system which I couldn't reproduce. Sarcasms turned into personal attacks and we are no more friends.
You should have a look at codementor.io/

I started last year in May (see https://www.codementor.io/radubrehar) and already doing pretty well. Work just when you want to! Plus, it feels great to mentor people and help them solve real problems everyday.

What works best for me:

1) Local meetups and conferences linked to my niche

For example: I like to give talks at the local Python meetups. The sponsors tend to be companies that use or have some interest in Python.

First advice I give for new freelancers is to specialize. A newbie mistake is to think you may be restricting your options by choosing a door but believe me, behind that door is a hallway with hundreds of doors.

2) Stackoverflow careers

I respond to "help wanted" ads that allow remote - top quality leads. I'm not affiliated with stackoverflow (but I 30k+ rep there).

3) I blog about what my secret sauces

Some times I receive leads from my audience. It is also a good way to keep in touch with people I met at #1 as they are interested in the same subjects.

Be careful about taking on too many obligations. If you're single and your day job is not too demanding, you might make it work, but if you have a family, it can be tough.

I recently found some work through one of the freelance websites but had to back out. I'm a full time software engineer but I am also a full time dad and husband, and between shopping, cooking (I work from home so these tasks tend to fall to me), going to dance and music recitals etc., it was just too much.

Regarding networking, if your employer sends you to technical conferences, it's a great way to practice. Quite often I strike up a conversation over the breakfast buffet. People are usually quite relaxed and willing to chat while sugaring their coffee and grabbing a pastry. Everyone is in the same boat as yourself; they all want to network, build up useful contacts and potential business partners etc., so they will eagerly tell you about themselves, exchange cards etc. After you have been doing it for a while, networking can become natural and fun, and it's very worthwhile to cultivate a friendly and outgoing manner. You never know but it may result in your next job offer. Good luck!

I can't agree with you enough on this :) It's indeed hard to build a freelancing career between a day job and life.
Focus on a niche and become the go to person in that field. In my case, I work specifically with non-profit organizations that focus on Native American/First Nation issues. By narrowing down my target, I have been able to build a profitable network because I have specialized in that specific niche.

Once you have narrowed down your niche, its just a matter of being in the same room as your potential clients. For me, it was attending conferences and networking. But you could also hang out in subreddits, facebook groups, linkedin groups, forums etc if you are an introvert.

Curious to know what do you do for non profits?
Apologies on delay in response. I usually focus on website design/maintenance, as well as marketing materials for their events and other initiatives.