Should I tell my boss that my coworker’s work is of poor quality? [duplicate]

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;







up vote
-1
down vote

favorite













This question already has an answer here:



  • What can I do to make a coworkers lack of effort more visible?

    9 answers



I am one of two software engineers at my company. Our boss is not a software expert but he understands our work at a decent level and he is a good manager.



The other engineer and I have been working together for about a year. I started at the company before he did but he is a couple of decades older, with the corresponding industry experience. The code he wrote for our first project together was, in my opinion, bad: it worked, but it violated programming conventions left and right. There were unnecessary global variables all over the place, for example, and classes were tightly coupled to each other when they shouldn’t have even known about each other. Programmers will recognize these as signs of a poorly-thought-out application design. (There are reasons why you might need to use one of these so-called antipatterns, but in my opinion none of them applied in our situation.)



Well, okay. My coworker’s experience was in C and C++ and this project was written in Python, so maybe his lack of organization was just due to unfamiliarity with the environment. We’ve been working in C++ for the last six months, though, and my coworker is writing the same kind of code. It’s not just an abstract complaint: we’re reworking part of our application now and it’s taking much longer than it should because the existing code was thrown together more than designed.



My coworker is, on balance, making our team more productive than if it were just me working alone. But when you consider the amount of time I spend refactoring his code, our productivity is much less than it would be if we had two engineers who knew how to design software. (I also end up spending a lot of work time being inwardly pissed off at my coworker for writing bad code that I now have to fix, but maybe that’s a personal concern more than a professional one.)



As I said, my coworker’s code works, in general; it’s just not amenable to being examined or changed. Another issue is my coworker’s age. If he were my age, I’d do my best to teach him how to organize code in a way that makes sense. But the fact that he’s a generation older, and has a job title senior to mine, makes it seem like this would come across as condescending and insulting no matter how I brought it up. (And really, I feel that if he had the desire or ability to learn good engineering principles then he would have already done so.)



So my quandary is this: should I bring these concerns to my boss? And what would I even say? I consider my coworker to be incompetent, given his position, but that’s a pretty darn strong word to use to describe a colleague. I don’t see a way to resolve the situation without firing the guy, so what could I even expect my boss to do?







share|improve this question












marked as duplicate by gnat, Garrison Neely, IDrinkandIKnowThings, Jan Doggen, yochannah Oct 5 '14 at 15:11


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.










  • 4




    makes it seem like this would come across as condescending and insulting no matter how I brought it up -- and this post doesn't? Stop being inwardly pissed off. If you are going to be a part of an effective team, you either need to get him to drink your kool-aid or you need to start drinking his. I think you'd be better positioned for success if you stopped being a narrow-minded ageist and started being a team member.
    – Joel Etherton
    Oct 2 '14 at 16:31







  • 2




    Have you checked out this question? Implementing coding standards and code reviews may help.
    – sgryzko
    Oct 2 '14 at 17:07











  • @JoelEtherton ...I really don't understand the critique; I found this question because I was wondering about a similar situation someone I know is in. The asker doesn't sound "pissed" to me, nor do I see any "insults" in the text. I also don't understand what makes this post "ageist"; the OP's concerns don't seem to have anything to do with their coworker's age, and the age is only brought up because it puts him in an awkward position with respect to voicing his concerns.
    – Kyle Strand
    Aug 9 '17 at 21:02






  • 1




    @KyleStrand: You should read the question in its entirety. It's ageist because of the statement in the 2nd paragraph: but he is a couple of decades older. Also in the 4th paragraph: the fact that he’s a generation older, and has a job title senior to mine. If age has nothing to do with it, these comments are unnecessary. OP states quite frankly as well at the end of the 4th paragraph: I also end up spending a lot of work time being inwardly pissed off at my coworker. I'm not saying OP's complaints are invalid, only that his viewpoint on reasons and solutions is narrow and egocentric.
    – Joel Etherton
    Aug 11 '17 at 19:41






  • 1




    @KyleStrand: Possibly. I see your point, but I didn't read that from the context of the question. Probably my own cultural bias in play.
    – Joel Etherton
    Aug 23 '17 at 17:20
















up vote
-1
down vote

favorite













This question already has an answer here:



  • What can I do to make a coworkers lack of effort more visible?

    9 answers



I am one of two software engineers at my company. Our boss is not a software expert but he understands our work at a decent level and he is a good manager.



The other engineer and I have been working together for about a year. I started at the company before he did but he is a couple of decades older, with the corresponding industry experience. The code he wrote for our first project together was, in my opinion, bad: it worked, but it violated programming conventions left and right. There were unnecessary global variables all over the place, for example, and classes were tightly coupled to each other when they shouldn’t have even known about each other. Programmers will recognize these as signs of a poorly-thought-out application design. (There are reasons why you might need to use one of these so-called antipatterns, but in my opinion none of them applied in our situation.)



Well, okay. My coworker’s experience was in C and C++ and this project was written in Python, so maybe his lack of organization was just due to unfamiliarity with the environment. We’ve been working in C++ for the last six months, though, and my coworker is writing the same kind of code. It’s not just an abstract complaint: we’re reworking part of our application now and it’s taking much longer than it should because the existing code was thrown together more than designed.



My coworker is, on balance, making our team more productive than if it were just me working alone. But when you consider the amount of time I spend refactoring his code, our productivity is much less than it would be if we had two engineers who knew how to design software. (I also end up spending a lot of work time being inwardly pissed off at my coworker for writing bad code that I now have to fix, but maybe that’s a personal concern more than a professional one.)



As I said, my coworker’s code works, in general; it’s just not amenable to being examined or changed. Another issue is my coworker’s age. If he were my age, I’d do my best to teach him how to organize code in a way that makes sense. But the fact that he’s a generation older, and has a job title senior to mine, makes it seem like this would come across as condescending and insulting no matter how I brought it up. (And really, I feel that if he had the desire or ability to learn good engineering principles then he would have already done so.)



So my quandary is this: should I bring these concerns to my boss? And what would I even say? I consider my coworker to be incompetent, given his position, but that’s a pretty darn strong word to use to describe a colleague. I don’t see a way to resolve the situation without firing the guy, so what could I even expect my boss to do?







share|improve this question












marked as duplicate by gnat, Garrison Neely, IDrinkandIKnowThings, Jan Doggen, yochannah Oct 5 '14 at 15:11


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.










  • 4




    makes it seem like this would come across as condescending and insulting no matter how I brought it up -- and this post doesn't? Stop being inwardly pissed off. If you are going to be a part of an effective team, you either need to get him to drink your kool-aid or you need to start drinking his. I think you'd be better positioned for success if you stopped being a narrow-minded ageist and started being a team member.
    – Joel Etherton
    Oct 2 '14 at 16:31







  • 2




    Have you checked out this question? Implementing coding standards and code reviews may help.
    – sgryzko
    Oct 2 '14 at 17:07











  • @JoelEtherton ...I really don't understand the critique; I found this question because I was wondering about a similar situation someone I know is in. The asker doesn't sound "pissed" to me, nor do I see any "insults" in the text. I also don't understand what makes this post "ageist"; the OP's concerns don't seem to have anything to do with their coworker's age, and the age is only brought up because it puts him in an awkward position with respect to voicing his concerns.
    – Kyle Strand
    Aug 9 '17 at 21:02






  • 1




    @KyleStrand: You should read the question in its entirety. It's ageist because of the statement in the 2nd paragraph: but he is a couple of decades older. Also in the 4th paragraph: the fact that he’s a generation older, and has a job title senior to mine. If age has nothing to do with it, these comments are unnecessary. OP states quite frankly as well at the end of the 4th paragraph: I also end up spending a lot of work time being inwardly pissed off at my coworker. I'm not saying OP's complaints are invalid, only that his viewpoint on reasons and solutions is narrow and egocentric.
    – Joel Etherton
    Aug 11 '17 at 19:41






  • 1




    @KyleStrand: Possibly. I see your point, but I didn't read that from the context of the question. Probably my own cultural bias in play.
    – Joel Etherton
    Aug 23 '17 at 17:20












up vote
-1
down vote

favorite









up vote
-1
down vote

favorite












This question already has an answer here:



  • What can I do to make a coworkers lack of effort more visible?

    9 answers



I am one of two software engineers at my company. Our boss is not a software expert but he understands our work at a decent level and he is a good manager.



The other engineer and I have been working together for about a year. I started at the company before he did but he is a couple of decades older, with the corresponding industry experience. The code he wrote for our first project together was, in my opinion, bad: it worked, but it violated programming conventions left and right. There were unnecessary global variables all over the place, for example, and classes were tightly coupled to each other when they shouldn’t have even known about each other. Programmers will recognize these as signs of a poorly-thought-out application design. (There are reasons why you might need to use one of these so-called antipatterns, but in my opinion none of them applied in our situation.)



Well, okay. My coworker’s experience was in C and C++ and this project was written in Python, so maybe his lack of organization was just due to unfamiliarity with the environment. We’ve been working in C++ for the last six months, though, and my coworker is writing the same kind of code. It’s not just an abstract complaint: we’re reworking part of our application now and it’s taking much longer than it should because the existing code was thrown together more than designed.



My coworker is, on balance, making our team more productive than if it were just me working alone. But when you consider the amount of time I spend refactoring his code, our productivity is much less than it would be if we had two engineers who knew how to design software. (I also end up spending a lot of work time being inwardly pissed off at my coworker for writing bad code that I now have to fix, but maybe that’s a personal concern more than a professional one.)



As I said, my coworker’s code works, in general; it’s just not amenable to being examined or changed. Another issue is my coworker’s age. If he were my age, I’d do my best to teach him how to organize code in a way that makes sense. But the fact that he’s a generation older, and has a job title senior to mine, makes it seem like this would come across as condescending and insulting no matter how I brought it up. (And really, I feel that if he had the desire or ability to learn good engineering principles then he would have already done so.)



So my quandary is this: should I bring these concerns to my boss? And what would I even say? I consider my coworker to be incompetent, given his position, but that’s a pretty darn strong word to use to describe a colleague. I don’t see a way to resolve the situation without firing the guy, so what could I even expect my boss to do?







share|improve this question













This question already has an answer here:



  • What can I do to make a coworkers lack of effort more visible?

    9 answers



I am one of two software engineers at my company. Our boss is not a software expert but he understands our work at a decent level and he is a good manager.



The other engineer and I have been working together for about a year. I started at the company before he did but he is a couple of decades older, with the corresponding industry experience. The code he wrote for our first project together was, in my opinion, bad: it worked, but it violated programming conventions left and right. There were unnecessary global variables all over the place, for example, and classes were tightly coupled to each other when they shouldn’t have even known about each other. Programmers will recognize these as signs of a poorly-thought-out application design. (There are reasons why you might need to use one of these so-called antipatterns, but in my opinion none of them applied in our situation.)



Well, okay. My coworker’s experience was in C and C++ and this project was written in Python, so maybe his lack of organization was just due to unfamiliarity with the environment. We’ve been working in C++ for the last six months, though, and my coworker is writing the same kind of code. It’s not just an abstract complaint: we’re reworking part of our application now and it’s taking much longer than it should because the existing code was thrown together more than designed.



My coworker is, on balance, making our team more productive than if it were just me working alone. But when you consider the amount of time I spend refactoring his code, our productivity is much less than it would be if we had two engineers who knew how to design software. (I also end up spending a lot of work time being inwardly pissed off at my coworker for writing bad code that I now have to fix, but maybe that’s a personal concern more than a professional one.)



As I said, my coworker’s code works, in general; it’s just not amenable to being examined or changed. Another issue is my coworker’s age. If he were my age, I’d do my best to teach him how to organize code in a way that makes sense. But the fact that he’s a generation older, and has a job title senior to mine, makes it seem like this would come across as condescending and insulting no matter how I brought it up. (And really, I feel that if he had the desire or ability to learn good engineering principles then he would have already done so.)



So my quandary is this: should I bring these concerns to my boss? And what would I even say? I consider my coworker to be incompetent, given his position, but that’s a pretty darn strong word to use to describe a colleague. I don’t see a way to resolve the situation without firing the guy, so what could I even expect my boss to do?





This question already has an answer here:



  • What can I do to make a coworkers lack of effort more visible?

    9 answers









share|improve this question











share|improve this question




share|improve this question










asked Oct 2 '14 at 16:21









colleague37894

111




111




marked as duplicate by gnat, Garrison Neely, IDrinkandIKnowThings, Jan Doggen, yochannah Oct 5 '14 at 15:11


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.






marked as duplicate by gnat, Garrison Neely, IDrinkandIKnowThings, Jan Doggen, yochannah Oct 5 '14 at 15:11


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.









  • 4




    makes it seem like this would come across as condescending and insulting no matter how I brought it up -- and this post doesn't? Stop being inwardly pissed off. If you are going to be a part of an effective team, you either need to get him to drink your kool-aid or you need to start drinking his. I think you'd be better positioned for success if you stopped being a narrow-minded ageist and started being a team member.
    – Joel Etherton
    Oct 2 '14 at 16:31







  • 2




    Have you checked out this question? Implementing coding standards and code reviews may help.
    – sgryzko
    Oct 2 '14 at 17:07











  • @JoelEtherton ...I really don't understand the critique; I found this question because I was wondering about a similar situation someone I know is in. The asker doesn't sound "pissed" to me, nor do I see any "insults" in the text. I also don't understand what makes this post "ageist"; the OP's concerns don't seem to have anything to do with their coworker's age, and the age is only brought up because it puts him in an awkward position with respect to voicing his concerns.
    – Kyle Strand
    Aug 9 '17 at 21:02






  • 1




    @KyleStrand: You should read the question in its entirety. It's ageist because of the statement in the 2nd paragraph: but he is a couple of decades older. Also in the 4th paragraph: the fact that he’s a generation older, and has a job title senior to mine. If age has nothing to do with it, these comments are unnecessary. OP states quite frankly as well at the end of the 4th paragraph: I also end up spending a lot of work time being inwardly pissed off at my coworker. I'm not saying OP's complaints are invalid, only that his viewpoint on reasons and solutions is narrow and egocentric.
    – Joel Etherton
    Aug 11 '17 at 19:41






  • 1




    @KyleStrand: Possibly. I see your point, but I didn't read that from the context of the question. Probably my own cultural bias in play.
    – Joel Etherton
    Aug 23 '17 at 17:20












  • 4




    makes it seem like this would come across as condescending and insulting no matter how I brought it up -- and this post doesn't? Stop being inwardly pissed off. If you are going to be a part of an effective team, you either need to get him to drink your kool-aid or you need to start drinking his. I think you'd be better positioned for success if you stopped being a narrow-minded ageist and started being a team member.
    – Joel Etherton
    Oct 2 '14 at 16:31







  • 2




    Have you checked out this question? Implementing coding standards and code reviews may help.
    – sgryzko
    Oct 2 '14 at 17:07











  • @JoelEtherton ...I really don't understand the critique; I found this question because I was wondering about a similar situation someone I know is in. The asker doesn't sound "pissed" to me, nor do I see any "insults" in the text. I also don't understand what makes this post "ageist"; the OP's concerns don't seem to have anything to do with their coworker's age, and the age is only brought up because it puts him in an awkward position with respect to voicing his concerns.
    – Kyle Strand
    Aug 9 '17 at 21:02






  • 1




    @KyleStrand: You should read the question in its entirety. It's ageist because of the statement in the 2nd paragraph: but he is a couple of decades older. Also in the 4th paragraph: the fact that he’s a generation older, and has a job title senior to mine. If age has nothing to do with it, these comments are unnecessary. OP states quite frankly as well at the end of the 4th paragraph: I also end up spending a lot of work time being inwardly pissed off at my coworker. I'm not saying OP's complaints are invalid, only that his viewpoint on reasons and solutions is narrow and egocentric.
    – Joel Etherton
    Aug 11 '17 at 19:41






  • 1




    @KyleStrand: Possibly. I see your point, but I didn't read that from the context of the question. Probably my own cultural bias in play.
    – Joel Etherton
    Aug 23 '17 at 17:20







4




4




makes it seem like this would come across as condescending and insulting no matter how I brought it up -- and this post doesn't? Stop being inwardly pissed off. If you are going to be a part of an effective team, you either need to get him to drink your kool-aid or you need to start drinking his. I think you'd be better positioned for success if you stopped being a narrow-minded ageist and started being a team member.
– Joel Etherton
Oct 2 '14 at 16:31





makes it seem like this would come across as condescending and insulting no matter how I brought it up -- and this post doesn't? Stop being inwardly pissed off. If you are going to be a part of an effective team, you either need to get him to drink your kool-aid or you need to start drinking his. I think you'd be better positioned for success if you stopped being a narrow-minded ageist and started being a team member.
– Joel Etherton
Oct 2 '14 at 16:31





2




2




Have you checked out this question? Implementing coding standards and code reviews may help.
– sgryzko
Oct 2 '14 at 17:07





Have you checked out this question? Implementing coding standards and code reviews may help.
– sgryzko
Oct 2 '14 at 17:07













@JoelEtherton ...I really don't understand the critique; I found this question because I was wondering about a similar situation someone I know is in. The asker doesn't sound "pissed" to me, nor do I see any "insults" in the text. I also don't understand what makes this post "ageist"; the OP's concerns don't seem to have anything to do with their coworker's age, and the age is only brought up because it puts him in an awkward position with respect to voicing his concerns.
– Kyle Strand
Aug 9 '17 at 21:02




@JoelEtherton ...I really don't understand the critique; I found this question because I was wondering about a similar situation someone I know is in. The asker doesn't sound "pissed" to me, nor do I see any "insults" in the text. I also don't understand what makes this post "ageist"; the OP's concerns don't seem to have anything to do with their coworker's age, and the age is only brought up because it puts him in an awkward position with respect to voicing his concerns.
– Kyle Strand
Aug 9 '17 at 21:02




1




1




@KyleStrand: You should read the question in its entirety. It's ageist because of the statement in the 2nd paragraph: but he is a couple of decades older. Also in the 4th paragraph: the fact that he’s a generation older, and has a job title senior to mine. If age has nothing to do with it, these comments are unnecessary. OP states quite frankly as well at the end of the 4th paragraph: I also end up spending a lot of work time being inwardly pissed off at my coworker. I'm not saying OP's complaints are invalid, only that his viewpoint on reasons and solutions is narrow and egocentric.
– Joel Etherton
Aug 11 '17 at 19:41




@KyleStrand: You should read the question in its entirety. It's ageist because of the statement in the 2nd paragraph: but he is a couple of decades older. Also in the 4th paragraph: the fact that he’s a generation older, and has a job title senior to mine. If age has nothing to do with it, these comments are unnecessary. OP states quite frankly as well at the end of the 4th paragraph: I also end up spending a lot of work time being inwardly pissed off at my coworker. I'm not saying OP's complaints are invalid, only that his viewpoint on reasons and solutions is narrow and egocentric.
– Joel Etherton
Aug 11 '17 at 19:41




1




1




@KyleStrand: Possibly. I see your point, but I didn't read that from the context of the question. Probably my own cultural bias in play.
– Joel Etherton
Aug 23 '17 at 17:20




@KyleStrand: Possibly. I see your point, but I didn't read that from the context of the question. Probably my own cultural bias in play.
– Joel Etherton
Aug 23 '17 at 17:20










1 Answer
1






active

oldest

votes

















up vote
3
down vote













I like working with young people when it is clear that their code shows the progress we've made over the last 30 years when it comes to structuring code - That's partially how I plan to stay up to ate going forward, by the way.



I like the Israeli army's emphasis on merit where professors often find themselves serving under the command of their students, and everyone stays alive because of that.



I assume that your code base is relatively recent and that it is written according to more or less current design principles. If this is the case, then your boss needs to put your colleague under your direction at least temporarily to give him an opportunity to learn how coding is done in your org. And he should stay under your direction until you and your boss are satisfied that he is coding by your organization's standards.



Unless you tell me otherwise, I don't think that the issue is his coding but his code DESIGN. If his code design sucks, it matters little how well he writes the code. It's like having a good command of grammar and an extensive vocabulary - the writing is correct but incoherent. Your colleague needs to be brought up to speed on the design patterns and anti-patterns for one thing. For another, it is absolutely critical that he runs his code design by you before he writes a single line of code. And that's the point you should make to your boss.



I think we all implicitly agree to check our egos at the door when we get into the software engineering business. I have no doubt that twenty to thirty years from now, some young kid is going to post on this site - assuming that this site is still around, and make exactly the same complaint. Except that the complaint will be about you. And his complaint about you will be as solidly grounded as your complaint about your colleague :) In that context, it IS appropriate that your colleague work under your direction, at least until he has caught up with what you know. Pride is nice to have but often enough, it is a luxury item whose price we can't afford :)



I am obviously giving tough advice but I am giving it with no disrespect or ill will intended toward your colleague. I am a merchant of reality and reality is what I have to deal with - the good, the bad and the ugly. It is best to compose with reality before reality hits in the face. Hard.






share|improve this answer




















  • Great point. Does the OP have documentation, or just jump into coding? Requirements, architecture, detailed design, with reviews as you go along, would result in better code
    – Mawg
    Mar 9 at 7:21

















1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
3
down vote













I like working with young people when it is clear that their code shows the progress we've made over the last 30 years when it comes to structuring code - That's partially how I plan to stay up to ate going forward, by the way.



I like the Israeli army's emphasis on merit where professors often find themselves serving under the command of their students, and everyone stays alive because of that.



I assume that your code base is relatively recent and that it is written according to more or less current design principles. If this is the case, then your boss needs to put your colleague under your direction at least temporarily to give him an opportunity to learn how coding is done in your org. And he should stay under your direction until you and your boss are satisfied that he is coding by your organization's standards.



Unless you tell me otherwise, I don't think that the issue is his coding but his code DESIGN. If his code design sucks, it matters little how well he writes the code. It's like having a good command of grammar and an extensive vocabulary - the writing is correct but incoherent. Your colleague needs to be brought up to speed on the design patterns and anti-patterns for one thing. For another, it is absolutely critical that he runs his code design by you before he writes a single line of code. And that's the point you should make to your boss.



I think we all implicitly agree to check our egos at the door when we get into the software engineering business. I have no doubt that twenty to thirty years from now, some young kid is going to post on this site - assuming that this site is still around, and make exactly the same complaint. Except that the complaint will be about you. And his complaint about you will be as solidly grounded as your complaint about your colleague :) In that context, it IS appropriate that your colleague work under your direction, at least until he has caught up with what you know. Pride is nice to have but often enough, it is a luxury item whose price we can't afford :)



I am obviously giving tough advice but I am giving it with no disrespect or ill will intended toward your colleague. I am a merchant of reality and reality is what I have to deal with - the good, the bad and the ugly. It is best to compose with reality before reality hits in the face. Hard.






share|improve this answer




















  • Great point. Does the OP have documentation, or just jump into coding? Requirements, architecture, detailed design, with reviews as you go along, would result in better code
    – Mawg
    Mar 9 at 7:21














up vote
3
down vote













I like working with young people when it is clear that their code shows the progress we've made over the last 30 years when it comes to structuring code - That's partially how I plan to stay up to ate going forward, by the way.



I like the Israeli army's emphasis on merit where professors often find themselves serving under the command of their students, and everyone stays alive because of that.



I assume that your code base is relatively recent and that it is written according to more or less current design principles. If this is the case, then your boss needs to put your colleague under your direction at least temporarily to give him an opportunity to learn how coding is done in your org. And he should stay under your direction until you and your boss are satisfied that he is coding by your organization's standards.



Unless you tell me otherwise, I don't think that the issue is his coding but his code DESIGN. If his code design sucks, it matters little how well he writes the code. It's like having a good command of grammar and an extensive vocabulary - the writing is correct but incoherent. Your colleague needs to be brought up to speed on the design patterns and anti-patterns for one thing. For another, it is absolutely critical that he runs his code design by you before he writes a single line of code. And that's the point you should make to your boss.



I think we all implicitly agree to check our egos at the door when we get into the software engineering business. I have no doubt that twenty to thirty years from now, some young kid is going to post on this site - assuming that this site is still around, and make exactly the same complaint. Except that the complaint will be about you. And his complaint about you will be as solidly grounded as your complaint about your colleague :) In that context, it IS appropriate that your colleague work under your direction, at least until he has caught up with what you know. Pride is nice to have but often enough, it is a luxury item whose price we can't afford :)



I am obviously giving tough advice but I am giving it with no disrespect or ill will intended toward your colleague. I am a merchant of reality and reality is what I have to deal with - the good, the bad and the ugly. It is best to compose with reality before reality hits in the face. Hard.






share|improve this answer




















  • Great point. Does the OP have documentation, or just jump into coding? Requirements, architecture, detailed design, with reviews as you go along, would result in better code
    – Mawg
    Mar 9 at 7:21












up vote
3
down vote










up vote
3
down vote









I like working with young people when it is clear that their code shows the progress we've made over the last 30 years when it comes to structuring code - That's partially how I plan to stay up to ate going forward, by the way.



I like the Israeli army's emphasis on merit where professors often find themselves serving under the command of their students, and everyone stays alive because of that.



I assume that your code base is relatively recent and that it is written according to more or less current design principles. If this is the case, then your boss needs to put your colleague under your direction at least temporarily to give him an opportunity to learn how coding is done in your org. And he should stay under your direction until you and your boss are satisfied that he is coding by your organization's standards.



Unless you tell me otherwise, I don't think that the issue is his coding but his code DESIGN. If his code design sucks, it matters little how well he writes the code. It's like having a good command of grammar and an extensive vocabulary - the writing is correct but incoherent. Your colleague needs to be brought up to speed on the design patterns and anti-patterns for one thing. For another, it is absolutely critical that he runs his code design by you before he writes a single line of code. And that's the point you should make to your boss.



I think we all implicitly agree to check our egos at the door when we get into the software engineering business. I have no doubt that twenty to thirty years from now, some young kid is going to post on this site - assuming that this site is still around, and make exactly the same complaint. Except that the complaint will be about you. And his complaint about you will be as solidly grounded as your complaint about your colleague :) In that context, it IS appropriate that your colleague work under your direction, at least until he has caught up with what you know. Pride is nice to have but often enough, it is a luxury item whose price we can't afford :)



I am obviously giving tough advice but I am giving it with no disrespect or ill will intended toward your colleague. I am a merchant of reality and reality is what I have to deal with - the good, the bad and the ugly. It is best to compose with reality before reality hits in the face. Hard.






share|improve this answer












I like working with young people when it is clear that their code shows the progress we've made over the last 30 years when it comes to structuring code - That's partially how I plan to stay up to ate going forward, by the way.



I like the Israeli army's emphasis on merit where professors often find themselves serving under the command of their students, and everyone stays alive because of that.



I assume that your code base is relatively recent and that it is written according to more or less current design principles. If this is the case, then your boss needs to put your colleague under your direction at least temporarily to give him an opportunity to learn how coding is done in your org. And he should stay under your direction until you and your boss are satisfied that he is coding by your organization's standards.



Unless you tell me otherwise, I don't think that the issue is his coding but his code DESIGN. If his code design sucks, it matters little how well he writes the code. It's like having a good command of grammar and an extensive vocabulary - the writing is correct but incoherent. Your colleague needs to be brought up to speed on the design patterns and anti-patterns for one thing. For another, it is absolutely critical that he runs his code design by you before he writes a single line of code. And that's the point you should make to your boss.



I think we all implicitly agree to check our egos at the door when we get into the software engineering business. I have no doubt that twenty to thirty years from now, some young kid is going to post on this site - assuming that this site is still around, and make exactly the same complaint. Except that the complaint will be about you. And his complaint about you will be as solidly grounded as your complaint about your colleague :) In that context, it IS appropriate that your colleague work under your direction, at least until he has caught up with what you know. Pride is nice to have but often enough, it is a luxury item whose price we can't afford :)



I am obviously giving tough advice but I am giving it with no disrespect or ill will intended toward your colleague. I am a merchant of reality and reality is what I have to deal with - the good, the bad and the ugly. It is best to compose with reality before reality hits in the face. Hard.







share|improve this answer












share|improve this answer



share|improve this answer










answered Oct 2 '14 at 18:44









Vietnhi Phuvan

68.9k7118254




68.9k7118254











  • Great point. Does the OP have documentation, or just jump into coding? Requirements, architecture, detailed design, with reviews as you go along, would result in better code
    – Mawg
    Mar 9 at 7:21
















  • Great point. Does the OP have documentation, or just jump into coding? Requirements, architecture, detailed design, with reviews as you go along, would result in better code
    – Mawg
    Mar 9 at 7:21















Great point. Does the OP have documentation, or just jump into coding? Requirements, architecture, detailed design, with reviews as you go along, would result in better code
– Mawg
Mar 9 at 7:21




Great point. Does the OP have documentation, or just jump into coding? Requirements, architecture, detailed design, with reviews as you go along, would result in better code
– Mawg
Mar 9 at 7:21


Comments

Popular posts from this blog

What does second last employer means? [closed]

List of Gilmore Girls characters

One-line joke