8

I work with a senior developer with more 15 years of experience - we'll call him Paul - who displays a very careless attitude, and demonstrates a complete disregard for other people's time and patience (which he abuses). Here are a few examples of daily occurrences with Paul:

Example 1: Misreads tickets and feeback
- Ticket says: Implement feature X for classes A, B, C and D
- Paul implements that for classes A and C only.
- PR reviewer flags that classes B and D are still missing the feature
- Paul now implements feature X for classes A, B and C (D is still ignored)

Example 2: Carelessness in implementing feedback
- Paul submits duplicate files x and y.
- He is notified that x and y do the same thing, but that only x is active, and asked to delete file y
- Paul agrees to file y, but then goes on to delete file x and break the project instead

Example 3: Bugs the team for trivial reasons
- Paul asks where a method is defined in a Ruby repository on the team channel
- I run the appropriate query and find the file for him in seconds. I understand that he might have forgotten the appropriate syntax, but that is something which he should look up and remember, as it very useful on an almost daily basis.

Consequences

His mistakes are costing the team time, and his many trivial inquiries are both an annoyance and a clear display or carelessness (or even laziness) on his part. Our very tactful managers have given him plenty of constructive feedback, being careful not to hurt his morale and self esteem, and plenty of time to improve, but these types of mistakes seem to just be his nature.

While I'm trying to remain professional in my dealings with him, I'm also losing my patience.

How can I best deal with someone like himself in a work environment?

10
  • are you his manager? Or team leader?
    – Kilisi
    Dec 18, 2015 at 2:25
  • I'm just an intermediate dev who sometimes does code reviews for him.
    – Yuri
    Dec 18, 2015 at 2:26
  • 4
    then it's not your problem, your managers are already on him, nothing you do will make a difference but may impact badly on you and create some ill will. So you need to ignore it. Don't let it frustrate you.
    – Kilisi
    Dec 18, 2015 at 2:28
  • This is a real morale problem for you but try to stay grounded here... I read your question in detail and got to the point about "all the time [you've] had to waste." Then I looked at your examples and saw that you wasted "seconds" on him. It's probably not a lot of time. You're angry, I get that, but don't exaggerate what you're angry about.
    – user42272
    Dec 18, 2015 at 4:39
  • 4
    Why do you care? If I was obsessing to such an extent over every lazy/careless/incompetent colleague I could scarcely get up in the morning.
    – Lilienthal
    Dec 18, 2015 at 9:04

5 Answers 5

7

How to not feel frustrated?
Paul is not your problem. Let it go.
This is a management problem.
Stay within your sphere of influence not your sphere of concern.

If you are feeling negatively towards Paul that is your problem.
You can control you feelings.

1

Am I unreasonable in thinking this is not acceptable for a senior dev with 15 years of experience? Or any dev really?

The tolerance level decreases with experience. Which means, experienced people are not expected to make as many silly mistakes as someone who have just started their career. So yeah, it is very well acceptable that someone thinks Paul here, is being very error-prone for his experience and seniority.

These issues are generally handled by the engineering managers or the CEO's, and you can't do lot about it, as you are in no way responsible for that person or even managing him.

0

How can I be more understanding of Paul and not harbour resentment towards him?

The most basic approach is this: at a minimum, change your expectations but maybe even lower them. Your frustration is the result of unmet expectations. You expect (maybe want?) more from him. He is not providing it. The only way, within your control, to improve the situation is to lower your expectations.

So Paul has 15 years of experience and he's a senior developer. One thing that I do, as a senior developer, is ask my team questions that I can probably find on Google. Why? Because I expect that my question my be shared by other team members and an answer posted to the group will help more people than me. I've noticed that inexperienced but very sharp developers lose patience with this approach, while the more junior developers are sincerely grateful, since they want to avoid the embarrassment of asking an "obvious question." So I will expect the smarter ones to tolerate it, for the benefit of the team. Usually I will even speak to them about this, if it seems to really wear on their nerves. Perhaps he will do this?? Probably not, because...

As for errors, those mistakes are the result of immaturity. He may be senior, but he seems to still act like a hot-shot junior staff trying to prove he's a "rockstar" developer that doesn't need to follow rules or really pay attention to feedback. It's possible he's embarrassed, but most likely he would improve if he were.

Since he's not improving, the best thing to do is treat him like a gifted child. He's smart, but he's immature. Trying to "teach" him will result in childlike behavior ("tantrums" or fits of anger), and management seems to know this already. If you start to look at him like a child trapped in an adult body, it will probably be easier to tolerate his inability to "grow up" and take responsibility for his errors.

Also, this approach will make it more clear how you can still advance - just be more mature while also advancing your technical skills. When someone like this garners the apparent respect of management, it is confusing and sends the message that mistakes are tolerated or even rewarded. But when you realize management is tolerating immaturity, it should be easier to recognize the steps you can take to be productive, advance your career and genuinely feel bad for this guy that can't seem to get his act together, despite his talent and many years of experience.

0

Note: please treat this answer as very tentative.


Paul sounds, from the description you give, like a possible case of Adult Attention Deficit Disorder:

Adults with ADHD present with persistent difficulties in following directions, remembering information, concentrating, organizing tasks, completing work within specified time frames and appearing timely in appointments.

(ADHD is more commonly associated with children, but it does also occur in adults, and then the attention deficit is usually more prominent than the hyperactivity part.) The Wikipedia page lists several possible therapeutical approaches.


Now, as written above, this should be taken with a huge grain of salt. I am not a psychotherapist (though I work with them and have learned a thing or two), and anyway, nobody can diagnose a disorder over the internet - using hearsay about the symptoms, to boot. I am posting this for two reasons:

  1. Understanding Adult ADHD may help you understand Paul better and cope with him. I know that this has helped me cope with an AADHD patient I have to work with, although he still gets on my nerves, as well.

  2. If you have a very good relationship with Paul and find a time where you two could have a heart-to-heart talk, you could very carefully suggest that he sometimes reminds you of the symptoms of AADHD, and suggest that he look at the Wikipedia page. He may find something to learn there.

In fact, it would be better for you to do point 2 above than him getting into problems with management. So if his problems do persist and affect others to the degree that management has The Talk with him, you may even do him a favor by pointing this out to him.

I would not go to his manager with this information. Psychological problems still carry a big stigma, even ones that don't heavily interfere with daily life. Don't go behind his back with this.


Did I mention that you should treat this answer as very tentative?

6
  • 6
    -1. This is not the place to speculate on medical conditions. Even with your caveats, this has zero relevance to the OP and dropping hints that someone has ADHD would be a ridiculous thing to do in an office. How on earth did you even make the jump from careless/lazy to ADHD?
    – Lilienthal
    Dec 18, 2015 at 9:00
  • 2
    @Lilienthal: I explicitly address how this could be relevant to the OP in my point 1. I have personally found this to be very helpful in dealing with an AADHD colleague. As in: I now understand that he is not being obstructive on purpose. This has taken a lot of tension out of our interaction. Your mileage may vary. Dec 18, 2015 at 9:04
  • I agree, definitely seems some sort of handicap
    – Kilisi
    Dec 18, 2015 at 9:25
  • If you follow point 2 as written, this sounds like a bad idea. "very carefully suggest that he sometimes reminds you of the symptoms of AADHD". There is not really any way to do the "very carefully" part. Implying that someone has a medical condition is just a bad move. However, what you could do if you have a good relationship, is leave it open-ended, something like "Hey, I noticed a lot of these mistakes lately... what's going on?" etc. Just leave it at that.
    – Brandin
    Dec 18, 2015 at 9:28
  • it sounds like you're suggesting how to have more empathy for someone whose undesirable behavior may be caused by a medical condition. You could maybe rework the answer into a shorter one based on that, but as stands I think this is dangerous advice.
    – user42272
    Dec 18, 2015 at 13:22
0

Am I unreasonable in thinking this is not acceptable for a senior dev with 15 years of experience? Or any dev really?

Yeah, this should not happen but can happen and should be fixable.

How can I be more understanding of Paul and not harbour resentment towards him?

Get to know Paul better and see if you can help him.

  • See if you can do some pair programming.
  • Get to know Paul better, find out what he's missing and what he could do to improve. Share your know-how that prevents you from making the same mistakes.

I assume Paul and you work together, since you're often exposed to the mistakes you described. Paul is probably a senior developer for a reason, but you seem to have something that Paul is however missing- let's call it attention to detail. He might make it up in other skills, or perhaps he's just recently being more sloppy.

Anyway, you observe Paul is missing this skill and that it's a problem. How to fix it? Management is already on it and that's nice - but let's not stop there, what can YOU do to fix it?

I suggest you start with trying to get into a position where you can work with Paul more closely. Are you already on the same team? Can you review each other's code more often? Could you do pair programming?

Pair coding (and in general, working together) is the most effective way to spread work culture from one developer to another. You are able to provide valuable feedback for Paul, the challenge is to deliver it in the most useful way possible. If you can physically sit close to each other and solve the issue together, you can comment on each other's activities as they happen, which will make the feedback "sink in" much faster.

Empathise. Think what reasons could possibly make Paul make these mistakes.

  • Does he misunderstand the feedback? or does he find it not important enough and consider it nitpicking? Is he valuing different things in the code?
  • Does he have a problem managing his to-do items? Does he forget about some items or not register them?
  • Does he have a time management problem? Is something in particular making him code in a hurry and cut corners?
  • Is he not fluent enough with some tools that he should know by now?
  • ...

If working together physically is not an option (different teams, offices?), maybe there's something else you can do, like talk on IRC/slack more often about what you're doing at a given time?

Extra benefits of this situation could be:

  • You get to know Paul better. You won't feel as awkward about him making the mistakes if you learn what other skills he has that actually made him the senior dev on your team. And then I imagine you can learn a thing or two...

  • You get to help someone! This is super-rewarding on its own and also contributes to you rising to a higher position in your company faster.

2
  • Welcome to the site Kos, thanks for writing this out, but keep in mind that the OP probably shouldn't be asking himself what "he can do to fix it*". He's not managing this guy and he should focus on his own work, not waste his time training someone without being asked to do so.
    – Lilienthal
    Dec 18, 2015 at 10:30
  • @Lilienthal I disagree. I could imagine different work settings, but I uphold that an effective work setting for software engineers is where people learn from each other, and working on the development culture in the team is one of a developer's responsibilities.
    – Kos
    Dec 18, 2015 at 15:24

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