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!
-
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 the conversation focused on the code itself. Don't fall prey to any attempt to make it about personalities ( you in particular ).
-------------------------------- "All that is necessary for the forces of evil to win in the world is for enough good men to do nothing" -- Edmund Burke
-
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!
-
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:
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..."?
-
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..."?
-
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!
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 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!
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
-
Maximilien wrote:
reply-all vs. reply.
I do not think so. Joe said "I e-mailed him, and only him".
-
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:
Any suggestions on what I say to him?
The truth: 1. Your code sucks; 2. I know that telling you that won't make any difference to you, whether I say it politely and professionally or confrontationally and personally; 3. So, since I'm the project lead and you have made yourself my problem, I will make due effort to remove you as a problem.
Joe Q wrote:
I'm used to more rational people.
The reality is, there are very few rational people out there. To be honest, even my rational behavior is hard to distinguish from the overall noise. It's just that some people have a higher amplitude and bandwidth of noise. So much for mutilated analogies. But what really, really pisses me off is when someone refuses to learn. You can tell them right in their face, very kindly and sweetly, "please do it this way" and you look a week later at their code, and no difference. It is so G.D. frustrating, because it DOES affect the product later, whether fixing bugs, adding features, or frankly, just finishing the thing. What do I do? Well, I've gotten to the point with a couple situations where I just do what I'm told, and within the confines of that, I do a professional job of it. But since my heart isn't in it, I don't do a brilliant job or really bother to look much outside the box of what I'm doing. Though, at this point, I know that will lead to the eventual demise of the relationship. Oh well. It's ingrained deep in my personality to do my best and expect others that I work with to do their best, which, in my book, means learning from our mistakes. I wish I could learn from the mistake of always getting projects where I work with less than the best (by my definition). Geez, I'm in a rambling mood today. Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith -
That was my first thought. Then I remembered how much I hated reviewing resumes and spending several of the teams hours interviewing candidates.
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 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!
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.
-
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!
Fire him and get someone who a) can code b) isn't 5 years old
cheers, Chris Maunder
CodeProject.com : C++ MVP
-
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!
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
-
Joe Q wrote:
Any suggestions on what I say to him?
The truth: 1. Your code sucks; 2. I know that telling you that won't make any difference to you, whether I say it politely and professionally or confrontationally and personally; 3. So, since I'm the project lead and you have made yourself my problem, I will make due effort to remove you as a problem.
Joe Q wrote:
I'm used to more rational people.
The reality is, there are very few rational people out there. To be honest, even my rational behavior is hard to distinguish from the overall noise. It's just that some people have a higher amplitude and bandwidth of noise. So much for mutilated analogies. But what really, really pisses me off is when someone refuses to learn. You can tell them right in their face, very kindly and sweetly, "please do it this way" and you look a week later at their code, and no difference. It is so G.D. frustrating, because it DOES affect the product later, whether fixing bugs, adding features, or frankly, just finishing the thing. What do I do? Well, I've gotten to the point with a couple situations where I just do what I'm told, and within the confines of that, I do a professional job of it. But since my heart isn't in it, I don't do a brilliant job or really bother to look much outside the box of what I'm doing. Though, at this point, I know that will lead to the eventual demise of the relationship. Oh well. It's ingrained deep in my personality to do my best and expect others that I work with to do their best, which, in my book, means learning from our mistakes. I wish I could learn from the mistake of always getting projects where I work with less than the best (by my definition). Geez, I'm in a rambling mood today. Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh SmithMarc 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
-
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..."?
He probably hit reply, then proceeded to shove everybody he could think of in the CC line. Very uncool.
Oh geez... the forum keeps spinning... you'll take care o f it i'm sure, c'ause ... yeah, i neede this. *cough* anyway good job finding the bug.
-Shog9 on...a Firefox bug. -
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!
Fire him. Someone that ignorant does not deserve to be working for you...
-
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:
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)
-
Keep the conversation focused on the code itself. Don't fall prey to any attempt to make it about personalities ( you in particular ).
-------------------------------- "All that is necessary for the forces of evil to win in the world is for enough good men to do nothing" -- Edmund Burke
-
That was my first thought. Then I remembered how much I hated reviewing resumes and spending several of the teams hours interviewing candidates.
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
-
Maximilien wrote:
reply-all vs. reply.
I do not think so. Joe said "I e-mailed him, and only him".