To echo what others have said, and what worked for me: work at a small agency for a few years. Learn how to write good contracts, handle invoicing, and communicate with clients. Then take a few contracts on the side so you can figure out a rate that works for you, and so you can work on those skills in an environment where you aren't relying on the income. You'll know when the time is right to switch to full time freelancing.
Once you have proven yourself, you won't have to compete on price. Good clients will come to you.
I've found that I am a morning person and that I (thankfully) can remain engaged and productive for long hours of programming. I usually work from 6am to 5pm four days a week. This gives me long, relaxing weekends to recharge for the next week.
We use this at the office and it works pretty well. It's not exactly the same as writing on a real whiteboard, but having an entire wall for drawing database diagrams is very useful. Our wall is like most walls, I guess, in that it is not perfectly flat like a whiteboard. The small divots and bumps make it nearly impossible to clean (especially if the writing has been left there for a while).
Full-stack developer and interim startup CTO with more than 10 years of experience. Specialties:
- Laravel
- Vue
- TailwindCSS
- TDD
- Startup tech consulting
development portfolio https://www.forefrontsoftware.com and fractional CTO service https://www.ctosumo.com