For the past 15 days I’ve been heavily involved in a few no-code freelance projects. Some are larger than others. I was totally unprepared on so many fronts it wasn’t even that funny at the time. But now I value them as learning experiences where I actually got paid too. Here’s some of my biggest mistakes in doing these freelance projects.
- Pricing is Wrong:
Not just wrong, super far off the mark. I’ve checked afterwards against professional agencies from India and I actually underpriced them. Amazing! Did I leave a lot of money on the table? Sure! But I also got paid for the effort that I put in. Many indie makers and freelancers put time into projects that they don’t get paid anything. Nobody except the lucky few get pricing right from the get go. Undercharging is probably very common even amongst experienced freelancers. The only way to learn pricing is to make these mistakes. The bigger mistake would have been not charging. And the second biggest is to set pricing in stone. Have fun experimenting!
- Hours also Wrong:
You know the joke of every contracted project always being over budget and delayed. The joke is true because contractors are humans. Humans are just plain terrible at estimating time and costs. I thought I was being prudent and conservative estimating 20 hours to do one (even straight forward looking) project. Turns out that sure I took 20 hours to do it. Just one iteration though. At the end of that it took 3 rebuilds from ground up (no-code incompatibility and testing is no-joke). And I had to learn a new tool from scratch. Wildly missed the mark again. So many hours were not billed. But it wouldn’t be fair to charge somebody for my bumbling about learning experiences. Good to know that I’ve learned valuable lessons from those hours. They don’t go to waste if you don’t let them. The key seems to be testing deadliest technical assumptions DURING the billed Product Discovery phase.
- Communication also Wrong:
Even face to face conversation goes wrong often. But asynchronous communication from opposite ends of the world means that what should or need to be clarified needs waiting a lot of the time. This is why it’s important to document everything well and communicate clearly with clients. I now prize communication as being the #1 trait for clients and freelancers. I don’t feel I’ve done too badly on this front. But there’s been many back and forth by emails and uncountable edits in Google Docs. Those were messy solutions I’ve used now and I look forward to learning to communicate asynchronously more effectively. This would be useful both for client work and indie making, everywhere really.