I've been working remotely as a software dev at a company I really like for a few years. One of my teammates, let's call him Bob, concerns me. Most of my colleagues work on one part of the product, Bob and I work on a different part. Bob is a top contributor on this project, he always works overtime and on weekends and maintains a large chunk of the code base. This has been going on for a couple years.
He often assigns me small insignificant tasks (minor code refactoring, UI improvements, etc). I always tell him that I'll get to them when I have time, because we all have actual urgent tasks that are requested by our clients or management (and I actually do fix those issues after dealing with more urgent work). However, he keeps nagging me about them, and his messages vary from "well this still needs to be done" to "this is unacceptable, you worsen the quality of our product".
I am fine with just ignoring him, unless he can actually cause me harm in one way or another. A few facts bother me:
- He constantly attempts to "socialize" with our management: discussing non-work-relevant stuff at conference calls, arguing with them about trivial things and features, proposing to redo features of our product that already work totally fine. We are fully remote, so I have no idea about how much communication is actually going on between them.
- A year ago Bob and I had a call about implementation of some feature, where he casually mentioned my salary (how did he know it?) and told me that I definitely can get a raise if I work as hard as he does. Neither me nor other colleagues consider frequent overtime normal.
- There were issues with him that directly affected my work, e.g. he reverted code changes committed by other people for nonsense reasons ("it was ugly", "it was made by a person outside our team"). I never reported this because these were not major issues and were easily fixed. Also, I am afraid to make a bad impression because "snitching" and inability to deal with your interpersonal problems is very frowned upon in my culture.
- A couple years ago Bob had a quarrel with a former teammate of mine. I don't know the reason, it could very well be Bob's passive-aggressive behavior. That teammate was transferred to another department of our company (I suppose it was his own request), and is now in charge of it.
- Sometimes I try to seriously discuss with Bob how we should approach our project (in terms of task priority, code architecture, etc), but he usually turns it into a demagogy with non-arguments like "this is not right".
Other relevant facts: We are fully remote and never see each other in person. Our manager is the CTO of the company, a reasonable, but extremely busy person. Task assignment is mostly self-managed. I've never had any kind of performance review or seriously talked with our manager, we only discuss stuff related to specific tasks. Other colleagues probably communicate with them more, including small talk. While Bob works almost exclusively on this project, I am also involved in other projects of the company.
My questions:
- Should I be concerned about Bob's behavior?
- Should I discuss this with our manager? Asking "can I be sure that Bob will never become my manager" sounds like a bad idea. "Should I ignore Bob's requests until I'm finished with more urgent tasks" has a very obvious answer. This makes me think that there's no point in discussing this, because there is nothing to be done: I do not want to be transferred to another project completely, and Bob is too important here as well.
Any advice is welcome.