There is a recurring theme in my thoughts at the moment. I've been thinking about what it would take to sign up on one of the freelancer sites like upwork or freelance or fiverr. The thought of making an extra buck with my 'extra' time (I don't really have any but I think I can make some) is surely enticing but one thought constantly nags me: what if the task turns out to be far more complicated than I have the time for? What if my reputation on the site is affected by a seriously misquoted project that I thought would have taken 6 hours a week only to discover that it needs 20 hours a week?
Most projects built around a common framework like Django or React are relatively straightforward to size but in reality most jobs are defined by people who have no clue what it takes to develop a UI like Gmail. Easy user interfaces are so easy to take for granted. It takes acres of code and hours of experience. Most people who can pull it off in a short time typically would rely on past code they have written which they can copy and paste into form.
But for completely greenfield projects there is always the chance that it turns out to be far harder than it appears. I also suspect that few projects have a clean architecture meaning that a considerable amount of time will be needed to understand the current code because you wouldn't want to be known as the person who broke a running system.
Unfortunately, there is no way to know in advance whether the project will be easy. Ideally, I would like to work on projects with a clean design, up to date documentation and a clear scope.
Photo by John Gibbons on Unsplash