re: "I have been working with a freelancer since November 2020 – and already paid them $3,350 and the current contract is worth $918. The work is not going as planned - they coded a module incorrectly and asking for more money to refactor the code. The instructions were clear and no changes in requirements from me. They basically implemented an API incorrectly - created a throttling issue. Without refactoring the code – the project is as good as dead. What should I do – please advise."
I don't know enough about your current situation to tell you what to do.
I can tell that you are frustrated by your current situation. You feel like the freelancer made a mistake and is essentially asking you to pay him more money to fix this mistake.
Upwork doesn't manage these things. This is for you as a client and project owner to manage.
Your options include:
- simply pay the freelance what he is asking to do this next part, because you need that part
- stop working with the freelancer entirely
- negotiate an arrangement that helps both parties, but also "shares the pain"
If you feel like this freelancer is a valuable member of your team, then you should keep that in mind, even if you feel like the freelancer has made a mistake. Regardless of what you decide to do, you should put YOURSELF and YOUR PROJECT first.
If it HELPS you and your project to continue working with this freelancer, then you are not obligated to penalize him for making mistakes. If you don't highly value this freelancer's contributions to your project, you should feel free to fire the freelancer even if he hasn't made any mistakes at all.
If you have only one freelancer working on this project, then keep in mind that you can't compare them. This is a real problem if you have a large project.
If you have multiple freelancers working on this project, then you can compare them. Maybe Freelancer A is delivering work way over budget... Freelancer B is delivering work on budget. And Freelancer C is delivering work under budget. Freelancer C is providing you the most value, and saving your project money. You can fire Freelancer A and Freelancer B and continue working only with Freelancer C. You can also hire other freelancers (D, E, F) to make sure you have more help on the project. You can continue to evaluate all of the people on you team in order to save money and maximize the quality of the project.
Despite the frustration you expressed about your CURRENT freelancer and the costs... I suspect he might be a diligent, serious freelancer who is trying to help you accomplish your goals. But if he (or "they") are the ONLY freelancer working on this... You really don't know for sure how his work stacks up with the work done by others.
You said "please advise."
My advice is to you, to maximize your success in completing this project:
- Make sure you have more than one freelancer working on this project. If this particular "freelancer" is actually a team, that counts as only "one freelancer." You should have at least three different freelancers on your team, who are all completely independent of each other. That way you can compare their work.
- If the quality of the system and source code is important, then use hourly contracts wherever possible. If some freelancers are clearly more expensive than others but do not clearly provide more value, then you can close the contracts on them, and continue working only with the freelancers who provide you with the most value.