7

Quick summary: I "manage" a contract software developer whose efforts are substandard, and before I say something to our mutual employer, I'd like to find a way to light a fire under him and get him to produce better work.

Background: I'm contracted to build a software application for a small business. It's mostly just a few of us, so I'm both the project manager and the lead developer. The company has assigned me two contractors to help out, who I didn't hire and who I don't pay.

One of these contractors has been inconsistent. Sometimes he writes good code and finishes in a timely manner, sometimes it takes much longer than expected. I've not said anything, since he's not my employee, but it's been hard to get things done when I have to rely on indifferent updates.

At the same time he's been pressuring me for more to do, so, recently, I gave him a fairly substantial task. Rather than showing he can do capable, quality work, after a week of promising progress, I find out he's only written a couple of hours' worth of code (if that). This puts us behind schedule, and will probably require that I step in and write much of the code myself in order to catch up.

In the past I have explained the need to update tickets, and contact me right away if he has any blockers, but again his efforts there have been indifferent. Sometimes he is good about this, but often it's hard to tell if he's not deliberately shirking.

Again, this is not my contractor. I don't know what he's billing the company. I can talk to them about his performance ... but before I do that, I'd rather try one more time to motivate him to at least a reasonable level of effort. I know he's capable, I just need him to also be consistent.

Any suggestions on what I could say to him, or ways to constructively criticize his performance, without causing too much disruption that might affect my own relationship with the company?

(Edit) We have a daily online "scrum" during which I repeatedly asked him how it's going, and if there were any blockers. He replied, "I'm working on it". I knew it was a significant task so I didn't expect it to be done quickly, but I did expect far more progress than what was delivered.

If he was my own contractor, I would handle it by only paying for results (not for reported time) or just cutting him from the project and getting someone else. As is, I'm hoping to try out some non-confrontational management techniques.

(2nd edit) To be clear, I have many options, including taking over this task, and not tasking him with anything important again, or even getting his contract terminated. I'm looking to see if there is a more congenial option.

(3rd edit) I do not understand how this is "primarily opinion based". I'm not asking "what do I do?" -- I'm asking for specific, workplace-related communication techniques, which I can use or not as I see fit. The close votes are entirely specious and undermine the integrity of this forum.

14
  • Is his problem the speed of his deliveries? It sounds like since he lacks work, he expands out issues longer to have work to do. If that is the issue, then can he find more work?
    – Dan
    Commented Oct 22, 2018 at 17:54
  • does he know you are the person he's indirectly reporting to, as the project manager/lead dev? Commented Oct 22, 2018 at 17:55
  • @Dan It's more that on this latest task he took over a week to produce only a few hour's worth of code, even after me asking regularly how it's going. I don't want to accuse him of deliberate malingering, but he was well aware this was a priority task.
    – Andrew
    Commented Oct 22, 2018 at 18:09
  • @MaigenThomas He knows. I'm the guy who's been writing the tickets and handing them out for several months.
    – Andrew
    Commented Oct 22, 2018 at 18:10
  • 3
    @Lycan it's a daily stand-up, in which you report on progress and note any blockers. This is a pretty common thing in the software world. Everyone does it -- myself included -- so it's not like I'm singling him out for special attention.
    – Andrew
    Commented Oct 23, 2018 at 3:46

5 Answers 5

7

I'm contracted to build a software application for a small business. It's mostly just a few of us, so I'm both the project manager and the lead developer.

As the project manager and lead developer, you should be responsible for delivery of software on schedule and the quality of the software product. I recommend having a frank 1-on-1 conversation with the contractor about what you have witnessed. Be sure ask if anything is going on.

I know he's capable, I just need him to also be consistent.

I think it's incredibly important for him to hear that you think he is capable of the work, but you need him to deliver on time and write good code. I would reiterate that he should flag to you when he needs help or needs to change the timeline (but have him explain why). Tell him that missing deadlines will have consequence and you'll have start escalating to his manager if he isn't communicating with you.

I highly recommend scheduling a short daily standup (~15min) to check in with him and you can call out things that are not done or done correctly. Document both him agreeing to deadlines and him missing deadlines in a written way such as email.

4
  • 5
    Would also suggest assigning some tasks / breaking down things into 'chunks' of work as deliverables and creating due dates for each deliverable. Commented Oct 22, 2018 at 18:15
  • @MaigenThomas +1 That's a great suggestion!
    – jcmack
    Commented Oct 22, 2018 at 18:34
  • 1
    Breaking things down can work sometimes; but it can also be micro-managing in a way that impedes efficient progress, especially if the fine breakdown chosen in advance doesn't turn out to fit how the system being developed actually needs to be put together (which in many cases it will not). To an extent, getting a daily report of what was tried may better fit a complex process pursued by a probably quite experienced resource most likely very capable of finding paths to solutions independently, but who isn't currently doing a good job of persistently digging into those tasks. Commented Oct 22, 2018 at 20:30
  • "I think it's incredibly important for him to hear that you think he is capable of the work, but you need him to deliver on time and write good code." Could you please add some dialogue options to iterate how such a conversation would go? Especially in the context of a daily stand-up where each person has to explain what they've done. I've already spoken to him about these things, but perhaps I didn't do it the "right" way.
    – Andrew
    Commented Oct 24, 2018 at 14:28
5

We have a daily online "scrum" during which I repeatedly asked him how it's going, and if there were any blockers. He replied, "I'm working on it". I knew it was a significant task so I didn't expect it to be done quickly, but I did expect far more progress than what was delivered.

Perhaps what you need to do is simply expand the scope of your standup to include a 30-second description of what was done yesterday, beyond merely reporting blockers.

If that turns out to be "I was not able to work on this project yesterday" at least you have visibility into the situation.

If the summaries are a lot of excuses, at least the picture becomes clear.

If the person refuses to communicate, don't settle for something meaningless like "I'm working on it", push until you get a meaningful answer.

Hopefully the summaries will be more meaningful, ie "spent most of the day banging my head against the wall over issue X but finally solved it by applying Y so am now able to move on to step Z"

It's not worth arguing about if this does or does not fit some other organization's idea of what a standup is for; process needs to fit the needs of your project, and if it presently does not, then it needs to be modified until it does.


If all you ever get from this process is excuses for making little effort day after day, then you may want to start making it obvious to the person how this is sounding. You could try to get a client representative to participate in the meetings. Better yet, you could take notes and send around a daily and weekly summary of these self reports, addressed to the client and CC'd to the team.

Hopefully seeing his non-performance side by side with the progress (or at least effort) of the rest of the team will start to activate his own internal criticism - if you can do that, it will be a lot more effective than pushing for the outside.

And if it doesn't work, you have a very clear record of under-effort to discuss in more formalized meetings.

Conversely, if you get reports of effort that never lead to success, then you have the basis to have an engineering meeting on the details of the frustrating technical problem itself.

2
  • Let's assume all he has offered are excuses. What then?
    – Andrew
    Commented Oct 22, 2018 at 19:17
  • I guess I'm not being clear. I don't have to work with this guy, or at least I can task him with unimportant stuff and not worry about it. I'm trying to see what my other options are -- I want to find a way to politely communicate my disappointment.
    – Andrew
    Commented Oct 22, 2018 at 19:30
3

The real goal is delivering the product to the employer, so focus on that. A short daily meeting (scrum) would likely be a good place to ask if there is anything you can help with; you all are a team at this point. Focus on how "we" can get this project/task finished, not what "they" aren't doing. Make sure that the team feels comfortable with each other so that they do reach out for help if needed.

If this fails, then I would have a one on one and ask if there is anything you can do as their part of the project is falling behind and you want to make sure the team succeeds.

1
  • If I have a one-on-one with the contractor to address the problem, what exactly should I say? I feel like this answer is not complete without more detail on exactly how to communicate what I want, without being aggressive or using threats.
    – Andrew
    Commented Oct 25, 2018 at 0:02
0

You are a contractor. You are supposed to deliver good work for good money. You need to figure out two things: If this fellow doesn't produce good work for his money, does that affect your reputation? And if he doesn't produce good work, is the customer aware of this?

If you think that you are substantially better value for money than this guy, and if you think his delivery might be held against you, then by all means talk to him, and possibly talk to the customer. The thing about being a contractor is that you usually can be replaced very quickly.

1
  • 1
    I'm sorry, but this doesn't really address my question. I already know how to be hard on the guy, but I'm looking to expand my toolset and be inspirational instead.
    – Andrew
    Commented Oct 22, 2018 at 23:16
0

In the work environment I'm currently in, we have a motto that is to trust everybody is doing the best he or she can given circumstances. Being convinced of that, I doubt there is a magical speech that will suddently boost your colleague's performance, since I trust he already does the best he can.

As you already seen him perform well there is no reason to believe the problem is in his own productivity, rather the circumstances are delaying his progress : he's confronted to something difficult, he misses information to complete the task, something in these lines.

It's impossible to take proper action without first understanding why your colleague is struggling, but isn't willing to admit it. You need a 1-to-1 where you make it clear that you are not satisfied with "I'm working on it", if necessary hint a few possible external causes : is the task too hard, do you want someone to pair with, are you lacking motivation etc.

I knew it was a significant task

As a side note, whenever possible it's best to split big task in smaller ones before assigning them. Not only the resolution path is clearer, it's better for the ego to achieve several results quickly than to struggle without any result for a long time.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .