The answer is very simple… added cash!!! But that was not the reason that I was referring to.

Though earning cash is important and I don’t discount that fact. In addition to earning cash, a developer should free lance because freelancing provides you with many challenges that your job would not.

1. More exposure

In a job you would be assigned to a project and be responsible to do a small portion of the project called module. This way you would only know how to implement that small portion. To gain good experience it is important to understand and implement a complete full scale project. With a freelancing job, you get to know requirements of the world and automatically learn to implement projects.

2. Client Management Skills

On a job, you always have a boss to look up to for client interaction. You don’t get a chance to explore your style of communication with a client. Unless you are given a chance to explore your style of communication, how would you learn and grow? How would you understand the areas where you goof up. In freelancing you are your own boss and there is no one to look up to. You are the solider and the commander yourself. You get to learn how to deal with your clients and get to learn details of cross-culture communication styles.

3. Time Management Skills

With a full time job at hand it takes courage of steel to take on freelancing projects. Managing time becomes an issue especially if your client is on the other side of the globe. In situations like these you start to feel the stress and issues only after a week or so. But then slowly you tend to learn from your mistakes.

4. Improved Creativity

Handling freelancing projects require you to think out of the box. Some projects are simple and the others require you to give a considerable amount of thought. Either ways, you are required to think out of the box. This helps you to improve your creativity.

5. Improves your business domain knowledge

For a freelancing project you are the Business Analyst, Project Manager and Developer. Thinking like a Business Analyst gives you the opportunity to learn about the business domain for which you are hired.

These are some sites where you could freelance:

Additionally, whether or not you want to execute freelancing projects; I would recommend that you still subscribe to the mailing service of the above mentioned sites which mail the list of new projects added each day. How would this help you? This is because you get to know what are the problems that the world faces. This could provide insights to creating an open source or commercial product if you want to.