6

I am a Junior at my work. Often recently the Senior who sits behind me has taken to coming over to me and making suggestions about changing and reordering my code... Initially I took him at face value and tried to implement to his suggestions, but I have found the suggestions he makes usually either totally break or at best degrade the quality of my code.

I get on well with the Senior on a personal level and sometimes he does achieve valuable things with his own code -- in some ways strangely because he often seems to be telling me to implement practices he avoids in his own code. The conversations around this are increasingly taking up my time to the point of almost getting in the way of my producing to task.

Today we got to a point where after my rebuffing numerous suggestions on the grounds of them being unworkable or involving a focus on polishing minutia at the expense of MVP we got to the point of him saying "yes, but if you finish this yourself what will other people have to do?".

There is far more to do than could possibly be done and always lots to be getting on with, and I even suggested he could contribute to the task if he wanted -- something he didn't seem very keen on.

As I said I get on well with him in general, but I am keen to resolve this issue before it escalates. How best to deal?

  • How long have you been with the company? – user7360 Jul 14 '18 at 15:37
  • Does he know they are causing your code to break? Also could it be breaking because there is a design issue with your code? – Joe W Jul 14 '18 at 16:32
  • @cgTag forgive me for being maybe a bit paranoid but people ask me things like this a lot, and other questions like 'are you looking to get rid of the Junior in your job title?' so I need to say: I am not looking to move jobs or move to another company at the moment. But if your question is face-value, as I'm sure it is, and intended to help you answer my question: six months. – Peter David Carter Jul 15 '18 at 19:35
  • @PeterDavidCarter In the first months people tend to explore the new work culture. They learn during this time what the politics are. (who's really in charge, why and how do I get my way). I had a feeling the senior was helicoptering over you because you were a new member of the team. 6 months is about the time I would expect him/her to start backing off. I think you can safely ask him to give you more freedoms, or discuss this with HR. From the question I assumed you had just started. – user7360 Jul 15 '18 at 20:04
  • @cgTag he was new to our team, who are supposedly a flagship for our company, though with a high proportion of juniors, some of whom came from more senior positions to join – Peter David Carter Jul 17 '18 at 18:22
8

I am a Junior at my work. Often recently the Senior who sits behind me has taken to coming over to me and making suggestions about changing and reordering my code...

He's giving off the cuff advice. He is trying to help you, but he's not doing a good job at it.

Initially I took him at face value and tried to implement to his suggestions, but I have found the suggestions he makes usually either totally break or at best degrade the quality of my code.

Quality of code is very subjective.

Does your R&D department have documentation that outlines code quality?

My experience has been that juniors don't translate advice from seniors into practical application. A lot gets lost in translation and there is a lack of common ground to fill in the gaps.

Maybe he's telling you to implement "A" and you've implemented "B". You can see that "B" isn't really that good. You feel like your work was railroaded and next he comes along and says you should implement "C", but again you implement "D". I can't blame you for getting frustrated.

It's a communications problem.

Document, document, document.

Next time he offers advice ask him to put it in writing. Use email, a document or a bug tracker but do get it in writing. Respond to him with your questions but try to organize your questions in a single response. Include source code examples, reference files or provide links to the Internet to verify what design patterns should be followed.

If he won't provide written version of his advice, then you write it down and forward it to him for his review. Ask for clarification on anything that isn't clear.

Get everything in writing.

Pair Programming

Next time he comes over to you ask him to sit down next to you. Hand him the keyboard and mouse. Ask him to demonstrate what he means. Ask him to write some of the source code. Ask him to stay while you give some of his advice a try. Let him see how it causes you trouble. Give him the chance to explain how to fix it.

Ask him to come back and do it again. Learn to write code together.

  • Interestingly, we as a development team are getting ahead of what our QA team have resources to test. So "Does your R&D department have documentation that outlines code quality?" is a really interesting comment. We have SonarQube now but a lot of conversations have been had about assessing code quality on an objective level. – Peter David Carter Jul 15 '18 at 19:42
  • @PeterDavidCarter you have to write guidelines when ever you try to enforce a thing that is very subjective. Tools like Sonar are a form of documentation. It becomes an authority you can tell another developers to refer too, but it doesn't explain everything. As a business culture what do you value? Code maintainability, rabbit development, product stability, lower salary programmers, senior mentoring, project costs and timing? These drive the quality of the source code, but more importantly developers need to understand why it drives it. – user7360 Jul 15 '18 at 19:53
  • you're right: being able to work with other people, integrate their work and push a project to a professional level is key. Whatever buzz words are put around that, that's what you have to be able to achieve – Peter David Carter Jul 17 '18 at 18:18
6

I may be wrong about this, but it sounds to me like your senior is just joking around with you. Both the suggestions of changes that break the code, and also the flippant remark about no one else having work to do sound like sarcasm to me.

The response would be to laugh it off and continue writing (good) code.

Because you're a junior, you may not realize the suggested code changes are bad until you make them. In this case, ask him if he's serious when you aren't sure.

2

Just ignore suggestions that do not improve your code, I'd just ignore the whole lot after the first fiasco or two.

Carry on with what you know and take your feedback for improvement from the normal sources like reviews etc,.

Seniority does not automatically mean better or even more knowledgeable. Many peoples work experience is of inferior quality even if they have been in an industry for decades.

Just politely ignore the suggestions, it's not a beauty pageant and popularity isn't a primary focus above putting out solid work and advancing your professional career. After a while he'll find someone else to bug.

2

IMHO, move his suggestions avenue to traceable medium and separate it from personal interactions, where you say you getting along.

Tell him to send you an email due to being a bit busy currently to understand his entire suggestion.

Believe me, you will get maybe 10% of what you have now from him.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.