Mar 5, 2019 11:57:01 PM by Michael F
I hired a freelancer to redevelop a small application - estimated to be about 35-45 hours worth of work.
He committed to working on it at least 4hrs per day the first week, not more than that due to other work obligations he had. But he would do even more for the second week, and in any event would finish by the end of that second week.
This freelancer had just finished a two year contract worth well over $100k with a glowing 5 star review. I felt that I was in good hands.
In the first few days of the project, I was becoming concerned because he didn't work on it for 2 days in the middle of the week. I floated the idea if he was too busy, I understand, and would be willing to find someone else. He was apologetic, and assuredly told me that he'd make up that time over the weekend, and for the second week, he was able to commit to 8 hrs. per day.
He actually ended up putting in just over 30 hours that first week (about 20 between Friday and Sunday). Monday of the second week he logged 6.5 hours (making it us to 36+ hours). We spoke that day, he was going to give me a version for testing with the rest of our stack the following day.
When I reached out to him the next day for the version to test, he was unresponsive. Since then, 9 days later, he has put in just 4 hours. I eventually heard back from him, he mentioned something about a personal emergency but assured me that he would be able to pick it back up, and we'd certainly finish before the deadline.
Since then, communication has continuted to be very spotty. We're 40 hours into the project. There are 2 minor tasks left, and one other task that is potentially more complicated. The two minor tasks should take no more than 2-3 hours to do total. He originally told me that the last (more complex one) should take no more than 4 hours. Each day he tells me he will work on the project soon, but generally he doesn't. I imagine that he'll finish it at some point, but it's holding up other development, and I can't afford for this to go on for another 2-3 weeks.
I was in general too trusting, and clearly entrusted too much responsibility to him at the onset. I've learned my lesson and will approach future engagements much differently. I promise! He has Top Rated status, so I presume since early in week 2, when the work stalled, he's planned on just deleting any rating/feedback that I leave. That has me at least thinking that I'm entirely at his mercy.
Getting someone else to finish up the project is of course a possibility, I'd definitely prefer to avoid that though given how close it is too finishing. This has been somewhat of a nightmare - my goal is just to finish this up.
Aside from ending the contract right now, what would you guys suggest doing?
Mar 6, 2019 12:23:24 AM by Preston H
Why do you care so much about this one freelancer?
Put your project first.
Other people can work on the project.
Mar 6, 2019 12:45:21 AM Edited Mar 6, 2019 12:46:24 AM by Michael F
In most cases, as with this one, I'd imagine that the original developer can finish the last 5-10% of a project, 2-3+x faster than anyone else.
I don't have anyone on staff that can do it, either. I don't think I'll have an easy time finding a quality developer to take on this job for the last 5-10%. A different dev told me just today in reference to something else... "everybody hates the code made by someone else " direct quote!
Nonetheless, I'm of course considering it. I can't delay much longer. I'd rather avoid it though, and am looking for some suggestions aside from that.
Like...does Upwork ever intercede to salvage a contract and tell the freelancer (preemptively), that they won't be permitted to delete feedback for this job if they don't finish (unless they can somehow demontrate that I'm being unreasonable in one way or another)?
Mar 6, 2019 01:12:00 AM Edited Mar 6, 2019 01:13:39 AM by Preston H
re: "everybody hates the code made by someone else"
There is a great deal of truth to that.
Not everybody will be willing to work on this project.
But if you like the work that has been done thus far, and if it represents a large amount of work, then I would advise you to NOT start over.
It is possible to find quality programmers who can work on an existing project to implement new features and make changes. This is really something your project manager should be handling, though. She should be the person who hires people and assigns remaining work to them.
Mar 6, 2019 02:15:06 AM by Michael F
I definitely wasn't considering starting over.
Any suggestions on how to get the freelancer to finish the job?
Am I off-base with my assumption that he's intending on simply using the feedback removal option, and that's why he's decided to largely ignore me and the project at this point?
Does Upwork require any basis on the part of the freelancer for approving a request for deleting feedback?
In a situation like this, would Upwork ever intervene, and require the freelancer to either finish the project or give a reasonable explanation, and if not they won't be able to use their 'freebie'?
Mar 6, 2019 03:21:13 AM by Scott B
Upwork is not going to intercede nor should they given their role here. They create an environment for buyers and sellers to find one another and to facilitate payment. They are not going to get involved in the day-to-day details of a project and frankly you don't want them to.
It is time for a serious come to Jesus with this developer. It is very unprofessional what he is doing. You need to firmly let him know that he is hurting your business and he has an obligation to either complete the work or the contract will be closed with appropriate feedback given. Yes, providing he has not used the removal perk, he could use it here; however, private feedback will remain and thus impact his JSS. I'd assume you would give him the private feedback he deserves.
Working on an existing code base is often not fun. However, when we do these kinds of things we do so knowing that fact. He could have asked to see the code first before taking the job. When I have taken on projects that have an existing code base, I understand what I am getting into. I am candid with the client and explain issues as we go. That's the way this needs to work and if the freelancer decides to take the job. As a result he has no excuses and even less for what sounds like abysmal communications and project management skills.
He should be providing code updates regularly to a code repository that is under your administrative control. That way you are sure to have all of his work and someone else can come in and start where he left off. Make no mistake this will cost you as anyone coming in will need time to get familiar with the code. That's true for everyone. However, you cannot let this freelancer run your business and hold you hostage. So it's time to be very candid with him and then do what you say. The leash you continue to give the freelancer is the noose around your neck, not his.
Mar 6, 2019 04:25:22 AM by Michael F
Thanks for the taking the time to weigh in, Scott.
I've been pretty frank with the freelancer. I've mentioned a number of times that we're missing the deadline, and this is going to be holding up other development. I've told him that he had made committments that he's not completely disregarding.
I think you may have been unclear in thethe earlier discussion about devs 'not liking to work on other people's code' - we were discussing there, why I'm reluctant to try and find someone else to finish the job, instead of getting him to finish it.
I don't think that the issue here is that he's struggling with it. It's not very difficult stuff. He could complete the project in 4-6 hours. I suspect, the reason that he 'lost interest' in the project is that he was at some point thinking he was going gain from me other parts of the project (completely unneccessary for what he's building), that would make the part that he's building very valuable. And maybe this is his way of passively letting me know he's unhappy about that. A few times, he asked me for them, and saying they (the other parts) were necessary for him to have for technichal reasons, despite our discussing at the onset that they were not necessary, and my reexplaining why they weren't necessary.
Anyways, since he has the option to delete negative feedback, and I'd rather not try and find someone else to finsih the last 5-10%, I'm not sure if being any more firm that I am will have much effect. I have no leverage. I actually only found out last week Top Rated freelancers have this 'perk' of deleting negative feedback at will (and then all of the sudden I started understanding why he comfortable ignoring me and my project). And from what I read (here) it is possible to remove the feedback so it will not even affect the JSS.
So, while it makes sense for Upwork to maintain some ability to moderate negative feedback, it would seem putting that control freely in the hands of the freelancers creates an opportunity for it to be abused. I think if Upwork has created this 'feature' or 'perk', they should ensure it is being used appropriately.
Mar 6, 2019 05:02:08 AM Edited Mar 6, 2019 05:02:40 AM by Scott B
I do not believe that the removal of the review also removes the private feedback.
There are restrictions around how often the perk can be used. If we start trying to take into account the situation by which the freelancer can use the perk then we should take into account clients who leave punitive feedback when not warranted. UW does not regulate that in anyway and those can be left each and every time. A restricted removal of a single feedback by a freelancer is minor by comparison.
It's unclear to me what advice you are looking for. You seem committed to finish this out with the freelancer. That's certainly your call and I wish you luck.
Mar 6, 2019 06:09:14 AM Edited Mar 6, 2019 06:14:40 AM by John K
Michael, whether or not the freelancer can delete your feedback, Upwork can't force the freelancer to complete the job. So I don't see any practical alternative for you other than hiring another freelancer. You might even take a chance on a freelancer who's not top rated, then you won't have to be concerned about feedback being removed, and as you've discovered, Top Rated doesn't guarantee a great result. And someone who's barely below Top Rated, with say JSS of 88% or 89%, might jump at the chance to get a review that might make them Top Rated.
Mar 6, 2019 09:25:15 AM by Richard W
The Top Rated perk certainly does remove the job from the freelancer's JSS calculation. Additionally the freelancer has the choice of whether to remove the public feedback from their profile. If they choose that option, the job remains shown in the profile, but the feedback is replaced with the words "This feedback has been removed."
As a Top Rated freelancer, I'm naturally glad to have this perk. However I have questioned in this forum whether it's good for the system as a whole. It can just as easily be used to remove justified bad feedback as unfair feedback.
Mar 6, 2019 05:55:10 PM by Scott B
Richard W wrote:As a Top Rated freelancer, I'm naturally glad to have this perk. However I have questioned in this forum whether it's good for the system as a whole. It can just as easily be used to remove justified bad feedback as unfair feedback.
Although I have never used this perk, I do think it's valid. If we are going to have as system that is based on a single number (JSS) and there is no regulation on the client-side, then this perk which has numerous limitations, makes sense. Also we should be looking at the preponderance of evidence on a freelancer which means comments over many projects. If someone is Top Rated then I imagine they have many completed jobs and many good reviews. So this is one data point and no one should hire off of just one data point. If we had a system that wasn't defined by a single score then I think we'd be in better position to argue the merits of this perk.
Mar 6, 2019 10:33:58 AM Edited Mar 6, 2019 10:40:37 AM by Gabriel B
Just a FYI.
As a developer working on, let's say, legacy codebases, I can say it's etremely frustrating working on somebody else's code, especially when that person wasn't a developer to begin with (a developer isn't somebody who watches some coding videos on Youtube for 3 months).
I don't know the exact situation here. I for one wouldn't accept working on something already existing without first seeing it.
Or, if I were starved for food, I'd very unhappy to say the least. For both being out of money (as a developer - yeicks) and for being forced on working on a cr4ppy piece of software.
Secondly, every software project must have it's own style defined. From tabs versus spaces, camelCase versus this_way_of_writing_code, to the architectural decisions. It isn't as simple as switching a developer with somebody else without having these stardards documented, presented and enforced. Otherwise it'll be a mess of a code that nobody wants to deal with.
Mar 6, 2019 11:47:30 AM by Preston H
re: "camelCase versus this_way_of_writing_code"
underscore_case
Mar 6, 2019 05:48:35 PM by Scott B
Preston H wrote:re: "camelCase versus this_way_of_writing_code"
underscore_case
Actually it's snake case.
Mar 6, 2019 06:35:28 PM by Preston H
Scott:
When I looked this up I saw that you are correct:
"snake case" or "snake_case" is by far the more commonly-used term.
(Although "underscore_case" is also used used a lot.)
Mar 6, 2019 07:37:42 PM by Scott B
Preston H wrote:Scott:
When I looked this up I saw that you are correct:
"snake case" or "snake_case" is by far the more commonly-used term.
(Although "underscore_case" is also used used a lot.)
Just giving you a hard time. It doesn't matter.