11

I used to be a Junior at my work. The 25 year Senior who sat next to 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.

After two years, at the point I will soon be Senior, another developer has started joking about how when this Senior 'helps' him he wants to die. A female Senior said 'he's joking, but he's actually not'.

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. – What's in a Google Search Jul 15 '18 at 19:35
  • 1
    "yes, but if you finish this yourself what will other people have to do?" - could this have been a joke maybe? Sounds like one... – colmde Oct 11 '19 at 10:19
  • 2
    If they are all jokes then it seems odd that they would be phrased in a serious manner and that there would be insistance on the suggestions being followed through. Particularly since such insistances tend to vary based on the degree of problems with this person's own work. Of course to some extent the particular statement you quote is a joke, but it hides a serious point beneath the humour. Personally I don't make jokes that have the potential to cause problems with product unless I'm certain they will be interpretted as such. I would have hoped that was everyone's view. – What's in a Google Search Oct 11 '19 at 10:40
18

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.

| improve this answer | |
  • 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. – What's in a Google Search Jul 15 '18 at 19:42
  • 1
    @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 – What's in a Google Search Jul 17 '18 at 18:18
  • 2
    This has happened repeatedly over nearly two years and is still happening. It's not an accident. It's a strategy by a bad coder who's got where he is by sabotaging everyone he sees as a threat. – What's in a Google Search Oct 10 '19 at 21:05
7

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.

| improve this answer | |
  • 1
    Maybe the senior is witty and OP is an easy target. The senior is probably writing a post somewhere "I have been joking around with this junior for two years now and he's still not getting it" – ig-dev Dec 16 '19 at 12:27
  • @ig-dev In that case, the senior would need a major kicking. Doing this intentionally is just bullying. And the company won't be happy if they find out he is sabotaging a co-worker's work. – gnasher729 Dec 17 '19 at 12:03
5

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.

| improve this answer | |
3

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.

| improve this answer | |
2

This may be a cultural thing. In some cultures “suggestions” are taken as orders and not following them would be highly confrontational. In other cultures, making suggestions shows you are interested, but you would ignore suggestions unless you think yourself they were a good idea.

The senior might not even realise that you follow suggestions against your better judgement. I would suggest that you are open to suggestions, but always do what you think is the best unless someone orders you to do otherwise and takes responsibility for it.

| improve this answer | |
  • Yes. This is true. The person in question has become very angry in the past for 'breaking chain of command' but ironically the people at the top of the chain (despite me being kind of insane and being a dick to them on numerous occasions) have sided with me and the breaking changes to the app have not been restored on all recently instances. – What's in a Google Search Oct 11 '19 at 22:43

You must log in to answer this question.

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