Stop Undercharging NOW! The Freelancer’s Ultimate Guide to Pricing Software Projects

Ah, the life of a freelancer! Not a week goes by without a fellow developer sliding into my inbox with the million-dollar question - "How much should I charge for this app?"

· tech · 6 min read

Ah, the life of a freelancer! Not a week goes by without a fellow developer sliding into my inbox with the million-dollar question - "How much should I charge for this app?"

I remember my early days of freelancing. A Malawi-stock-exchange-listed client was looking for a USSD application. “How much?” they asked. And like a rabbit in the headlights, I was frozen — calculating numbers in my head as if I was trying to solve a Rubik’s Cube blindfolded.

The Types of Projects

As a freelancer, the kind of project you might be tasked with could range from creating a simple landing page to building an entire cloud-based enterprise solution. It might be a four-page website, a dynamic eCommerce platform, or even an intricate machine learning model.

The Problem with Flat Fees

Many freelancers charge a flat fee based on the project type. For example, a four-page website might go for MK500,000, while a ten-plus-page website will cost MK1,500,000. Simple, right? Wrong! Unlike retail products, software isn’t static. It grows, changes, and occasionally throws tantrums.

Flat fees can lead to monumental frustrations. Imagine working your fingers to the bone, only to realize that your earnings are chump change compared to the hours you’ve logged. The sense of exploitation saps your morale faster than a double espresso shot.

Here’s what to do instead

Hourly rates! I know this term elicits either a knowing nod or an anxious eye-twitch from freelancers. But listen, Maestro, the hourly rate system I’m talking about here isn’t the one-size-fits-all straight jacket you might be used to. Nah, this is a bespoke suit tailored to the contours of your project—a system that considers the nuances, the highs and lows, the plot twists.

With this approach, we’re forced to break down the level of effort required for each stage of your project. Think of it as slicing your project into phases, then itemizing those slices based on how long you think each one will take. And for each of these project segments, you assign an hourly rate that captures not just your time, but also your skill, expertise, and the complexity of the task at hand.

But even before going there, we’re forced to ask all the necessary questions regarding the project impmentation. Because to come up with such a comprehensive breakdown, you should have gathered your requirements studiously.

Show me How

Enough talk. Let’s break this into a practical example. Here’s the task your client is looking for

A mobile application for a tech conference complete with a backend system to handle registrations, payments, schedule, and speaker profiles.

  • Step 1: Define Project Phases Start off by defining the main phases of your project. Think of it as the different chapters in a gripping novel. Typical phases include Planning, Backend Development, Frontend Development, Testing, and so on.

  • Step 2: Itemize Tasks Within each phase, list down the tasks you’ll be executing. Be detailed; no task is too small. It’s like listing ingredients; you don’t want to forget the salt in your stew.

  • Step 3: Estimate Time Next up, put on your future-seeing glasses. Estimate how many hours each task will take. But remember, optimism kills projects. If you think it’ll take an hour, add a safety buffer.

  • Step 4: Skill Level Multiplier Here’s where the spice comes in. For each task, assign a Skill Level Multiplier based on its complexity. This will be a factor that you’ll multiply with the hourly rate. The higher the complexity, the higher the multiplier.

    1. Understand the Skill Categories First, let’s categorize skills into Basic, Intermediate, and Advanced. Basic skills are the day-one-on-the-job kinda stuff. Intermediate takes a bit more practice and experience. Advanced? Well, that’s where the Maestros like you really shine.

    2. Create a Skill Level Matrix To avoid pulling numbers out of thin air, create a matrix to quantitatively assign multipliers to each skill category. For instance, Basic could have a multiplier of 1, Intermediate a 1.5, and Advanced a 2 or even higher.

    3. Factor in Task Complexity But wait, it ain’t all about skill level! Take into account the complexity of the task itself. Does it require integrating multiple APIs? Is there complex data modeling involved? Add another layer to your matrix for these complexities.

    4. Account for Unknowns and Risks Ah, the spicy chili flakes of project costing! Account for unknown factors and project risks. This could mean increasing your Skill Level Multiplier for tasks with higher levels of uncertainty.

    5. Add an Industry Coefficient Last but definitely not least, take into account industry-specific requirements. If you’re developing for sectors like healthcare or finance, you’ve got extra regulations and security measures to think about. So go ahead, jack up that Skill Level Multiplier a notch for those industries.

  • Step 5: Before you go on multiplying anything, you gotta have a number to start with. So how do you get that number? Easy. Take what you think your yearly salary should be (honesty is key here), divide that by 52 weeks, and then divide that by 40 hours. Voilà, you got your base hourly rate! Oh, and calculate your tax burden and include this in your hourly rate. This could mean increasing your base rate by another 20-30%, depending on your tax laws.

  • Step 6: Calculate the Subtotal and Grand Total Last but not least, do the math! For each task, the subtotal will be Estimated Hours * (Hourly Rate * Skill Level Multiplier). Add up all these subtotals to arrive at the Grand Total.

Your Hourly Rate Formula

Your Final Estimate (Quoatation)

PhaseTasksEstimated HoursSkill Level MultiplierHourly RateSubtotal
Planning & ResearchRequirement Gathering81$50$400
Market Research51$50$250
Backend DevelopmentUser Registration201.5$50$1,500
Payment Integration152$50$1,500
Speaker Profiles101$50$500
Event Schedule121$50$600
Registration CRUD101.5$50$750
Authentication122$50$1,200
Schedule CRUD81$50$400
Speaker CRUD91.5$50$675
Frontend DevelopmentUI/UX Design201.5$50$1,500
Implementing Design to Code251$50$1,250
Speaker Details Screen121$50$600
Speaker Landing Screen101.5$50$750
Registration Screen81$50$400
Schedule Screen81.5$50$600
Payment Screen81.5$50$600
TestingUnit Testing101$50$500
User Acceptance Testing81$50$400
Project ManagementWeekly Meetings101$40$400
DeploymentServer Setup52$60$600
Load Testing52$60$600
CI/CDPipeline Configuration62$60$720
Automated Testing Setup42$60$480
Miscellaneous CostsUnexpected Hurdles101.5$50$750
Total281$20,755

The Benefits

This method doesn’t just calculate the monetary cost; it also spells out the time investment. Plus, it gives your client a crystal-clear breakdown of where their money’s going. And when (not if, when) they want to negotiate, you can easily point out which parts of the project could be trimmed, helping you reduce cost AND workload.

The Caveats

No system is foolproof. You’re bound to underestimate the level of effort for some tasks. However, this method provides both you and your client with maximum transparency.

Conclusion

This approach has minimized my project-related frustrations. I can confidently say that this method ensures that all costs are anticipated and covered.

Because let’s face it, the only surprise we want in freelancing is landing that dream client, not realizing halfway through a project that you’ve undersold yourself.

Stay up to date with my Posts

Get notified whenever I publish a new article concerning the latest in Software Engineering, a Youtube Video or just some thoughts about politics or Faith!

    You may also be interested in

    How I Accidentally became an AI Engineer

    Imagine being an AI Engineer and not knowing it! In this post, I share my my experience building LLM-based applications, and how I got here in the first place.

    Read More

    48 Hours of Pure Innovation - How Our First AI Hackathon Blew My Mind! 🚀

    You know that feeling when you're about to launch something big, and your stomach is doing backflips? That was me before our first-ever AI hackathon at Irembo campus.

    Read More

    Five Reasons why it's not too late to learn coding in 2021

    I get a log of people asking me if it's too late to learn coding. The answer is always unequivocally no. Here are five reasons why.

    Read More