What do I do now? [modified]
-
I just did a desktop review of a guys code and sent him some comments. His code was not very good. I saw many potential problems, he used goto's a lot so it was confusing to follow, it wen't against the style guide, it had dead code, and statics so people couldn't use many generic and useful functions. I'm the software lead so I felt like I needed to say something. I e-mailed him, and only him my comments and I only commented on the code, not him personally. I made sure I didn't use the word "you" and re-read it 3 times to try to make it as anti-inflamtory as possible. He responded to my e-mail to everyone, peer's and bosses, with some pointed, personal comments toward me and some about my comments. Also comments about why he did some of what he did (which had no software basis). I'm going to talk to him after lunch (I'm in a different building). Any suggestions on what I say to him? I'll talk about the style guide, but what about the crappy code? I'm used to more rational people. Joe Q -- modified at 13:41 Tuesday 31st October, 2006 [CONTINUED] I really appreciate the advice, I'm going to talk to him now. Calmly, breath deeply, don't say "you're fired" (Actually I can't back that one up anyway), be professional, use the facts only and talk only about the code. Thanks, and now...into the abyss!
Joe Q wrote:
...and I only commented on the code, not him personally. I made sure I didn't use the word "you"...
Good for you. This is extremely important, and something I strived for back when I was on a team.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
-
Tough spot to be in. I used to invite the younger coders into my office to go over this stuff with style guides open on my desk. Maybe the personal touch helped reduce the number of "passionate" responses I got. I think you have the right idea about the style guide. Also include that dead code is a no no. :) I am not sure how I would handle the bad code stuff though. Maybe you can try to ask him why he made the decisions, and dear god why so many goto's :).
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long, Time Enough For Love
-
I would not take him one on one in this situation, try to get someone of authority on both of you to moderate the discussion. If possible, have this 3rd person call the meeting, not you; so that you can cover your behind if it ever back-fires at you.
Maximilien Lincourt Your Head A Splode - Strong Bad
-
It's true. I wrote to only him. when he responded, he added all the other software, hardware, leads, and bosses names on to the email for the reply. I can't figure out why.
Joe Q wrote:
I can't figure out why.
probably because he feels your email was out of line, and he wants everybody else to see just how evil you are.
-
Marc Clifton wrote:
"please do it this way" and you look a week later at their code, and no difference.
I've been there. One of my former co-workers just seemed to write the same code regardless of the project, language or, requirements. You try to be helpful and show them a better way and you might as well be talking to the wall.
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long, Time Enough For Love
-
First I agree with Richie, keep yourself professional, no matter if he is or not. Now depending on whom he responded to, do you have a manager that is now already involved. If so it may be best if the 3 of you meet and you go over the style guide. Focus on compliance with company policies and not his poor coding.
-
Ok, I was confused at first, but I think I understand now.
Joe Q wrote:
I'm the software lead so I felt like I needed to say something. I e-mailed him, and only him my comments and I only commented on the code, not him personally.
The email you sent concerning his code was sent only to him.
Joe Q wrote:
He responded to my e-mail to everyone, peer's and bosses, with some pointed, personal comments toward me and some about my comments.
So instead of responding to your original email you sent only to him regarding his code, he responded to a second email you sent to everyone and brought it up there, even to the extent of making personal comments towards you. You're the software lead and he is a junior programmer (I assume). He took what was suppose to be a private exchange between the two of you public. Is this correct? [EDIT]Erm, nevermind. Apparently there was no second email. As David said, he probably hit reply to your email to him and CC'ed everyone under the sun. If that's the case, he's truly a dweeb.[/EDIT] -- modified at 13:09 Tuesday 31st October, 2006
Leslie Sanford wrote:
You're the software lead and he is a junior programmer (I assume). He took what was suppose to be a private exchange between the two of you public. Is this correct?
Correct, partially. He was the one who took it public. But he's also more senior than me. I think it's stuff like this that's kept him from advancing.
-
Joe Q wrote:
I'll talk about the style guide, but what about the crappy code?
if it isn't in the style guide, you need to get it in the style guide. I run into similar issues, you should have heard the run-in over java vs. C++/C#... hooooo heated... The style guide should refer to a lot of things to make code shareable as well as physical look. This should be variable/class naming conventions, and use of loops/gotos. Some places will say no more than xx number of loops per routine, some will say no fewer than xx lines in a method, etc. If it is not on paper, you have a harder time enforcing it. Otherwise, take the other's advice, do not let it be drawn into a personal match. Focus on code and only code, any change on subject, bring it back to code.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
Joe Q wrote:
...and I only commented on the code, not him personally. I made sure I didn't use the word "you"...
Good for you. This is extremely important, and something I strived for back when I was on a team.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
-
He has more experiance than me. I think he's been passed over (many times) due to this type of thing. Actually, if he wouldn't have used the goto's I think it would have been easier to see the dead code.
Joe Q wrote:
He has more experiance than me.
Ouch. I do't envy you then. It sounds like you have a very jaded person to deal with.
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long, Time Enough For Love
-
-
Joe Q wrote:
He responded to my e-mail to everyone, peer's and bosses, with some pointed, personal comments toward me and some about my comments.
Just to clarify, what do you mean by "He responded to my e-mail to everyone..."?
-
There have been many problems with this guy before. The company policy is to not get rid of any one because of incompatance, just for not following policies.
Aren't the coding guidelines ... policies?
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
I just did a desktop review of a guys code and sent him some comments. His code was not very good. I saw many potential problems, he used goto's a lot so it was confusing to follow, it wen't against the style guide, it had dead code, and statics so people couldn't use many generic and useful functions. I'm the software lead so I felt like I needed to say something. I e-mailed him, and only him my comments and I only commented on the code, not him personally. I made sure I didn't use the word "you" and re-read it 3 times to try to make it as anti-inflamtory as possible. He responded to my e-mail to everyone, peer's and bosses, with some pointed, personal comments toward me and some about my comments. Also comments about why he did some of what he did (which had no software basis). I'm going to talk to him after lunch (I'm in a different building). Any suggestions on what I say to him? I'll talk about the style guide, but what about the crappy code? I'm used to more rational people. Joe Q -- modified at 13:41 Tuesday 31st October, 2006 [CONTINUED] I really appreciate the advice, I'm going to talk to him now. Calmly, breath deeply, don't say "you're fired" (Actually I can't back that one up anyway), be professional, use the facts only and talk only about the code. Thanks, and now...into the abyss!
1. Don't argue with him - this sounds a passive/agressive personality which can blow up in your face. 2. Do not say anything personal, do not respond to his taunts. All that will happen is he drags you down to his level. 3. State your case and keep a record of what you say. 4. If necessary give him clear isntructions and again, keep a record. 5. Are you his manager/leader? If so give him some objectives (SMART style) after discussion with your manager if you feel it appropriate. Good luck. Elaine :rose:
-
Ok, I was confused at first, but I think I understand now.
Joe Q wrote:
I'm the software lead so I felt like I needed to say something. I e-mailed him, and only him my comments and I only commented on the code, not him personally.
The email you sent concerning his code was sent only to him.
Joe Q wrote:
He responded to my e-mail to everyone, peer's and bosses, with some pointed, personal comments toward me and some about my comments.
So instead of responding to your original email you sent only to him regarding his code, he responded to a second email you sent to everyone and brought it up there, even to the extent of making personal comments towards you. You're the software lead and he is a junior programmer (I assume). He took what was suppose to be a private exchange between the two of you public. Is this correct? [EDIT]Erm, nevermind. Apparently there was no second email. As David said, he probably hit reply to your email to him and CC'ed everyone under the sun. If that's the case, he's truly a dweeb.[/EDIT] -- modified at 13:09 Tuesday 31st October, 2006
I'm sure all dweebs feel insulted by this ;P
-
I just did a desktop review of a guys code and sent him some comments. His code was not very good. I saw many potential problems, he used goto's a lot so it was confusing to follow, it wen't against the style guide, it had dead code, and statics so people couldn't use many generic and useful functions. I'm the software lead so I felt like I needed to say something. I e-mailed him, and only him my comments and I only commented on the code, not him personally. I made sure I didn't use the word "you" and re-read it 3 times to try to make it as anti-inflamtory as possible. He responded to my e-mail to everyone, peer's and bosses, with some pointed, personal comments toward me and some about my comments. Also comments about why he did some of what he did (which had no software basis). I'm going to talk to him after lunch (I'm in a different building). Any suggestions on what I say to him? I'll talk about the style guide, but what about the crappy code? I'm used to more rational people. Joe Q -- modified at 13:41 Tuesday 31st October, 2006 [CONTINUED] I really appreciate the advice, I'm going to talk to him now. Calmly, breath deeply, don't say "you're fired" (Actually I can't back that one up anyway), be professional, use the facts only and talk only about the code. Thanks, and now...into the abyss!
Keep it simple. First ask him what you could have done differently to avoid him emailing the whole office. Give him a chance to air out first. Then ask him about his code. Let him get the poison out first then have a rational and level chat with him. If you go in expecting to win something or make a point you're going to make an enemy. If you go in expecting to learn something from him and you leave your pride at your desk both of you will benefit.
-
He is a guy I ranted about earlier this month. I wanted him to RTFM but he didn't have time, he had to finish what he was doing. I will focus on the code but if he puts in personal jabs at me, then I'm not sure if I can.
Joe Q wrote:
but if he puts in personal jabs at me, then I'm not sure if I can.
I know it is not easy, but you are going to have to keep your cool. You are the lead, you have more responsibility to keep your cool than anyone. Go home and throw darts at his picture or feed it to the dogs, but keep your cool at work!! Do not, under any circumstances, let him drag you to his level. As Elaine says below, keep a record, or don't go in alone. But remember, if you don't go into this meeting exactly as you would with any employee, then you have already "upped" the issue to the next level. His email would mean one strike on him, don't give him too many. If you think baseball, give him 3, but don't make exceptions. Most places only give you two chances, 2nd strike and he's out. Some not even that. His email is one blackmark, and a hefty one. Due to that, you have the right to bring this up a notch with a supervisor on the meeting. But then it is even MORE important you keep your cool. Good luck!
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
I just did a desktop review of a guys code and sent him some comments. His code was not very good. I saw many potential problems, he used goto's a lot so it was confusing to follow, it wen't against the style guide, it had dead code, and statics so people couldn't use many generic and useful functions. I'm the software lead so I felt like I needed to say something. I e-mailed him, and only him my comments and I only commented on the code, not him personally. I made sure I didn't use the word "you" and re-read it 3 times to try to make it as anti-inflamtory as possible. He responded to my e-mail to everyone, peer's and bosses, with some pointed, personal comments toward me and some about my comments. Also comments about why he did some of what he did (which had no software basis). I'm going to talk to him after lunch (I'm in a different building). Any suggestions on what I say to him? I'll talk about the style guide, but what about the crappy code? I'm used to more rational people. Joe Q -- modified at 13:41 Tuesday 31st October, 2006 [CONTINUED] I really appreciate the advice, I'm going to talk to him now. Calmly, breath deeply, don't say "you're fired" (Actually I can't back that one up anyway), be professional, use the facts only and talk only about the code. Thanks, and now...into the abyss!
Joe Q wrote:
Thanks, and now...into the abyss!
"Over the Mountains Of the Moon, Down the Valley of the Shadow, Ride, boldly ride," The shade replied- "If you seek for Eldorado!"
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
I just did a desktop review of a guys code and sent him some comments. His code was not very good. I saw many potential problems, he used goto's a lot so it was confusing to follow, it wen't against the style guide, it had dead code, and statics so people couldn't use many generic and useful functions. I'm the software lead so I felt like I needed to say something. I e-mailed him, and only him my comments and I only commented on the code, not him personally. I made sure I didn't use the word "you" and re-read it 3 times to try to make it as anti-inflamtory as possible. He responded to my e-mail to everyone, peer's and bosses, with some pointed, personal comments toward me and some about my comments. Also comments about why he did some of what he did (which had no software basis). I'm going to talk to him after lunch (I'm in a different building). Any suggestions on what I say to him? I'll talk about the style guide, but what about the crappy code? I'm used to more rational people. Joe Q -- modified at 13:41 Tuesday 31st October, 2006 [CONTINUED] I really appreciate the advice, I'm going to talk to him now. Calmly, breath deeply, don't say "you're fired" (Actually I can't back that one up anyway), be professional, use the facts only and talk only about the code. Thanks, and now...into the abyss!
Good luck !!! Sounds like he has a lot of growing up to do, and hopefully he'll learn from the experience. If you've pointed out problems in the code, you have to hope he knows you're right, even if he's pretending otherwise.
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
-
It's true. I wrote to only him. when he responded, he added all the other software, hardware, leads, and bosses names on to the email for the reply. I can't figure out why.