I've been thinking about throwing my hat into the ring on the various freelancing sites and spending the next six months or so doing a combination of remote part-time freelance work and learning and personal projects to put me in a better position for my next step. I realize that the pay will be a fraction of what I'm used to as a full-time dev in the US, but I can weather that for a while; I'm more concerned about keeping my mind active and having something concrete to list on my resume. But the freelancing world is brand-new to me, and I have lots of questions: do I need to worry that my skills won't be up to snuff? How hard will it be to find work as a new freelancer in the current environment? Are there pitfalls or other options that I'm overlooking? 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? I'm wondering if anyone on HN has trod a similar path and can provide any advice, especially in light of the current situation with the pandemic.
Going from a full-time position to freelance can be quite the opposite of this. There are different kinds of stress. Right now you seem to mean day-to-day stress with the work (or maybe the coworkers), but if you go cold turkey and 100% freelance you'll have a lot of new stress to make sure you can pay the bills and provide for your family for an extended time without the steady pay check coming.
I recommend keeping the full-time job for now and looking for freelance work on the side. If you've been there for years, you probably have a good bank of PTO built up. You could take a few days off to focus on a freelance project, basically being double paid for your time.
Eventually, as you get more used to freelance work, how to navigate and negotiate it, you may feel more comfortable with what you're able to do as a freelancer and have a target date of when you would be able to quit the full-time job. Or, you may learn freelance work isn't for you, and you still have the full-time job to fall back on while you work on your resume and get psyched up to start the "interview gauntlet."
Either way you go, GOOD LUCK!!!
One of the benefits though is you may worry about this a lot as a freelancer. You constantly are working to make yourself marketable, you don't rest on your laurels at a single job.
> How hard will it be to find work as a new freelancer in the current environment?
It can sometimes be the case that in a tough economic times that freelancers are paradoxically in more demand. Freelancers are more 'disposable. You're in many ways the first to be let go, but also the first to be brought back, as if things suddenly go poorly again, you can be easily let go!
> Are there pitfalls or other options that I'm overlooking?
Be prepared to be reasonably competent at all parts of running a business. Not just technology, but sales, accounting, contracts, project management, relationship management. All of these are good skills, but you may paradoxically find yourself less technical as a freelancer.
Also I would highly recommend setting up your own business entity to do freelancing to avoid 'hidden employment' issues that your clients may find themselves in.
I think getting on freelance sites is smart, especially because you thought of that first. People who think "I'll just set up my shingle online" may have a tough time, because no one knows how to reach them (disclaimer: obviously doesn't matter if you have potential clients right now).
You'll definitely become sharper in your tech skills, because 1) you don't have to follow your company's tech stack 2) you'll start being exposed to aspects of technology your official position 'shielded' you from worrying about 3) you can go all-in on cutting-edge tech that your company would've never even considered.
Incidentally those are all very relevant skills for starting your own startup, though I don't imagine you're there yet.
You will be a stronger developer 6 months from now, in my opinion. And if you're willing to weather the pay hit - do it.
My biggest issues as an employee are lack of autonomy to work on my own hours, projects, technology, teammates etc. As freelancer, you may be able to choose your clients, fire them if they are not a good fit etc. Sure you may have to suck up and work with bad clients once in a while. But the idea of autonomy is very alluring to me.
As devs, we usually do have a lot of flexibility but sometimes you just want to take a few weeks off, you cannot do that as an employee. We have deliverable at end of this month and my boss is already talking about next deliverable. If we do freelancing right, after a big project, we would take a week or so off.
And you can start off as freelancer but overtime you can grow and create a consulting firm. I read this book, Developer's Hegemony, it had a lot of good ideas about how to go about doing this.
Anyways my plan is to freelance on the side for a while before quitting the job.
It's good if you feel you're underpaid, like if you're the only one building a 3 million dollar app and handling customer service and they pay you $2000/week with few benefits. Your salary as a freelancer will be roughly equal to the amount of wealth you create, minus some economies of scale.
It helps to outsource some of these things at first - get a lawyer, team up with a designer, work with a group like Toptal to help you do marketing. But the easier path is also more competitive, and you can get ahead quite a bit by learning to market yourself.
Stick with your day job, do freelance on the side if you really want to. Try taking on less work during your day job so you have some brainpower to do freelance on your own time.
> 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.