Hard Truths About Being a Freelance Software Developer

Hard Truths About Being a Freelance Software Developer

It?s not all big-ticket clients and big-money projects

Image for postImage source: Pexels

We read online about freelance developers who claim to wake up in the morning and make thousands of dollars while working remotely in their boxers. The hard truth is yes, this is true for some to a certain degree, but these are the unicorns. There?s another side to this story. There is one story that those glorified online articles try to sell you, that being a freelance developer is like the ultimate dream, and another side full of hard truths and realities that you will soon come to understand with experience.

I have been down the freelance developer path with some relative success. The only thing that temporarily stopped me from going all-in was certain constraints. Getting started is a bitch. I am not going to mince my words because that is the hard truth.

Geography Matters

Geography matters. What I mean by this is the place you work or the environment you operate in has a direct bearing on how successful you might be in the short-to-long term if you’re doing face-to-face gigs. Let me be blunt: Not every client will want to work with you, no matter how good you are.

There will be instances when you get sidelined due to the fact that you may not fall into a category a client might deem acceptable. It?s 2020, yes, but racial biases still exist. We may not want to talk about it, but they are still present. Stereotyping and racial biases are very much prevalent in the freelance realm.

The silver lining to this is that how you react entirely depends on you. Having a thick skin really matters. Without one, you can not survive. This freelancing life is not a game for the easily emotionally triggered but for the patient and emotionally sober.

The Freelance Site Nightmare

For the ill-informed, one of the places where most of us start, or at some point head on over to in order to broaden our palates, is the infamous freelance websites. Freelance sites are great when you want to get started. By great, I mean the intention of the platform is great. But what is not so great is what they have ultimately become: cheap labor camps for outsourcing.

Freelance sites such as Upwork literally artificially deflate your value. They are swarmed with cheap clients and cheap labor. This isn’t entirely the client’s fault. C-grade developers are also to blame for making software development seem as easy as making bread. Hence the competition on these sites is usually who can give the lowest price for labor with the fastest time delivery for delivery.

If you haven’t built a reputation and you have your own client pool of repeat business, you will end up burning an incredible amount of time doing work that may seem simple at the beginning, but becomes complex due to the nature of how things work. Some clients are always trying to squeeze extra work that was not part of the negotiation requirements phase. Most likely, you?ll be obligated to do it because you desperately need to boost your star ratings to get more brownie points so that you get more higher-paying gigs.

Talking About Money Is Hard

This is one thing you would have to get used to very quickly. If talking is not your thing and you?re happy sitting in a comfortable office space or cubicle with a backlog of work waiting for you to work on, like on an assembly line, then you have no business doing freelance gigs. Money is usually one of the hardest things to talk about and could either make or break deals.

Hence, it?s always best to have this kind of conversation early on so you don?t get dragged into a rabbit hole of requirements analysis, and never get the deal. Time is money. Every minute invested or wasted could be time spent executing another deal. How the conversation goes will entirely depend on your negotiation pitching skills, your development skills, past work (such as having a good backlogged portfolio), and a whole load of luck.

Getting Paid Can Be Tricky

Now assuming you got the deal and the price is right, you have passed the negotiation phase. You?re both interested in working with each other. Some personal advice for you: You may not be out of the water yet.

Depending on where you?re operating and doing your freelance work, humans are fickle beings. This is not always the case, but when you do freelancing on a global platform, you need to cover your bases so much more than if you?re doing work for acquaintances. Demand no less than 20% to 50% down payment. This is to ensure you cover your upfront time invested in case the project gets canned halfway through.

If the client is willing to stack money, they have a strong vested interest in the success of the project. Online freelance websites also have an escrow service in place to protect you as a developer.

Demanding upfront payment will also ensure time wasters are weeded out early on. Managing scope becomes hugely important, and defining all expectations ahead of time is paramount. If your client is adamant about not giving upfront payments, perhaps the client wishes to profit from the project to use profits to pay you. If that’s the case, then consider an option of daily or hourly work followed by smaller, frequent payments. The hard truth is that not everyone is honest, and when you?re doing freelance work, some people may think you’re a pushover.

Having signed contracts is incredibly important. So is proper invoicing, regardless of whether you do business in person, online, or via freelance work websites.

Managing Scope Creep

Scope creep is the mother of all evils and can be a complete nightmare in terms of time invested, which equates to money for both you and the client as well.

Because of the nature of software development, sometimes it?s incredibly hard to estimate how long certain features you wish to create take, and it?s equally hard for the user to visually articulate what they want. Yes, there are many tools that can be used, but that’s not the point of this piece.

It?s in the nature of creating software that scope always creeps to some degree. The hard truth is that if you don?t do this one thing, you will potentially be doing extra work for free. Free work sometimes isn’t bad, in the sense you?re already getting paid. So what?s an extra feature worth? It could mean the potential return of business. So think about this very carefully.

Some sound advice: When in doubt about scope creep, take your current rate and double it. Undercharging is bad. Finding a middle is good and may also increase your perceived value. Too high of a rate and you could potentially lose the gig. Striking a balance is an art in itself.

The Rabbit Hole of $5 Work

If you?ve spent a little bit of time online looking for online freelance work, you will have at some point noticed there’s no shortage of $5 work, such as gigs offerer by Fiverr. There’s definitely a market for $5 work, but I think creating a full-stack app with database work coupled with payment processing is not worth $5. The hard truth is don’t get desperate and fall into this cycle of $5 work. Getting out of this cycle can be hard. For the c-grade developers, it’s just a volume game ? $5 x 1,000 jobs ? but the quality is sacrificed in the process.

Your ultimate goal should be to build long-lasting partnerships. Yes, cheap work can be a stepping stone, but there are other ways to build a reputation, such as open-source contributions or creating your own projects. Look for a long-term contract with small to large companies.

Going It Alone Is Probably a Bad Idea

Doing freelance in a silo when getting started may work, but for the long haul, this approach does not scale well. You cannot possibly be good at everything. Creating good quality software requires multiple areas of talent, an incredible amount of time investment that you might not have the luxury of having. On top of that, ensuring proper response times and giving feedback on various issues while continuing to churn work may become a problem when time is limited and competition is stiff. In my humble opinion, I believe the magic number at some point is two. Having a close friend or business partner you can rely on and is dependable may help you to scale and get better details while splitting the load and the cheque.

Dry Spells

It happens to the best of us, though the isolated nature of freelancing makes it seem like an eternity sometimes, though rarely if you have been in the game long. In all honesty, these dry spells are very much unpredictable. Your only saving grace is developing impeccable communication and networking skills, and learning to be frugal, with good money management. Learn how to save money for the next dry spell, if it does ever occur.

There are other things you can do to ward off dry spells. Hit occasional tech conferences and meet-up sessions to see which entrepreneurs may be looking for software development work in the near future. Keep tabs on your extended network on LinkedIn to see if there is potential work. Use Facebook for something else besides posting food pictures. You want to think out of the box and not flock to places where every other freelance developer is flocking to.

Final Thoughts

If you?re not a people person, learn to become one. Freelance is not a game for the faint-hearted. there?s an army of introverted, shy, brilliant, and c-grade developers willing to troll the web for easy leads. If you want to get out of the cheap labor camp cycle of work, don?t ignore networking and face-to-face interactions.

You?re competing with developers all over the world. You need to learn the art of negotiation, and you need to learn how to enhance your skills. You need to learn how to remain calm. Most of all, you need to learn how to make deals by underpromising but overdelivering.

We still live in a time where face-to-face interaction is important to do in business, regardless of all the numerous platforms for doing online collaboration, and where charisma can be just as valuable as technical expertise.

Ensuring you equip yourself with some of these hard truths as a software developer may make all the difference between whether you survive or dwindle into despair.

Conclusion

I hope this article has made you think about things that you might not have thought about before. At the end of the day, your road to success depends on you. Everyone has a different path, easier for some than for others. Freelance work has tremendous opportunities. If done right, it can be a rewarding and fulfilling career, provided you understand how to navigate this territory.

I would be happy to hear about your personal experiences. Feel free to share your thoughts in the comments section below.

20