I underbid for the gig, and it cost me almost two months of extra work for free.
I was about to get my first client. He needed something "simple" done: Install an e-commerce platform with a template theme on his server and add his products. I asked for a meager amount figuring out that it was my first client, and I needed to get some reputation first.
I learned you never ask for a smaller amount to get the gig and submit a full proposal before starting work.
Always submit a proposal detailing your work and the compensation needed.
Also, ask for payment that will be satisfactory to you. If you work for pennies you will not care about the work, especially if you have a full-time job that pays a lot better.
The best approach is to tell your client that you will evaluate the work needed and submit a proposal. It is essential to clarify what work you will do. Your client will get A, B, C features in exchange for X hourly rate. Be specific! The more details are in the proposal, the better and the less wiggle room the client has to put in extra work that "he thought was included." Being specific is a win-win as the client also knows what to expect from working with you.
Let's dive into how to make sure you are setting expectations correctly:
1. Make sure to estimate more time than you think you need.
You will always need more time than you expect - software development truism.
A good rule is: Add around 40-50% more to your initial estimation. If you think it will take 2 months, say 3; if you think it will take 4 months, say 6. As a general rule, your clients will prefer to expect longer times than to see you miss deadlines.
3. Ask for a rate with which you will be satisfied.
It might be tempting to ask for a low rate if you are only beginning, even if you make many times more than that at your day job.
Trust me; this is a big mistake! You will become passive-aggressive with your client, as you will feel that you are doing him a favor. This attitude will not carry well for you, and your client will remember working with you as not pleasant.
To know if you are asking for enough, ask yourself if you were satisfied with that hourly rate for the next 6 months. If not, you are asking for too little.
3 Agree on a limited number of revisions
Clients will always want to change minor details if you don't limit revisions. It ends up being very time-consuming.
Specify in the proposal that the client has 3 revisions on the project. This limitation will also make your client more specific with the changes he wants instead of throwing every new idea at you.
In closing, it always pays off to set clear expectations from the beginning. You and your client will both end up happier.