I’ve taken on a small freelance job that may turn into more, but even if it’s a small one and nothing else I’ve learned a great deal. And this is why I think you should freelance for someone else if you can. Yes it’s more work above and beyond what you do in your normal 40 hour day (if you are lucky), but you can learn so much more.
Most work places probably have a set way of doing things. Coding standards must follow X,Y and Z. A certain PHP framework with certain libraries. Or if you’re like me you are a one man army and you just shoot from the hip moving from one project to the next not really having time to sit down and plan out what you are going to do or what best practices are (for what best practices are worth).
However if you freelance for someone else your going to see, good or bad, a different way of doing things. They may not use Github and instead use BitBucket. They may use a templating system when you just use straight in PHP in your template pages. I’m not saying you should just bid on any project you see come along, you should have some familiarity, but in the long run doing this ‘extra’ work will serve you well. It will give you a different perspective on what you have done in the past and perhaps help you become a better programming. At a minimum you’ll have a different perspective that you might be able to put into use.