Ask HN: How to migrate from employee to freelancer as a SW engineer?
I have 7-8 years of experience as a software dev. Currently I am pondering if I should take the step to become a freelancer at some point in the near future. I was self-employed before but that were special conditions. (I am located in Germany if that matters.)
My main questions are: how do you realize this change? Do you try to find contracts before leaving your day job? Where/How do you find work?
I know the most common platforms but are there some rules you should follow on there?
Do I have to suck it up and offer my service for "cheap" in the beginning? Or should I only take jobs for my self-defined minimum even if it's my first?
What else should I consider?
13 comments
[ 5.0 ms ] story [ 103 ms ] threadThe public websites for contract work are not great places to look unless you're okay taking the lowest common denominator jobs.
Your personal network is the best place to start. You need to start reaching out to contacts and offering your services for hire. If you're uncomfortable with this, you're not a good candidate for freelance work.
Some people get lucky and find a constant stream of niche work from their network right away. Others will have to work hard to find each additional contract. It will get easier over time as you build a reputation and expand your network, but it will take work to get there.
I would shy away from offering your services for cheap if you can. It can be a good thing to do when you are just getting started as developer and don't have a portfolio yet. Given that you have been building things for 7-8 years though, I would guess that you have some examples of things you have built that you can share with prospective clients?
If you have the capacity to try out freelancing on top of your day job, I think it is a great way to validate if you have the appetite for it and earn some extra money while doing it.
How much of the offers you are receiving are low-ball crap offers you would say? Also for how long are these contracts going on average? Thanks for your input.
100€ is easily possible, I think it is kind of the default rate in my space (Python Data Engineering, cloud stuff, …).
From my experience there are almost exclusively very professional people on those platforms so no low balling.
Typical contract will be 4-5 days a week for 3-18 months
If you can start freelancing with projects lined up you won’t have to start out trying to get work, which will get demoralizing fast.
Don’t expect to get much from the popular platforms like Fiverr and Upwork. While it’s possible to get good contracts there, those sites are (a) full of low-paying short-term gig work, and (b) full of low-balling competition. Your need to aim higher because competition is always most fierce at the low end. Instead look to past employers, professional contacts, friends. Focus on building long-term relationships rather than churning through online piece-work boards.
Position yourself as a specialist in a niche that has business value (i.e. e-commerce security expert) rather than with a laundry list of languages, frameworks, stacks. Know your customer — no small business needs 2,000 more lines of Javascript by next month but lots of businesses need specific business problems solved.
I’ve been freelancing for over a decade. I wrote some opinionated advice on my web site (no ads, no paywall, no affiliate links).
https://typicalprogrammer.com/how-to-start-freelancing-and-g...
There are some other possibly relevant articles there too. Good luck.
I will now go on reading your blog post and potentially others you have written. Thanks!
BTW I have read that advice to position yourself as a specialist in a niche before. For all others reading this thread here I can also recommend this article: https://andyadams.org/everything-i-know-about-freelancing/
I usually start with clients by asking them to list their top five or ten pain points or unfulfilled needs. Those are usually business problems: Our invoices get sent out late, we’re not calculating shipping charges accurately. Sometimes they are technical problems: server crashes every other day, we don’t have good backups, we failed a security audit. I’ve never heard low-level programming problems as top pain points. The potential client wants to hear that you can address their actual problems. How many years of React experience you have, or how cool you think Rust is, are not relevant.