You don’t “become” a freelancer or independent developer. That’s not an identity. You find customers who will pay you to deliver solutions to business problems. If you have a good reputation and track record and relationships with your customers they may trust you to make decisions about the project direction, tools and languages, schedule, etc.
Building a freelance practice takes considerable time and effort. I have some articles about that based on my experience (over 15 years freelancing) on my site typicalprogrammer.com.
It's all the upsides of running your own consultancy, without the downsides of chasing money and customers. I have generally flexible hours, tonnes of autonomy, and have a nice balance of getting to talk to people and coding. None of the coding I do is rocket science-level hard for me because I'm working with the same set of APIs every day, but is incredibly helpful for customers. My boss hardly ever tells me what to do, every week we have a 1/1, asks if the customers I'm helping are happy, and I tell him what I'm helping them do the following week.
It really is the best gig on the planet. I wish I would have known about this path sooner.
I am considering Amazon IQ. If you are into AWS and can get the professional level certificates, you can use Amazon IQ platform to freelance. I have used Amazon IQ to hire before and I had good results. Your really need multiple pro level certificates to compete though.
I have tried Upwork, but it's been a not so good experience. I have my work history on the platform, but it doesn't seem to matter. I've worked at some top tier companies (one of the trillion dollar market cap SF big tech companies). I think Upwork requires building a portfolio tailored to the type of projects you would like to work on.
* Every full-time person (over 30 hours) is an owner in the company that is awarded an equal amount of company shares EVERY QUARTER.
* 10% of your earnings go to the company (of which you are now part owner)
* 10% of your earnings to the biz dev rainmaker that set up your contract
* Everything is decided democratically
This worked extremely well for us, but if you're at a small size (<6 owners) then you will have a heightened risk of single-point-of-failure because you can probably only afford to pay a single full-time biz dev person.
The easier road to having a lot of agency in your work is through consulting/contracting as you’ve already started. The more expertise your develop and the more reputation you earn, the more confidence you can bring to your recommendations and the more freedom your clients will give you. Once it starts churning, you make plenty of money and have lots agency and rarely need to look hard for work.
But that takes time. The most valuable advice, besides patience, is to be discerning about what clients you accept and retain. It can be tempting to take any client during a dry spell or to become enamored by a client with cool ideas, but some prospective clients will devour your soul and others will have financial trouble that leaves you with large unpaid invoices and little recourse. You can learn to spot this ahead of time and you want to develop that skill. Too extreme a bad client, or too many bad clients, will burn you out worse than any bad manager at bigcorp. So stay watchful and don’t be afraid to fire bad clients once you see things looking dicey.
Good luck!
He gradually moved into SEO and marketing as his customers wanted that. Right now he has about 40 customers that give him consistent work.
To this day, he's still amazed that I can code and write CSS.
unless you have a very niche skill that they really wouldn't normally hire a full time for. thats really the best ticket here, because those people are alot more respectful of your time, pay better, and are very clear about what they from you.
dont even try to get work on those job boards. i dont have any good suggestions on where to start getting jobs if you dont already have a network.
if you can keep all that going, its entirely possible to work part time, make good money, and have great control over your schedule and life choices. if you cant, then coming out of contractor into salary can be harder than transitioning between salaried jobs.
Probably the best way is to just do more independent software development. Personally think dog-fooding business tools are good to work on - solving your own problems.
One tough part about working independently is not being exposed to others' ideas. Keeping up on industry trends and continuing to learn via whatever means may also be relevant.
check out @indiehackers and @levelsio, and the book "start small stay small" by rob walling
For better understanding your context, have you started being a consultant/contractor already?
https://nishantjha.org/essays/squeeze
It’s early days for my writing and so I’d love feedback
tl;dr Don't try to be a lone wolf. In the long run it hurts you, not to mention your clients. Learn to work with others.
If you're thinking "software studio" like "art studio" or "PR firm" or maybe a "legal practice" ? That sort of thing doesn't really exist yet (it may but it probably won't for another decade at least) but not to rain on your dreams let me share a bit how I reason to that;
Given the current working environment, there a few kinds of software "situations"[1] and each have their plusses and minuses.
The simplest is "employee" (which I know you're trying to get out of) but there is a reason that companies maintain a stable of employees whose only job it is is to create software. It is an economical way to spread the cost over a variety of software needs, especially for vertically integrated companies.
The next simplest is the software contractor. The client tells you what they need, maybe puts some parameters around it and gives you an unreasonable deadline[2]. The upside is you can pop these off and generally they will pay the rent. If you're specialized in a particular thing they can even pay more than the rent. The freedom to come and go as you please it a plus, that you need to line up the next one before the current one ends, kind of a pain. Evaluations are also often more stringent as the clients are typically paying you more per hour than they pay regular employees so they darn well get their money's worth.
A more complex one is developing a boutique software product and focusing on that. I have a good friend that developed all the software for some industrial control systems and they can just sell it again and again to people who are setting up factories or other control processes. I think the typical way these form is someone is contracting and starts reselling the software they wrote on one job to others. (note you need to include language in your engagement contract to do this!) But there are a lot of industries where they need an "out of the box" solution. One person I know did this for their local church and then resold the same package to half a dozen of the churches in town.
The important thing to understand is that software is worthless. I can be fun to write (I enjoy it tremendously and write software for fun) but to be economical it has to serve a purpose for someone who is generating some sort of economic product. And writing any software product has parts of the software that is boring/lame to write and that part of a project will always feel like a job.
There is however one way to write software for fun without having to deal with deadlines and impatient bosses, and that is to get a job teaching programming somewhere. You can write things and go over it with your students, you can see how they write things and help them get better at it. You do have to deal with "school politics" which is a thing but the software you right doesn't have to "do" anything, just be illustrative.
So if you had hired me as a coach and posed this question, the first thing we'd do is put yourself in your "software studio" and write down what your day to day looks like, who your customers are, and why they are paying you as opposed to hiring some contractor or a full time employee (FTE) to produce the software they need. Then work backwards from there to the present to get a handle on what milestones you might expect between your current situation and that one.
[1] I'm going to leave off the one where you work as an employee of a company that is growing and gives you stock options so that after some number of years you can pay yourself from gains on your investment portfolio and spend time writing what ever code you want. Perhaps surprisingly a lot of people fail at this (they have the means but just making up things to do is not one of the skills)
[2] I'm not sure why but of all the software contracts I've taken on over they years I have yet to have someone say, "Take as long as you need to get it right, that is so much better than getting it fast." :-)