Why Developers Struggle To Charge For Their Work
Tags: codenewbie, codequality, programming, charging
Published: 2021-05-04 20:41:01

Back when I was a recent grad of business school, I began advertising my marketing services to earn a little extra money on the side. Granted I wasn’t overly experienced, but I had been working with a marketing agency during my time at school so I wasn’t completely unfamiliar with the workload or standards of deliverables. After having made my website, began promoting my service, and set my prices, slowly but surely work began rolling in. My initial process was to first meet and become acquainted with the client while gaining a deep understanding of both their industry and type of business. We would then discuss what services they were interested in as well as outlining their end goal. After examining the job and ensuring we were on the same page, I would provide these clients with a quote based on my price list so my customers had an idea of where and how I was evaluating my services. Now, I can assure you that I had likely set my prices too low as I was just starting out, but after having researched what the industry standards were for cost of services and comparing that to the time + effort + difficulty of the task(s), I felt confident and comfortable with what I was charging. When it came to confirming the cost of services with the client, it felt like there would often be a comment or a suggestion, more likely a negotiation about the final price for the scope of work, and without hesitation, I would feel as though my fees were too high and that these people would be let down by the quality of my work which would then lead to being fired and possibly losing future clients. To put it simply, I would lose confidence in myself and my abilities based on the client's hesitations with my prices. After speaking with other freelancers and solopreneurs during this time, I, unfortunately, discovered I was not alone. This was a common occurrence amongst many of those beginning their career, especially for people who aren’t overly comfortable with confrontation. This ongoing experience led me to hear about others who had also developed a negative relationship with charging for their work with incidences such as; 'They were referred by a friend and therefore the client felt entitled to lower prices.' 'They had this particular client for ages and the client wanted a discount based on all the work they had provided them.' 'The client didn’t like the completed work even though they had signed on a contract and wanted their money back or the next set of services for free.' This list goes on. 

The question I wanted answered was, “Why is charging for your work such a struggle?”

Luckily, there are many different ways in which you will become more confident and assured when billing for your services. Some of these include becoming further familiarized with your business or role and understanding the critical components that need to be considered before setting your prices, such as calculating your base costs. These include:

**Material costs**: These are the costs of the materials you use to provide the service. It’s never a bad idea to include the material list with your estimate when bidding for a job.

**Labor Cost*: This is the expense of hiring direct labor to perform a service such as your team of employees. 

**Overhead Cost**: These are the expenses that your company incurs as a result of delivering services to customers such as administrative assistants or human resources staff, your monthly rent, taxes, insurance, ads, office supplies, facilities, and other operating costs.

**Determining a Fair Profit Margin**: Once you determine your costs, you'll need to mark up your services to ensure that you achieve a profit for your business. This is a delicate balance as you want to ensure that you achieve a desirable profit margin, but at the same time making sure that your business isn't overcharging for its services. It’s now time to look to examine your pricing model if you haven’t already done so. Examples of this are charging a flat fee, variable pricing, or charging hourly. There are risks and rewards associated which each of these and your pricing model may be subject to change depending on the evolution of your business or career. When setting your prices, remember that the more experience you have and the more skills you develop, you can fairly adjust and increase your prices, so don’t worry about feeling stuck or limited in the beginning. After exploring these considerations, many people then compare their prices to others in the same or similar industry, essentially finding out the going rate. This is helpful to ensure your prices are fair compared to industry standards. The most important part of any business you’ll own or role you will have is knowing your worth and the value of your work. No matter what industry you’re in, to successfully set and charge fees for your services you must be confident in your skills and abilities and the value you bring to your customers. 

There is something nearly every person goes through at some point in their career, and that’s imposter syndrome. Although we will be diving further into this topic in a different blog, let’s talk about how imposter syndrome affects how you charge for your services. As a programmer, you’re in a large field that’s only getting bigger and software development never stops expanding, which requires you to understand and keep updated on the creation of new languages, frameworks, and tools. With this in mind, you may feel overwhelmed at times as a developer. The tech industry also happens to have fairly unrealistic expectations which can get passed along to those who work in it. This can sometimes lead to clients or your boss expecting more out of you than what is truly attainable. With all of this in mind, it’s easy to understand why imposter syndrome is so prevalent. However, don’t let it get the best of you. You will likely always feel underqualified and even overwhelmed if you're taking chances and jumping into new opportunities, but that’s how you learn, grow and become better. 

One reason in particular in which programmers struggle to charge for their work is having to effectively communicate to non-technical people what it is that they do. This can be a seriously frustrating and draining process. However, just because these people don’t understand how to code doesn’t mean they’re completely lost, they just simply have no clue what happens behind the scenes and don’t fully comprehend operating systems, networks, databases, application layers. As a software engineer, it’s sometimes best to explain complex features with real-world examples and walk people through how projects have to build in order to deliver a given component or a specific outcome. By providing breakdowns and examples of what is required for each deliverable, will allow any disconnect between your client and yourself to be resolved and it will avoid future stress on any possible complications. And remember, just breathe, we know this part can be exhausting.

As a programmer, it can sometimes be difficult to showcase all of your past work, so keep a detailed record of all your successes and achievements to use as a reference when discussing your pricing. You want to be able to point to specific examples of what you're capable of. Whether it be for a contract or permanent position, defining clear deliverables and expectations for your work and compensation will help you to both demonstrate your professionalism and develop strong and lasting relationships. If you have felt or ever feel as though you aren’t being compensated fairly or don’t appreciate when people attempt to negotiate your quotes, review the areas of your business model we have discussed until you are completely confident and have no hesitations about your pricing strategy. Remember, freelancers and employees have the power to choose their clients or future employers, so don’t feel pressured to take on a project or a position you’re not completely comfortable with. Ultimately, you have the decision to not move forward with a client if you feel they are being difficult and it’s much more beneficial for everyone when you enjoy and respect the people you work with. Developers have a complex and desirable set of skills and abilities that bring ideas to life, and without this group, we as a society would not have advanced in the way we have today. Because of this, programmers should acknowledge their massive contributions to projects and should feel comfortable with the prices they’ve set given their level of expertise and skill.  

Originally published at [codecast.io](codecast.io/blog) by [Elsa Krangle](https://info.codecast.io/author/codecast-community-editor)