I'm a freelance full-stack web-dev since about 3 years. Got about 9 years professional programming experience. On about half the projects I'm the sole programmer, on the other half there we are 2-3 programmers I work closely with (everyone has different skill-sets). The range of projects I'm working on is quite broad, from websites to web-apps and all kinds of stuff around those things.
> do I need to worry that my skills won't be up to snuff?
That depends on the type of clients/work obviously. My/our clients typically are non-technical SMEs, marketing agencies and web designers. Meaning I'm often 'the tech expert' so to speak, so I have the freedoms and responsibilities of the whole thing.
Including:
- front-end work that goes beyond just implementation such as a back-and-forth with designers & clients to resolve design/UX edge cases
- the whole operations process including testing, deployment and so on
- data-integration/migration/engineering. You might be surprised at how often you need to do this. But many web sites/apps start with: we have this database or these bunch of spread sheets and it became a mess.
- task automation, playing nicely with an existing stack/process and so on
> How hard will it be to find work as a new freelancer in the current environment?
Don't start if you don't already have a client. I'm lucky to have people/collaborators around me that do most of the acquisition work. I really just do programming/engineering and sometimes write specs, docs and offers, which might be a bit special.
The kind of work I do pays well, not great. The way you "scale" this is by investing in your skill-set and in client relationships. Consult them well and honest (pragmatism) be on their side and deliver good work. Also choose them wisely I've been burned heavily once.
Generally my/our work is still good, despite corona. Nothing changed for us.
> Are there pitfalls or other options that I'm overlooking?
One pro of that kind of work is that you often get to decide everything technical. This is great. Your code gets to be simpler and more efficient and you can make pragmatic trade-offs on your own. But it also means you need to get comfortable with the whole stack, which means constant learning and decision making.
Freelancing doesn't mean that you need to be on your own. I'm very happy that I found like-minded people (programmers, designers etc.) who I work with.
If you're working with other developers, it can get funny because you need to find common ground. As an employee these things are often decided for you. I'm lucky to work with people who share similar values (pragmatism, critical thinking, flexible mindset), so we often end up with something that is void of BS and practical for everyone.
This can be fun but also taxing. You need some way of organizing the learning part, because else you end up stressed and all over the place. KISS is the mantra here. A related book I can recommend: "The Pragmatic Programmer".
Focus on things that get your brain juices flowing and challenge your perspective and avoid "a new way to do X" kind of tech. A good example: a few months ago I was drawn to learning about bi-temporal data modelling. A couple of weeks ago I started a new web-app project and the previous learning completely changed how I approach it now, offering qualitative real value over a more run-of-the-mill approach.
> Am I crazy to think that this plan will allow me to reduce my stress levels, build up some confidence, and refresh my skills before seeking a more traditional job next year?
That depends on whether you'll be able to choose the clients/collaborators/projects well. I really enjoy my work, but I consider myself lucky in that regard.
If you have some backup money and some options for projects you think are worth doing then go for it.