When is a programmer good enough to freelance?

I started coding about two years ago (Python/Django). I’ve been employed as a web developer with varying success. I built my own personal website as a learning exercise and it’s about to be deployed. I’d like to freelance to earn some extra income, but the last thing I want is to take on a job I’m not ready for and deliver a substandard product. This profession doesn’t seem to have established benchmarks–how do I know when I’m ready to take on a project on my own?

When you’ve reached a point where your technical skills in your chosen set of tools only comes second (Web, Python/Django)

Frankly they won’t care about the libraries you used or how you coded the app, but at the same time freelancers should be technically sharp enough to write maintainable code with proper version control and automated tests. More importantly, programmers should be skilled enough to propose proper solutions.

Example: Given a problem that can be resolved with an in-app chat solution, that chat solution shouldn’t be based on polling a SQL database. I’ve seen one in production and what happened after it was released wasn’t pretty.

Example: Given a problem that requires multiple POS machines with their own offline data to sync on a central database, a solution shouldn’t be based on installing full SQL databases with purchased licenses armed with massive stored procedures moving data around. I’ve seen that one too in production. Maintaining it costs so much for both the client and for their in-house dev team.

Technical skills should come naturally because freelancing is beyond code, it’s about business development.

Freelancing/Consulting isn’t just about coding/designing but its more on knowing what your client actually wants/needs, educating them about your proposed solution, delivering that need, knowing how to deliver that need through proper communication, and making them go through a process with a tight feedback loop that is both pleasurable, emotionally and on paper, that would make them go back to you and/or refer you to others.

Most software out there are just CRUD apps, or as I would like to put it: glorified excel sheets. Other than delivering a standard website with Wordpress/Drupal as your solution, custom software and building on top of other poorly written custom software from previous developers will be your toughest challenge if your technical skills are still being sharpened. But if you feel your technical skills are sharp enough, you can already go out there and do something on the side :)

Discussion on Hacker News