8 Ways You're Wasting Money As A Web Developer

8 Ways You're Wasting Money As A Web Developer

Picture the emotions that come to your mind when you think about your web development business. Can you recall the excitement of signing a new contract for building a website or the joy of solving a critical problem that took you most of the last week?

But then there is fear. How you are going to pay your bills this month when the phone goes silent for too long, and you haven’t got a single offer request for a couple of weeks. There is frustration when your customer delays the project. There is anxiety when you are refused to get paid until you add some features that weren’t previously within the scope of the project.

Let’s look at the things that can cause web developers to miss out on money, and how to fix them.

The reality of working as a freelancer or running a small agency requires wearing multiple hats. It is apparent that technical skills are essential, as it’s challenging to build websites if you don’t know how to code on at least a basic level. But there’s more to it than that. A freelance web developer needs to be their own manager, accountant, support manager, and salesman.

The last role is usually the trickiest one. It’s almost impossible to be a professional developer and great salesperson at the same time. Selling is difficult, and it requires a different skill set than designing or developing a website. Even your personality type may work to your disadvantage.

Working as a developer or designer requires extensive technical knowledge and a detail oriented attitude which are skills associated with introverts. Most web developers feel much better at dealing with code than with people.

It is no wonder that most people who build websites can feel uncomfortable with selling and thus don’t get the results that they are looking for.

On top of that, selling a service is always more challenging than the sale of a tangible product, which can be presented, tested, and evaluated before purchase.

The main reason why people who make websites can’t make their ends meet is because they are bad at selling. And one of the most common reasons for that is ineffective proposals.

The most common issue is focusing on the wrong problem. Getting a new website developed is a very stressful experience for customers. Surprisingly, it’s not because they are afraid the site won’t suit their needs. It’s because they are scared of the website development process itself. Exploring this pain and creating a compelling pitch focused on assuring them that you know how to organize the website development process is a key to building an excellent proposal.

Another frequent issue I have seen is making proposals all about the advantages of the websites yet to be made. Customers usually get dozens of quotes for a site, and all of them are full of technical jargon most customers don’t understand, such as responsiveness, optimization, customization, etc. This way they don’t see the reason why they should choose one proposal over another and usually end up making a decision based on price.

Finally, most freelancers focus on the most crowded space which is building new websites. They have to compete with millions of other developers and it is tough to stand out. At the same time, there are over 1 billion websites that are already out there which require changes, updating, and maintenance. The competition on that market is nowhere near the size of the website development market.

Regular employees get their salary every week, two weeks, or month (depending on country) in a recurring manner, while freelancers get paid only when the project is done. As the website development projects almost always take longer than expected, it’s impossible to predict when a freelancer will receive his pay.

Unfortunately, rent, mortgage, and other bills are also recurring. It’s not a problem for contract workers because they know exactly when they will get paid. But for freelancers it means a constant struggle to get money wired for projects before bills become overdue. First, it’s about getting new jobs. Then it’s about developing the websites. And if these things aren’t hard enough already, there is also the whole acceptance process which depends on the client’s availability and willingness to cooperate. And once the project is finally done (and paid for) the freelancer needs to start the process all over again to get another job, deliver it and then once again hope for another wire.

People with steady corporate jobs not only know when they will get paid, but they also know how much they get. If the contract stipulates they make $80,000 a year, they will get at least that amount in equal chunks throughout the year unless they get fired.

Freelancers, on the other hand, usually don’t have such comfort. Customers want to get their website done as quickly as possible which makes it difficult to build a pipeline of work that is required to get a steady and predictable source of income. There are also many factors that are out of the freelancer’s control such as delays in delivering content for the website by the customer or a never-ending acceptance process. All of that makes it almost impossible for a freelancer to predict what the income pipeline will be throughout the year.

Getting paid on a per-project basis has one more severe disadvantage. You usually get paid only after the project is completed and at the end of the day, it’s up to the customer to decide when the project is done.

The typical scenario is that the client’s excitement decreases over time, and by the end of the project, they’re often not that responsive to communication which makes it difficult to get them to finally accept the project. Additionally, customers will never deliver the content on time which will introduce further delays. Unfortunately, some customers try to take advantage of the situation and force web developers to do some extra work within the previously accepted recalculation.

Being one’s own boss is tricky. Many people choose freelance web development because they appreciate the flexibility and freedom it provides. It may seem that you can work when you want and as much as you want, or that you can be anywhere in the world and you can still do your job.

That’s theory. In reality, it’s more likely that you will need to spend all the time you possibly can on work, often staying up for long hours of staring at the computer screen.

It’s true that it’s easier for a freelancer to take a break during the day to pick up the kids from school, but when an employee is done, they are done. A freelancer, on the other hand, is almost never done with work for the day.

For many freelancers I know, collecting is the least favorite part of the project cycle. There are several reasons for that.

First of all, customers make it difficult. From my time as a freelancer, I can recall that clients usually became much less responsive near the end of a project, especially when it was time to fulfill their end of a bargain. I often had to send several emails asking them for their final approval and later call them many times asking if they got the invoice and when I could expect the wire. There’s an entire set of tactics used intuitively by customers like:

“I’ve lost your invoice. Can you send it again, please?”

“I’m currently on a business trip/on holiday. Could you call again next week?”

“Just add this one small additional feature, and I’ll pay you right away.”

Back then I thought it is unique to the Polish market, but in conversations with web developers from the US, Western Europe, and India I learned that it’s a global trend on the low-end web development market.

Unfortunately, when it comes to collecting, the freelance web developer who needs to reach out to a customer to finally get paid. It is not uncommon that this takes multiple emails or phone calls to get the money for the project.

Many people find asking for payment uncomfortable, even when they are obviously entitled to it. In fact, some don’t feel comfortable about speaking of money at all, not to mention reminding a customer about an overdue invoice. Some freelancers even have internal doubts if their work is worth the money they have agreed on, and thus they feel even less comfortable asking for payment.

Why do customers change the scope of the project halfway through so often? Usually, it’s because it’s difficult for them to describe what they had in mind in the first place. Sometimes their vision or the reason why they want to build their presence online is blurry. Lack of a clear goal and a low level of technical knowledge make it tough to communicate successfully.

The inability to describe upfront what they want or need is the main reason for iterations. Often it’s only after the presentation of the graphic design or even the finished website when customers begin to clarify their requirements. Usually, it entails a lot of changes. If you factor in the complexity of responsive websites, search engine optimization and social integrations it often requires up to five iterations before the website gets accepted. It dramatically lowers the profit on the project as most sites are developed for a fixed fee. Some web developers even abandon a project when they are presented with a list of changes that will take too much time to implement, as they know it will mean hours of poorly paid work to get the project closed.

Throughout this article we’ve talked about a lot of the pitfalls freelancers can run into when dealing with making money. The best way to make sure you get paid correctly and on time is to keep lines of communication open with your client.

Bring up cost right from the start and be clear about when you need to be paid and how much. See if your client would be okay with paying you throughout the project instead of saving it all for the end. This will give you a little more peace of mind throughout the process.

At the end of the day keep your lines of communication open and take your financial needs seriously.

Images Powered by Shutterstock

Thank you for your referral

Please list your name and e-mail and we’ll contact you shortly

  • This field is for validation purposes and should be left unchanged.