This is extremely common. Since I was recently in the same situation as yourself, I thought I'd share what has been working for me and might work for you too.

The number one thing you have to understand is that your first few clients will be hard to get. There's no way around this. The good news is that once you start to have a history of successful projects, more and more people will start to come to you. This will happen, trust me.

Secondly, unless you're patio11, don't expect to be immune from the normal sales cycle. As engineers, we understand code and servers but not always business side of things. Business moves at its own pace: some companies move extremely quickly, some slower. The key is to manage your pipeline by continuously talking to potential clients and following up with them regularly and often. These companies have their own budgets and timelines to worry about.

"1/3 of projects you bid on you will never get, 1/3 you may get, and 1/3 you will always get." This is a saying that has kept me motivated through rough patches. The important thing is not to get discouraged and quit.

You will talk to a ton of people in your work. Don't be discouraged if you talk to 10 people and only 1 shows interest in potentially hiring you. You want to find the right clients, not land every client.

Don't work without a contract or MSA and SOW. This looks amateurish and can throw some potential clients off. Clients that don't want to hire you because of this are clients you really don't want.

Speaking of the above statement, never estimate "off the cuff". Always take the time to provide a thorough estimate with plenty of examples of what the client can expect. This reduces the amount of "sticker shock" a client can experience when you quote something off the top of your head. This is true in both email and phone/in-person conversations. I always redirect the conversation to what I can do for the company, rather than what I think something would cost if a client asks:

Client: '...so, how much do you think that'll cost?'

Me: 'Well, the Foobaz piece is a pretty good chunk of functionality and having that work fast and reliably is really important to keep your XYZ going. I'll also have to do some research on ABC so that we're both clear on exactly how this can help you out. Did you have any ideas on that?'

Finally, actionable advice: get out there and hustle. Pick an industry that regularly hires freelancers/consultants (creative agencies are huge in this space) and contact them directly. Email is usually fine, just make sure that you're brief, don't sound like you're mass emailing, and never ever email a bunch of people the same messages (ie send out individual emails). I use a combination of Rapportive (helps me guess email addresses for important individuals at a company) and Boomerang (lets me schedule outgoing messages).

Never ever email info@company.com or use their 'contact us' email form, always try to find a decision maker at the company to contact. LinkedIn is great for this.

Remember that you're not begging for work. You offer solutions to business problems and you're reaching to see if you can form a business relationship with them. Present what you do and how you can help what they're dealing with -right now-.