A lot of this depends on what point in your career you're at. I've been freelancing for ~20 years, and the problems I have now are different than when I started out.<p>If you're starting out, really the 2 main problems are (1) getting (good) clients, and (2) getting paid. The 2 don't always go hand-in-hand. Now, (1) involves many factors -- luck, marketing, "right place right time", portfolio, reputation, but the ultimate problem is getting a good client to sign on the dotted line for a decent-sized chunk of work.<p>The 2nd problem, getting paid, is where a lot of engineers flounder. Do you invoice on time? Do your invoices reflect accurately the work? Do you know who to call if things are late? Do you have a contract that dictates terms of payment? etc.<p>Now that I'm more experienced (that's code for "older"), my issues are: (1) telling good, long-standing clients "no"; (2) remembering to not take on work that sounds really fun and interesting, but financially a poor bet; (3) not just staying current, but making sure my clients know that I'm also up with the state of the art, even though I'm well into my 40s (it used to be "Oh you're in your 60s, you're probably a dinosaur" but I see that happening to people in their 40s these days -- Hope I don't send this thread off-topic, wasn't the intention to hijack the thread!)