11

I'm a backend engineer (age: 30) in a small startup (25 workers). I came to this company 6 months ago and my team consists of 4 engineers and a manager.

A couple of months ago, my manager hired a remote developer (age: 40) from a remote talent acquisition platform. His main experience is working as a freelancer.

We had problems with him from the first week. It's hard to agree with him. It's almost pointless to review his pull requests. He argued with me and my co-workers, questioned a lot of decisions we made before he came and after he arrived, wasn't polite, and if we told him to do something, he would do whatever he thought was best instead.

He treats my manager differently. He gives him respect and does what the manager requests of him.

In his defence, it's the first time we have had to work with a remote developer and we are still learning (as a team) how to do that - better communication and so on...

As a team, we discussed this situation. The management decided that they still want to try work with him because it took us a while to find him.

I have a lot of interaction with him and it makes me feel bad. He doesn't listen to anything I'm saying. I'm questioning his ability to deliver a good quality code and I'm also seeing a repeatable pattern of "cool code" instead of "maintainable code". For example, he mainly uses https://github.com/ReactiveX/rxjs (reactive programming). I am the only person on the team who has experience with it, so it makes the code unreadable for the rest of the team. Also, he doesn't use any of the infrastructure that the rest of the company built for production and testing.

On top of all this, this month, I had a performance review which went great and my manager gave me really great feedback. I requested a raise and I'm waiting for an answer.

I don't want to raise the above issue (again) because it seems pointless. I also don't want to quit my job because I just found it and I enjoy working here and, for the first time, I feel that they appreciate me and what I'm bringing in to the table.


What Feedback / Answer Am I Searching For

If I was a child, I would say that it's not fair. In real life, I will probably face co-workers like him in the future as well. I don't think I have the tools to work with him.

I'm feeling lost and invisible when communicating with him in any way. What can I improve to make our communication work better without hurting my reputation in the company?

15
  • 1
    Does your co-worker know how his communication style is affecting you? It sounds like the remote developer has more experience in general and you have a bit more experience at the specific company, and you both are probably feeling like the other person should respect your seniority more. Sometimes just letting someone know you you respect them but you are struggling to communicate with them, then inviting them to help you solve that problem can improve the situation without too much more work. – ColleenV Jan 14 at 15:57
  • Yes, I have tried to talk to him directly about how I feel. But my ability to talk freely with him is limited because I'm not his manager. – aa aa Jan 14 at 16:06
  • 1
    Do you listen to him and understand what he’s saying before you try to tell him whatever it is he won’t listen to from you? If you think you need to have power over him to communicate with him, you may want to think about how you can improve your own communication skills rather on focusing on the problems with his communication. You have control over what you do. – ColleenV Jan 14 at 16:12
  • 1
    As this question has nothing to do with the age of the employees (at least as asked), those details are irrelevant and should be removed. Same with the details about your performance review and raise. – dan.m was user2321368 Jan 14 at 18:59
  • 1
    @dan.mwasuser2321368 I disagree, but only because this is about communication. It’s important to know that the remote engineer is older simply because that changes his relationship to probably a younger team of developers and a probably older team of managers. It’s also helpful to know that aa’s work is appreciated by management, because it speaks to their credibility in certain areas. – ColleenV Jan 14 at 19:04
10

My take from reading your question is that there is either a failure of management (the remote coworker is allowed to be egregiously outside the firms standards) or your notion of the firm's standards, and how it operates, are not what they actually are. To point:

I'm questioning his ability to deliver a good quality code and I'm also seeing a repeatable pattern of "cool code" instead of "maintainable code". [...] it makes the code unreadable for the rest of the team. Also, he doesn't use any of the infrastructure that the rest of the company built for production and testing.

While you, of course, are going to have opinions about the quality of your coworker's code, at the end of the day, the only opinion that matters is his manager's. If one is supposed to focus on maintainability or use the common testing infrastructure, than this developer is "violation" of standards, and the manager needs to intervene. On the other hand, if the manager thinks that "cool code" is better that "maintainable code", or if the manager has no issue with not using the testing infrastructure, then the coworker is doing an acceptable job, and your notion of the standards are incorrect.

we told him to do something, he would do whatever he thought was best instead.

Do you mean you (in your official capacity - i.e. with some authority granted by management) assigned him some work and he didn't do it? Or do you mean that you thought the work culture was one where developer can "unofficially" assign tasks to each other. Either you're officially assigning him work, which he is not doing, and management should get involved, or your model of the culture (regarding assigning work) is different that his, and he feels that the work you're putting on his plate is distracting him from what he officially needs to do.

It's almost pointless to review his pull requests.

Is participating in code review part of the workflow (or processes, procedures, etc.) of your organization? If it is, and he's being obstinate during the review, then the manager should be made aware that this employee is not participating. If on the other hand, this review is something that you're imposing on him, without any official need for him to participate, then it is possible he feels like a review is wasting time that he needs to spend on the official parts of his job.

I'm not arguing that "cool code", or code review, or peer based assignment of work, or whatever, is good or bad. What is important is that everyone needs to be on the same page as to what are the policies of that organization. Either he is outside of those policies, and needs the attention of your manager, or you misunderstand the policies and are unfairly upset as his behavior.

I think it is important that you know what the management expects from you and the team. When you know what the expectations are, you can make sure you align your efforts to match (as you don't want to spend all your labor doing things that aren't important to the firm). You also get to determine if the "culture" of place matches how you like to work.

I think, given all that you mentioned, a good way to approach this would be to ask your manager to clarify certain, specific points, and use this as a segue into a more general conversation. You could start by asking to clarify the usage of the test infrastructure: "Could you provide some clarity on the usage of the test infrastructure. I noticed that some of us use it, while others don't, and I just wanted to know if there was some sort of 'official' position on it". A similar question could be asked about code review - it is required, recommended, optional - and if either of the first two, are there some guidelines about how it should take place.

It might be that management has no idea that the new coworker isn't following the standards, and they'll appreciate the heads-up. It might be that they are aware of the problem and working on rectifying it. Or it might be the the behaviors you described are acceptable, in which case you can decide to stop caring about them, or start considering to switch jobs to a place more inline with how you want to work.

3
  • I agree with everything you wrote. you talked about one of the pain points which I'm facing - I don't know what the management expects from me. On one hand, I'm afraid to ask that and receive a response of: "it's not your problem". On the other hand, as an employee, I do care about the interests of my company. What would you recommend me to do? – aa aa Jan 14 at 21:23
  • 1
    @aaaa I expanded the answer to address the points in your comment. – dan.m was user2321368 Jan 14 at 22:47
  • That last paragraph nails it. – matt freake Jan 16 at 12:38
0

Great question aa!

I have been on the other side of the coin, and maybe I can help you improve the communication. But first let's state where my answer is coming from:

  1. Most of the information you just mentioned is subjective, even if it's true.
  2. It's very difficult to change an engineer's habits, specially at that age (40).
  3. You have no control of your reputation in the company, maybe reconsider your objective.

Now, how would I approach the matter if I were you:

First, make my goal to become a better engineer and person:

  • Remote work is here to stay, specially in Software: polish your skills and actively study how to become good at it.
  • Based on your trajectory you might become a manager or Software Architect very soon. A crucial skillset is to develop the capability to balance different mindsets and programming paradigms. Even if you fail this time consider it a lesson. Your position of knowing RxJx gives you an advantage on this.
  • Is possible that the other engineer is more experienced, while you might think that your testing & deployment infrastructure is enough, the other engineer might know better. Try to see it as the other person sees it, you might discover current weaknesses, learn new things or at least gain capacity to communicate. If the person needs time or more information on how to use your infrastructure, be generous, being a non remote team is very possible you have not enough documentation for the engineer to understand how it works.

Second, stay loyal to the company:

  • If you believe the PRs could present issues, make your comments: be nice, logical, and humble. Then leave them for approval to your manager.
  • Based on what you tell, the person might have unique skillset, is your managers job to leverage it, try to understand what your manager expects and align yourself with the goal.

Finally, be prepared for a change. It's always a red light, when salary discussions are delayed. You'll learn that words are worth little, and your best chance to maximize your earnings is by changing jobs. Also, from how I hear you might be experiencing burn out, perhaps the team has been over depandant on your skills and contribution in the past. While no action is necessary, be open to a change, maybe start picking up a new skill or think the kind of company would you enjoy to join.

Good luck aa!

6
  • 2
    I have a hard time agreeing that someone has no control over their own reputation. I also think that engineers are very good at changing their course of action if you can convince them there is a better way to do something. Because I am an engineer that is well beyond the ancient age of 40 (lol) I’m a bit insulted that you seem to think my age makes me unable to be persuaded to do something a different way. It’s not like I’m still writing stuff in assembly to maximize performance. – ColleenV Jan 14 at 18:19
  • Hi Colleen, I tried to remember the sources of the statement I provided, but I could not find them. You are also right that as the answer is worded it implies it is the age the only factor that contributes for the inability to change. In particular, I'm referring to the case when for example, someone follows a functional Paradigm for maybe 10+ years, then adopting an OOP might not go smoothly. – Santiago M. Quintero Jan 14 at 18:26
  • About the reputation, my argument is that reputation is based on what people think about you. While you might have influence on it depending on your action. You do not have full control over it. Maybe adding full might be a good edit as well. – Santiago M. Quintero Jan 14 at 18:32
  • 1
    I read “without hurting my reputation in the company” as “I want to minimize the risk that whatever course of action I take will be perceived negatively”. We worry about things we don’t have full control over all the time. I hope my comments don’t seem too harsh. I just want to let you know that the wording of your answer may be making it hard for me to understand the point you’re making. – ColleenV Jan 14 at 18:37
  • 1
    Thanks for the answer and the great feedback. I have much to learn from you @SantiagoM.Quintero – aa aa Jan 14 at 21:15

You must log in to answer this question.

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