Freelancing lets you build up a portfolio of work, build relationships with people who can give you work or referrals, solve problems in different domains with different tech stacks, and test yourself as a sole proprietor. It helped me get a lot of experience in a short time.
Times change and these days I would only recommend freelancing for people starting their careers or for people who need some income quick. There are a few issues: you usually won't be trusted to work on mission critical parts of the business, clients care less about quality than you do, sometimes you have to take work that's incompatible with your career goals, and price-sensitive clients can be difficult to deal with when it comes to payment. Looking back, I'd likely do it again, though I'd charge more and be more selective about projects.
I find this aspect most appealing.
> build relationships with people who can give you work or referrals > I'd charge more and be more selective about projects
These are probably harder to do when just starting I assume. I have near 0 tech network other than old employers. But maybe that's a good place to start though.
Thanks for the comment. It gave me some new things to think about.
But yeah, the downside is, I don't get to "advance" to longer-term, more critical / central roles such as software architect or team lead. Even if I did, I would probably need to take a 20-30% pay cut.
- Start a company
- Contract with enterprise clients as a company
- Charge appropriately
The money you can charge as a "freelancer" vs as a company is not the same. You will be able to build a brand around that company in a way that's different than a physical person, who may be unstable, disappear, etc.
If you go that route, please have an attorney write your contract drafts and never sign anything without your attorney looking at it.