Is it unprofessional to call code “garbage”?












16















Intro: I’ve been writing software for over 15 years and currently lead a team of ~10 developers with whom I conduct code reviews daily. My comments are generally direct, honest, and straight-forward.



However, today's review had one comment in the mail that made few people pretty nervous; it goes like this:




If improving the code quality score means we have to introduce garbage like below, then we’re in serious trouble.




I was immediately pulled into a private chat session, where I was schooled on conduct and urged not to use unprofessional language, or else they would reply on top of my comment with a warning condemning unprofessional behavior.



What would you make of this; why do you think my language was unprofessional?



And yes, code was horrible, you can take my word for it.



Update 1: Full code review was detailed and constructive, with suggestions on how to improve it and how to avoid such mistakes from Code Quality tools.










share|improve this question




















  • 50





    Regardless of what you or I might think, upper management at your company has made it pretty clear that they consider this unprofessional. Assuming you want to continue working there, I think you would be well advised to accept that and adjust your behaviour accordingly.

    – Steve-O
    Oct 20 '17 at 20:34






  • 12





    One thing it took me way to long to learn: People perceive the words you use to describe their words, thoughts, actions, or work as describing them. If you say "this code is garbage" then the author of the code usually perceives that as you calling them garbage. What's even worse in this case is that you know the person who wrote that code is able to hear/read your words calling it "garbage" and you also made the statement publicly. Would you go up to a dev in the middle of the bullpen in front of everyone and say, "You're garbage!" Hopefully no. Sadly, that's what you kind of did here.

    – Todd Wilcox
    Oct 20 '17 at 21:47






  • 3





    Stating my agreement with @ostati's last edit. A big part of this site is as a reference for future people. Excessively criticizing the OP does not help that goal at all, and doing so is repeating the exact same mistake the OP made. We all make mistakes. No need to get personal over this one. The OP had the foresight to ask for an outside opinion afterwards, and if nothing else that is certainly commendable.

    – Conor Mancone
    Oct 20 '17 at 22:38






  • 5





    You were probably trying to say "this level of code is beneath you, I know you can do better!" but instead it probably feels like you're saying "you're bad and your work is bad, so you should feel bad".

    – Cronax
    Oct 23 '17 at 9:58






  • 4





    As a lead, its beyond unprofessional. Its truly insulting.

    – Mister Positive
    Oct 23 '17 at 16:25
















16















Intro: I’ve been writing software for over 15 years and currently lead a team of ~10 developers with whom I conduct code reviews daily. My comments are generally direct, honest, and straight-forward.



However, today's review had one comment in the mail that made few people pretty nervous; it goes like this:




If improving the code quality score means we have to introduce garbage like below, then we’re in serious trouble.




I was immediately pulled into a private chat session, where I was schooled on conduct and urged not to use unprofessional language, or else they would reply on top of my comment with a warning condemning unprofessional behavior.



What would you make of this; why do you think my language was unprofessional?



And yes, code was horrible, you can take my word for it.



Update 1: Full code review was detailed and constructive, with suggestions on how to improve it and how to avoid such mistakes from Code Quality tools.










share|improve this question




















  • 50





    Regardless of what you or I might think, upper management at your company has made it pretty clear that they consider this unprofessional. Assuming you want to continue working there, I think you would be well advised to accept that and adjust your behaviour accordingly.

    – Steve-O
    Oct 20 '17 at 20:34






  • 12





    One thing it took me way to long to learn: People perceive the words you use to describe their words, thoughts, actions, or work as describing them. If you say "this code is garbage" then the author of the code usually perceives that as you calling them garbage. What's even worse in this case is that you know the person who wrote that code is able to hear/read your words calling it "garbage" and you also made the statement publicly. Would you go up to a dev in the middle of the bullpen in front of everyone and say, "You're garbage!" Hopefully no. Sadly, that's what you kind of did here.

    – Todd Wilcox
    Oct 20 '17 at 21:47






  • 3





    Stating my agreement with @ostati's last edit. A big part of this site is as a reference for future people. Excessively criticizing the OP does not help that goal at all, and doing so is repeating the exact same mistake the OP made. We all make mistakes. No need to get personal over this one. The OP had the foresight to ask for an outside opinion afterwards, and if nothing else that is certainly commendable.

    – Conor Mancone
    Oct 20 '17 at 22:38






  • 5





    You were probably trying to say "this level of code is beneath you, I know you can do better!" but instead it probably feels like you're saying "you're bad and your work is bad, so you should feel bad".

    – Cronax
    Oct 23 '17 at 9:58






  • 4





    As a lead, its beyond unprofessional. Its truly insulting.

    – Mister Positive
    Oct 23 '17 at 16:25














16












16








16


1






Intro: I’ve been writing software for over 15 years and currently lead a team of ~10 developers with whom I conduct code reviews daily. My comments are generally direct, honest, and straight-forward.



However, today's review had one comment in the mail that made few people pretty nervous; it goes like this:




If improving the code quality score means we have to introduce garbage like below, then we’re in serious trouble.




I was immediately pulled into a private chat session, where I was schooled on conduct and urged not to use unprofessional language, or else they would reply on top of my comment with a warning condemning unprofessional behavior.



What would you make of this; why do you think my language was unprofessional?



And yes, code was horrible, you can take my word for it.



Update 1: Full code review was detailed and constructive, with suggestions on how to improve it and how to avoid such mistakes from Code Quality tools.










share|improve this question
















Intro: I’ve been writing software for over 15 years and currently lead a team of ~10 developers with whom I conduct code reviews daily. My comments are generally direct, honest, and straight-forward.



However, today's review had one comment in the mail that made few people pretty nervous; it goes like this:




If improving the code quality score means we have to introduce garbage like below, then we’re in serious trouble.




I was immediately pulled into a private chat session, where I was schooled on conduct and urged not to use unprofessional language, or else they would reply on top of my comment with a warning condemning unprofessional behavior.



What would you make of this; why do you think my language was unprofessional?



And yes, code was horrible, you can take my word for it.



Update 1: Full code review was detailed and constructive, with suggestions on how to improve it and how to avoid such mistakes from Code Quality tools.







software-development software code






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Oct 23 '17 at 13:00









Lilienthal

55.5k36188229




55.5k36188229










asked Oct 20 '17 at 20:06









ostatiostati

20226




20226








  • 50





    Regardless of what you or I might think, upper management at your company has made it pretty clear that they consider this unprofessional. Assuming you want to continue working there, I think you would be well advised to accept that and adjust your behaviour accordingly.

    – Steve-O
    Oct 20 '17 at 20:34






  • 12





    One thing it took me way to long to learn: People perceive the words you use to describe their words, thoughts, actions, or work as describing them. If you say "this code is garbage" then the author of the code usually perceives that as you calling them garbage. What's even worse in this case is that you know the person who wrote that code is able to hear/read your words calling it "garbage" and you also made the statement publicly. Would you go up to a dev in the middle of the bullpen in front of everyone and say, "You're garbage!" Hopefully no. Sadly, that's what you kind of did here.

    – Todd Wilcox
    Oct 20 '17 at 21:47






  • 3





    Stating my agreement with @ostati's last edit. A big part of this site is as a reference for future people. Excessively criticizing the OP does not help that goal at all, and doing so is repeating the exact same mistake the OP made. We all make mistakes. No need to get personal over this one. The OP had the foresight to ask for an outside opinion afterwards, and if nothing else that is certainly commendable.

    – Conor Mancone
    Oct 20 '17 at 22:38






  • 5





    You were probably trying to say "this level of code is beneath you, I know you can do better!" but instead it probably feels like you're saying "you're bad and your work is bad, so you should feel bad".

    – Cronax
    Oct 23 '17 at 9:58






  • 4





    As a lead, its beyond unprofessional. Its truly insulting.

    – Mister Positive
    Oct 23 '17 at 16:25














  • 50





    Regardless of what you or I might think, upper management at your company has made it pretty clear that they consider this unprofessional. Assuming you want to continue working there, I think you would be well advised to accept that and adjust your behaviour accordingly.

    – Steve-O
    Oct 20 '17 at 20:34






  • 12





    One thing it took me way to long to learn: People perceive the words you use to describe their words, thoughts, actions, or work as describing them. If you say "this code is garbage" then the author of the code usually perceives that as you calling them garbage. What's even worse in this case is that you know the person who wrote that code is able to hear/read your words calling it "garbage" and you also made the statement publicly. Would you go up to a dev in the middle of the bullpen in front of everyone and say, "You're garbage!" Hopefully no. Sadly, that's what you kind of did here.

    – Todd Wilcox
    Oct 20 '17 at 21:47






  • 3





    Stating my agreement with @ostati's last edit. A big part of this site is as a reference for future people. Excessively criticizing the OP does not help that goal at all, and doing so is repeating the exact same mistake the OP made. We all make mistakes. No need to get personal over this one. The OP had the foresight to ask for an outside opinion afterwards, and if nothing else that is certainly commendable.

    – Conor Mancone
    Oct 20 '17 at 22:38






  • 5





    You were probably trying to say "this level of code is beneath you, I know you can do better!" but instead it probably feels like you're saying "you're bad and your work is bad, so you should feel bad".

    – Cronax
    Oct 23 '17 at 9:58






  • 4





    As a lead, its beyond unprofessional. Its truly insulting.

    – Mister Positive
    Oct 23 '17 at 16:25








50




50





Regardless of what you or I might think, upper management at your company has made it pretty clear that they consider this unprofessional. Assuming you want to continue working there, I think you would be well advised to accept that and adjust your behaviour accordingly.

– Steve-O
Oct 20 '17 at 20:34





Regardless of what you or I might think, upper management at your company has made it pretty clear that they consider this unprofessional. Assuming you want to continue working there, I think you would be well advised to accept that and adjust your behaviour accordingly.

– Steve-O
Oct 20 '17 at 20:34




12




12





One thing it took me way to long to learn: People perceive the words you use to describe their words, thoughts, actions, or work as describing them. If you say "this code is garbage" then the author of the code usually perceives that as you calling them garbage. What's even worse in this case is that you know the person who wrote that code is able to hear/read your words calling it "garbage" and you also made the statement publicly. Would you go up to a dev in the middle of the bullpen in front of everyone and say, "You're garbage!" Hopefully no. Sadly, that's what you kind of did here.

– Todd Wilcox
Oct 20 '17 at 21:47





One thing it took me way to long to learn: People perceive the words you use to describe their words, thoughts, actions, or work as describing them. If you say "this code is garbage" then the author of the code usually perceives that as you calling them garbage. What's even worse in this case is that you know the person who wrote that code is able to hear/read your words calling it "garbage" and you also made the statement publicly. Would you go up to a dev in the middle of the bullpen in front of everyone and say, "You're garbage!" Hopefully no. Sadly, that's what you kind of did here.

– Todd Wilcox
Oct 20 '17 at 21:47




3




3





Stating my agreement with @ostati's last edit. A big part of this site is as a reference for future people. Excessively criticizing the OP does not help that goal at all, and doing so is repeating the exact same mistake the OP made. We all make mistakes. No need to get personal over this one. The OP had the foresight to ask for an outside opinion afterwards, and if nothing else that is certainly commendable.

– Conor Mancone
Oct 20 '17 at 22:38





Stating my agreement with @ostati's last edit. A big part of this site is as a reference for future people. Excessively criticizing the OP does not help that goal at all, and doing so is repeating the exact same mistake the OP made. We all make mistakes. No need to get personal over this one. The OP had the foresight to ask for an outside opinion afterwards, and if nothing else that is certainly commendable.

– Conor Mancone
Oct 20 '17 at 22:38




5




5





You were probably trying to say "this level of code is beneath you, I know you can do better!" but instead it probably feels like you're saying "you're bad and your work is bad, so you should feel bad".

– Cronax
Oct 23 '17 at 9:58





You were probably trying to say "this level of code is beneath you, I know you can do better!" but instead it probably feels like you're saying "you're bad and your work is bad, so you should feel bad".

– Cronax
Oct 23 '17 at 9:58




4




4





As a lead, its beyond unprofessional. Its truly insulting.

– Mister Positive
Oct 23 '17 at 16:25





As a lead, its beyond unprofessional. Its truly insulting.

– Mister Positive
Oct 23 '17 at 16:25










8 Answers
8






active

oldest

votes


















71















What would you make of this; do you think my language was
unprofessional?




Yes.



Your comment crossed the line from correcting (which typically relies on specific and concrete comments) to insulting ("this is terrible and if we keep it up we're doomed").



It doesn't matter how much experience you have. It doesn't matter if the code is complete garbage. Honesty isn't an excuse for being rude. That is one of the quickest ways to halt a team's progress and momentum. No matter how experienced or productive you are individually, you are going to be hurting your company overall if the attitude you project at the work place hinders your coworkers.



The reason this is particularly troublesome (and why your management likely responded so sternly) is because it actually hurts your team in the long run. You should know that if your goal is to improve the real quality of code produced by your team, then this will actively hurt your goals. The reason why is because when you get a reputation for being critical, and not helpful, people will not come to you for help (nor will they generally listen to you when you try to offer help). As a result any amount of experience you have will be wasted over time, because people will stop listening to you.



Be polite. Offer help and corrections, and not criticism. I personally think that in situations like this an apology (both to the person in question and to the team) is very reasonable.



Edit to add it is certainly good that there was a helpful review in there too, but keep in mind that perception is as important as reality. In many cases it can take just one poorly chosen word to undo any real good that the code review itself does. A very informative code review that ends with (and I understand this isn't exactly what happened) "overall, this is garbage" is still going to leave the coder with a very bad impression overall, and it is quite likely that they will stop listening to everything else you say. It's important to keep the whole thing professional, every step of the way.






share|improve this answer


























  • @Conor Mancone: Please edit your comment per information provided in Update 1/2.

    – ostati
    Oct 20 '17 at 20:39






  • 6





    Perception is reality for everyone else in the room. Once the perception is set the reality is lost. These people are not likely to re-evaluate the situation.

    – cdkMoose
    Oct 20 '17 at 21:20











  • What do you think if it was a blind review and no one on the team including the reviewer knew who had written the code except the author?

    – RibaldEddie
    Oct 20 '17 at 22:28











  • @RibaldEddie The point (from my perspective) is that one of the biggest issues is the impact on team morale. If it is public (which it is) then everyone sees it, and it colors the way everyone thinks and acts, even if they weren't the code writer. Most people will be afraid of getting the same response themselves, and that's not good for anyone. Not to mention the very real impact it will still have on the person who wrote it. The fact that they don't know who the critical person is will probably make people more nervous, not less.

    – Conor Mancone
    Oct 20 '17 at 22:33











  • @ConorMancone but they know if it wasn’t them. To my mind it would make it different because it is no longer seen as personal. If you are critical of the work without knowing who did it, and only the person who did the work knows, then I think that makes it less likely to be taken personally. Also the OP didn’t say what the author of the code thought. Management might have disliked it but if the rest of the team didn’t care then that might be different as well.

    – RibaldEddie
    Oct 21 '17 at 23:01



















38














It is the nadir of unprofessionalism in Information Technology to be derisive of another's code in such a fashion and it goes beyond the derision to the way you made the point.




  1. It was done publicly, which is why you were pulled aside (virtually)

  2. It disrupts a team.

  3. It breeds resentment.

  4. Coders, like artists take critique VERY personally.

  5. It was a massively demotivating thing to say. Productivity from that coder is going to take hit.

  6. It makes others less willing to take risks, lest they get ridiculed.


I must say in the strongest possible terms that this is a BAD THING. There is no excuse for this behavior. Do not repeat it.



I have my own feelings and quite a few of us out here agree. I can manage someone who has written bad code with a good deal less stress than someone with a bad attitude. I can always help you improve your code, but a person's attitude is beyond my control and I won't deal with someone with a bad attitude.






share|improve this answer


























  • Great bullet points. I <3 them.

    – ostati
    Oct 20 '17 at 21:01






  • 13





    Re: 4 - IME, everyone takes critique of their work personally. It's common to see one's work as reflecting oneself.

    – Todd Wilcox
    Oct 20 '17 at 21:50






  • 2





    It may also cause a slowdown in team productivity due to the team feeling nervous about potential ridicule, so they're less likely to feel comfortable submitting code for review which may actually be fine, for fear of similar treatment. This may lead to more, unnecessary time spent doing self-review, but also with colleagues interrupting each other for peer-review in the long run.

    – Donglecow
    Oct 23 '17 at 10:00






  • 1





    I think your last paragraph might be a bit much here. The OP reads more like someone who's too direct for his own good or hasn't fully attuned to social norms regarding criticism. That's a corrigible problem and quite different from having a bad attitude. (And of course a manager would still have to deal with it, but you'd handle it differently.)

    – Lilienthal
    Oct 23 '17 at 13:05













  • @Lilienthal I edited it slightly, as I can see how that may have come across as too harsh. The point being is that it is far more easy to correct a skill deficiency than it is to correct a bad attitude.

    – Richard U
    Oct 23 '17 at 13:23



















12





+100









It can be hard for someone offended by language like that to explain their reaction to people who aren't offended by language like that. A rule of thumb that usually works: if the critical statement addresses generalities beyond one specific incident, it's offensive (hence unprofessional).



In other words, the more professional expression would be to stick to your detailed review, which was specific to the particular code under review. You could explain that this bad code is going to improve the code quality score, which means we need to work on the quality metrics too. People are ready to work through and learn from one bad incident. It's all in context.



But when you change to a global context, which is what your one comment did (yep, just one sentence!) now you are criticizing the employees themselves, or the whole company, and that's more threatening. It leads to (as other answers mention) resentment, disconnection, and a loss of collaborative energy.



You can find this difference between global criticism and instance-specific complaint in relationship literature. John Gottman's explanation (see "criticism") is a popular example.



The words you pick do matter, but the context matters more. It's totally okay (in most software shops I know) to say "garbage in, garbage out" because that has a specific meaning and you are using the phrase to describe why a particular design is unsuitable. Go figure.






share|improve this answer



















  • 1





    First sentence is brilliantly put and the rest is all good. Thx.

    – ostati
    Oct 20 '17 at 21:58



















6















direct, honest, and straight-forward.




Said otherwise : harsh, abrasive, non-diplomatic.



The tough thing to learn for us programmers is that human beings are not machines. They are not interested in naked truth. Human beings are social animals, and require a good level of diplomacy to be communicated with.



Some even go as far as saying that the real purpose of communication is not to pass information, but to make friendship stronger. I would not go that far, especially in a professional setting, but this is something you should never forget : even in circumstances when nothing is said about you, "direct, honest, and straight-forward" can in fact leave people unhappy with you, which may hinder your work relations later. Ideally, you'd always want to sandwich a layer of criticism between layers of compliment.






share|improve this answer



















  • 10





    You can be direct, honest, and straight-forward without being harsh, abrasive or non-diplomatic. I might even say calling those things harsh, abrasive and non-diplomatic is itself harsh, abrasive and non-diplomatic.

    – Dukeling
    Oct 20 '17 at 20:44





















6














What is considered appropriate language for a comment would be entirely dependent on your company culture, but simply calling someone's code "garbage" (and the brackets suggest you actually used a different less polite word) certainly isn't very constructive. It isn't going to help anyone improve.



What was wrong with the code? How could they have improved it? What should the developer do differently? That is the only information you should have included. If it was so bad as to go beyond the scope of a comment you should have pulled the developer aside and discussed it in person.



As team leader, and the one with experience, it is incumbent you to help your team improve. That is your job. Belittling them them in a code review comment doesn't accomplish anything good.






share|improve this answer


























  • I described the problem fully so it's not like I showed a one liner review out there.. It was fully documented with suggested corrections throughout.

    – ostati
    Oct 20 '17 at 20:31











  • Constructive feedback was part of the review.

    – ostati
    Oct 20 '17 at 21:02






  • 4





    @Ostati, unfortunately, for most of the people in the room the takeaway will not be the constructive feedback or the fully documented corrections, instead it will be "[garbage] like below". That is human nature.

    – cdkMoose
    Oct 20 '17 at 21:23











  • @cdkMoose: I agree but it does not need to be part of the comment, it's better without it is all I meant here. It was said as "code review comment with no constructive feedback"..

    – ostati
    Oct 20 '17 at 21:40








  • 1





    Edited to remove the "no constructive feedback" bit. That was not clear from your original post. The rest of my answer still stands.

    – Seth R
    Oct 23 '17 at 12:56



















3















What would you make of this; why you think my language was unprofessional?




So ... here's the deal:




  • You are the team lead; that means that you are supposed to build up the team, not beat them down.


  • The code is the developer's work; calling it garbage in writing in front of their peers is a heavy blow.



Okay, that's the part which directly addresses the question. Okay to stop reading now. Next part ... what might you have done differently?




  • Keep the detailed suggestions, those are good


  • In the 'overall' section, say that this file isn't following best practices per detailed notes below


  • Have a breakout, either 1-1 with the guy, or a training session with the team to go through best practices. In other words, turn this mistake into an opportunity



Just my two bits, yo.






share|improve this answer































    2














    This is very dependent on company culture. However, there are some general things to consider. There are mainly two reasons why calling code garbage might be considered unprofessional:




    1. It does - by itself - not provide insight as to what is bad or how to improve the situation, it just gives that code a (low) value, while typically you want to look at its advantages and disadvantages rather than consider it generally bad or good

    2. it may be offensive to a colleague, i.e. the person who wrote that code


    As for 1), that can be alleviated by providing concrete details as to what you think is bad and how to fix it. Typically, there are reasons why things are as they are and it's not that someone just wanted to write garbage. The code might have been perfect for the job it was intended for when it was written, but the context changed.



    As for 2), if the code you refer to is a recent commit from a particular person, that person might feel offended. Especially if he had reasons to write something objectively bad, like time constraints, that you don't take into account. And often what is garbage to you is perfect for someone else, calling it garbage just brings emotions into what otherwise could have been a well founded objective discussion. On the other end of the spectrum - if you take over an old large codebase that no one in the current team already considers "his code", it's pretty impersonal to call that big pile of probably convoluted code garbage (still doesn't address 1. though and you better back it up).
    Another issue is how you deliver any line containing expletives. The more emotionally loaded (and accusing) the worse, the more light-hearted, perhaps ironically aimed at yourself the more acceptable.



    So, if you are unsure, never call something garbage. If you want to test the waters, start using such valuing language for code that no one feels attached to (or your own code) and back yourself up with some details as to what you don't like.



    Whether people react offended and consider you (un)professional solely based on the words you use depends on the company culture. However, universally people will judge you based on how you use your words. If you just call stuff garbage without arguing your point of view, without accepting another developers argument as to why the code is fine as it is, people will think you are unreasonable and judgemental. And thus unprofessional. Especially if you explicitly or implicitly blame your co-workers for what you consider bad code.
    This is true no matter whether you use expletives or not, i.e. saying "this code is just bad", without any further comments, is unprofessional as well, but the more emotionally loaded words you use (and the more emotionally loaded you present them), the worse this gets.



    That being said, if you use expletive words in a reasonable fashion without directing them at your co-workers but rather as a means to give weight to your impressions or vent off some frustration, it can be totally fine. I've worked in an environment where the tone was very direct, playful and the sentences often full of expletives. But typically any such expletive was directed at some technical problems, the way some frameworks behaved unpredictably or even at one's own code ("Look at the garbage I did there, it's incredible that I wrote that stuff!"). On the other hand, I've rarely seen a team working so professionally - respecting each other, always looking how to fix the problem and not how to distribute the blame.



    TLDR: using expletives to describe code isn't necessarily unprofessional in itself. In some cultural contexts, however, any use of expletives is considered unprofessional/offensive. It is your job to figure out whether this is the case in your environment before using them, not doing this first is unprofessional.
    If (another person's) code is absolutely valued, using expletives or not, without a) giving details and b) without separating that criticism from the person and c) without knowing that the other person can separate criticism of their code and criticism of themselves, this is unprofessional as well.
    In your current company, people are obviously not accustomed to any swearing / expletives and consider it bad behaviour - so don't do it.






    share|improve this answer

































      0














      The truth is that most software is garbage. The lie is pretending otherwise, like the posts above.





      share








      New contributor




      user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















        Your Answer








        StackExchange.ready(function() {
        var channelOptions = {
        tags: "".split(" "),
        id: "423"
        };
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function() {
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled) {
        StackExchange.using("snippets", function() {
        createEditor();
        });
        }
        else {
        createEditor();
        }
        });

        function createEditor() {
        StackExchange.prepareEditor({
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: false,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: null,
        bindNavPrevention: true,
        postfix: "",
        imageUploader: {
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        },
        noCode: true, onDemand: false,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        });


        }
        });














        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f101230%2fis-it-unprofessional-to-call-code-garbage%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown




















        StackExchange.ready(function () {
        $("#show-editor-button input, #show-editor-button button").click(function () {
        var showEditor = function() {
        $("#show-editor-button").hide();
        $("#post-form").removeClass("dno");
        StackExchange.editor.finallyInit();
        };

        var useFancy = $(this).data('confirm-use-fancy');
        if(useFancy == 'True') {
        var popupTitle = $(this).data('confirm-fancy-title');
        var popupBody = $(this).data('confirm-fancy-body');
        var popupAccept = $(this).data('confirm-fancy-accept-button');

        $(this).loadPopup({
        url: '/post/self-answer-popup',
        loaded: function(popup) {
        var pTitle = $(popup).find('h2');
        var pBody = $(popup).find('.popup-body');
        var pSubmit = $(popup).find('.popup-submit');

        pTitle.text(popupTitle);
        pBody.html(popupBody);
        pSubmit.val(popupAccept).click(showEditor);
        }
        })
        } else{
        var confirmText = $(this).data('confirm-text');
        if (confirmText ? confirm(confirmText) : true) {
        showEditor();
        }
        }
        });
        });






        8 Answers
        8






        active

        oldest

        votes








        8 Answers
        8






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        71















        What would you make of this; do you think my language was
        unprofessional?




        Yes.



        Your comment crossed the line from correcting (which typically relies on specific and concrete comments) to insulting ("this is terrible and if we keep it up we're doomed").



        It doesn't matter how much experience you have. It doesn't matter if the code is complete garbage. Honesty isn't an excuse for being rude. That is one of the quickest ways to halt a team's progress and momentum. No matter how experienced or productive you are individually, you are going to be hurting your company overall if the attitude you project at the work place hinders your coworkers.



        The reason this is particularly troublesome (and why your management likely responded so sternly) is because it actually hurts your team in the long run. You should know that if your goal is to improve the real quality of code produced by your team, then this will actively hurt your goals. The reason why is because when you get a reputation for being critical, and not helpful, people will not come to you for help (nor will they generally listen to you when you try to offer help). As a result any amount of experience you have will be wasted over time, because people will stop listening to you.



        Be polite. Offer help and corrections, and not criticism. I personally think that in situations like this an apology (both to the person in question and to the team) is very reasonable.



        Edit to add it is certainly good that there was a helpful review in there too, but keep in mind that perception is as important as reality. In many cases it can take just one poorly chosen word to undo any real good that the code review itself does. A very informative code review that ends with (and I understand this isn't exactly what happened) "overall, this is garbage" is still going to leave the coder with a very bad impression overall, and it is quite likely that they will stop listening to everything else you say. It's important to keep the whole thing professional, every step of the way.






        share|improve this answer


























        • @Conor Mancone: Please edit your comment per information provided in Update 1/2.

          – ostati
          Oct 20 '17 at 20:39






        • 6





          Perception is reality for everyone else in the room. Once the perception is set the reality is lost. These people are not likely to re-evaluate the situation.

          – cdkMoose
          Oct 20 '17 at 21:20











        • What do you think if it was a blind review and no one on the team including the reviewer knew who had written the code except the author?

          – RibaldEddie
          Oct 20 '17 at 22:28











        • @RibaldEddie The point (from my perspective) is that one of the biggest issues is the impact on team morale. If it is public (which it is) then everyone sees it, and it colors the way everyone thinks and acts, even if they weren't the code writer. Most people will be afraid of getting the same response themselves, and that's not good for anyone. Not to mention the very real impact it will still have on the person who wrote it. The fact that they don't know who the critical person is will probably make people more nervous, not less.

          – Conor Mancone
          Oct 20 '17 at 22:33











        • @ConorMancone but they know if it wasn’t them. To my mind it would make it different because it is no longer seen as personal. If you are critical of the work without knowing who did it, and only the person who did the work knows, then I think that makes it less likely to be taken personally. Also the OP didn’t say what the author of the code thought. Management might have disliked it but if the rest of the team didn’t care then that might be different as well.

          – RibaldEddie
          Oct 21 '17 at 23:01
















        71















        What would you make of this; do you think my language was
        unprofessional?




        Yes.



        Your comment crossed the line from correcting (which typically relies on specific and concrete comments) to insulting ("this is terrible and if we keep it up we're doomed").



        It doesn't matter how much experience you have. It doesn't matter if the code is complete garbage. Honesty isn't an excuse for being rude. That is one of the quickest ways to halt a team's progress and momentum. No matter how experienced or productive you are individually, you are going to be hurting your company overall if the attitude you project at the work place hinders your coworkers.



        The reason this is particularly troublesome (and why your management likely responded so sternly) is because it actually hurts your team in the long run. You should know that if your goal is to improve the real quality of code produced by your team, then this will actively hurt your goals. The reason why is because when you get a reputation for being critical, and not helpful, people will not come to you for help (nor will they generally listen to you when you try to offer help). As a result any amount of experience you have will be wasted over time, because people will stop listening to you.



        Be polite. Offer help and corrections, and not criticism. I personally think that in situations like this an apology (both to the person in question and to the team) is very reasonable.



        Edit to add it is certainly good that there was a helpful review in there too, but keep in mind that perception is as important as reality. In many cases it can take just one poorly chosen word to undo any real good that the code review itself does. A very informative code review that ends with (and I understand this isn't exactly what happened) "overall, this is garbage" is still going to leave the coder with a very bad impression overall, and it is quite likely that they will stop listening to everything else you say. It's important to keep the whole thing professional, every step of the way.






        share|improve this answer


























        • @Conor Mancone: Please edit your comment per information provided in Update 1/2.

          – ostati
          Oct 20 '17 at 20:39






        • 6





          Perception is reality for everyone else in the room. Once the perception is set the reality is lost. These people are not likely to re-evaluate the situation.

          – cdkMoose
          Oct 20 '17 at 21:20











        • What do you think if it was a blind review and no one on the team including the reviewer knew who had written the code except the author?

          – RibaldEddie
          Oct 20 '17 at 22:28











        • @RibaldEddie The point (from my perspective) is that one of the biggest issues is the impact on team morale. If it is public (which it is) then everyone sees it, and it colors the way everyone thinks and acts, even if they weren't the code writer. Most people will be afraid of getting the same response themselves, and that's not good for anyone. Not to mention the very real impact it will still have on the person who wrote it. The fact that they don't know who the critical person is will probably make people more nervous, not less.

          – Conor Mancone
          Oct 20 '17 at 22:33











        • @ConorMancone but they know if it wasn’t them. To my mind it would make it different because it is no longer seen as personal. If you are critical of the work without knowing who did it, and only the person who did the work knows, then I think that makes it less likely to be taken personally. Also the OP didn’t say what the author of the code thought. Management might have disliked it but if the rest of the team didn’t care then that might be different as well.

          – RibaldEddie
          Oct 21 '17 at 23:01














        71












        71








        71








        What would you make of this; do you think my language was
        unprofessional?




        Yes.



        Your comment crossed the line from correcting (which typically relies on specific and concrete comments) to insulting ("this is terrible and if we keep it up we're doomed").



        It doesn't matter how much experience you have. It doesn't matter if the code is complete garbage. Honesty isn't an excuse for being rude. That is one of the quickest ways to halt a team's progress and momentum. No matter how experienced or productive you are individually, you are going to be hurting your company overall if the attitude you project at the work place hinders your coworkers.



        The reason this is particularly troublesome (and why your management likely responded so sternly) is because it actually hurts your team in the long run. You should know that if your goal is to improve the real quality of code produced by your team, then this will actively hurt your goals. The reason why is because when you get a reputation for being critical, and not helpful, people will not come to you for help (nor will they generally listen to you when you try to offer help). As a result any amount of experience you have will be wasted over time, because people will stop listening to you.



        Be polite. Offer help and corrections, and not criticism. I personally think that in situations like this an apology (both to the person in question and to the team) is very reasonable.



        Edit to add it is certainly good that there was a helpful review in there too, but keep in mind that perception is as important as reality. In many cases it can take just one poorly chosen word to undo any real good that the code review itself does. A very informative code review that ends with (and I understand this isn't exactly what happened) "overall, this is garbage" is still going to leave the coder with a very bad impression overall, and it is quite likely that they will stop listening to everything else you say. It's important to keep the whole thing professional, every step of the way.






        share|improve this answer
















        What would you make of this; do you think my language was
        unprofessional?




        Yes.



        Your comment crossed the line from correcting (which typically relies on specific and concrete comments) to insulting ("this is terrible and if we keep it up we're doomed").



        It doesn't matter how much experience you have. It doesn't matter if the code is complete garbage. Honesty isn't an excuse for being rude. That is one of the quickest ways to halt a team's progress and momentum. No matter how experienced or productive you are individually, you are going to be hurting your company overall if the attitude you project at the work place hinders your coworkers.



        The reason this is particularly troublesome (and why your management likely responded so sternly) is because it actually hurts your team in the long run. You should know that if your goal is to improve the real quality of code produced by your team, then this will actively hurt your goals. The reason why is because when you get a reputation for being critical, and not helpful, people will not come to you for help (nor will they generally listen to you when you try to offer help). As a result any amount of experience you have will be wasted over time, because people will stop listening to you.



        Be polite. Offer help and corrections, and not criticism. I personally think that in situations like this an apology (both to the person in question and to the team) is very reasonable.



        Edit to add it is certainly good that there was a helpful review in there too, but keep in mind that perception is as important as reality. In many cases it can take just one poorly chosen word to undo any real good that the code review itself does. A very informative code review that ends with (and I understand this isn't exactly what happened) "overall, this is garbage" is still going to leave the coder with a very bad impression overall, and it is quite likely that they will stop listening to everything else you say. It's important to keep the whole thing professional, every step of the way.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Oct 20 '17 at 20:48

























        answered Oct 20 '17 at 20:19









        Conor ManconeConor Mancone

        2,42051031




        2,42051031













        • @Conor Mancone: Please edit your comment per information provided in Update 1/2.

          – ostati
          Oct 20 '17 at 20:39






        • 6





          Perception is reality for everyone else in the room. Once the perception is set the reality is lost. These people are not likely to re-evaluate the situation.

          – cdkMoose
          Oct 20 '17 at 21:20











        • What do you think if it was a blind review and no one on the team including the reviewer knew who had written the code except the author?

          – RibaldEddie
          Oct 20 '17 at 22:28











        • @RibaldEddie The point (from my perspective) is that one of the biggest issues is the impact on team morale. If it is public (which it is) then everyone sees it, and it colors the way everyone thinks and acts, even if they weren't the code writer. Most people will be afraid of getting the same response themselves, and that's not good for anyone. Not to mention the very real impact it will still have on the person who wrote it. The fact that they don't know who the critical person is will probably make people more nervous, not less.

          – Conor Mancone
          Oct 20 '17 at 22:33











        • @ConorMancone but they know if it wasn’t them. To my mind it would make it different because it is no longer seen as personal. If you are critical of the work without knowing who did it, and only the person who did the work knows, then I think that makes it less likely to be taken personally. Also the OP didn’t say what the author of the code thought. Management might have disliked it but if the rest of the team didn’t care then that might be different as well.

          – RibaldEddie
          Oct 21 '17 at 23:01



















        • @Conor Mancone: Please edit your comment per information provided in Update 1/2.

          – ostati
          Oct 20 '17 at 20:39






        • 6





          Perception is reality for everyone else in the room. Once the perception is set the reality is lost. These people are not likely to re-evaluate the situation.

          – cdkMoose
          Oct 20 '17 at 21:20











        • What do you think if it was a blind review and no one on the team including the reviewer knew who had written the code except the author?

          – RibaldEddie
          Oct 20 '17 at 22:28











        • @RibaldEddie The point (from my perspective) is that one of the biggest issues is the impact on team morale. If it is public (which it is) then everyone sees it, and it colors the way everyone thinks and acts, even if they weren't the code writer. Most people will be afraid of getting the same response themselves, and that's not good for anyone. Not to mention the very real impact it will still have on the person who wrote it. The fact that they don't know who the critical person is will probably make people more nervous, not less.

          – Conor Mancone
          Oct 20 '17 at 22:33











        • @ConorMancone but they know if it wasn’t them. To my mind it would make it different because it is no longer seen as personal. If you are critical of the work without knowing who did it, and only the person who did the work knows, then I think that makes it less likely to be taken personally. Also the OP didn’t say what the author of the code thought. Management might have disliked it but if the rest of the team didn’t care then that might be different as well.

          – RibaldEddie
          Oct 21 '17 at 23:01

















        @Conor Mancone: Please edit your comment per information provided in Update 1/2.

        – ostati
        Oct 20 '17 at 20:39





        @Conor Mancone: Please edit your comment per information provided in Update 1/2.

        – ostati
        Oct 20 '17 at 20:39




        6




        6





        Perception is reality for everyone else in the room. Once the perception is set the reality is lost. These people are not likely to re-evaluate the situation.

        – cdkMoose
        Oct 20 '17 at 21:20





        Perception is reality for everyone else in the room. Once the perception is set the reality is lost. These people are not likely to re-evaluate the situation.

        – cdkMoose
        Oct 20 '17 at 21:20













        What do you think if it was a blind review and no one on the team including the reviewer knew who had written the code except the author?

        – RibaldEddie
        Oct 20 '17 at 22:28





        What do you think if it was a blind review and no one on the team including the reviewer knew who had written the code except the author?

        – RibaldEddie
        Oct 20 '17 at 22:28













        @RibaldEddie The point (from my perspective) is that one of the biggest issues is the impact on team morale. If it is public (which it is) then everyone sees it, and it colors the way everyone thinks and acts, even if they weren't the code writer. Most people will be afraid of getting the same response themselves, and that's not good for anyone. Not to mention the very real impact it will still have on the person who wrote it. The fact that they don't know who the critical person is will probably make people more nervous, not less.

        – Conor Mancone
        Oct 20 '17 at 22:33





        @RibaldEddie The point (from my perspective) is that one of the biggest issues is the impact on team morale. If it is public (which it is) then everyone sees it, and it colors the way everyone thinks and acts, even if they weren't the code writer. Most people will be afraid of getting the same response themselves, and that's not good for anyone. Not to mention the very real impact it will still have on the person who wrote it. The fact that they don't know who the critical person is will probably make people more nervous, not less.

        – Conor Mancone
        Oct 20 '17 at 22:33













        @ConorMancone but they know if it wasn’t them. To my mind it would make it different because it is no longer seen as personal. If you are critical of the work without knowing who did it, and only the person who did the work knows, then I think that makes it less likely to be taken personally. Also the OP didn’t say what the author of the code thought. Management might have disliked it but if the rest of the team didn’t care then that might be different as well.

        – RibaldEddie
        Oct 21 '17 at 23:01





        @ConorMancone but they know if it wasn’t them. To my mind it would make it different because it is no longer seen as personal. If you are critical of the work without knowing who did it, and only the person who did the work knows, then I think that makes it less likely to be taken personally. Also the OP didn’t say what the author of the code thought. Management might have disliked it but if the rest of the team didn’t care then that might be different as well.

        – RibaldEddie
        Oct 21 '17 at 23:01













        38














        It is the nadir of unprofessionalism in Information Technology to be derisive of another's code in such a fashion and it goes beyond the derision to the way you made the point.




        1. It was done publicly, which is why you were pulled aside (virtually)

        2. It disrupts a team.

        3. It breeds resentment.

        4. Coders, like artists take critique VERY personally.

        5. It was a massively demotivating thing to say. Productivity from that coder is going to take hit.

        6. It makes others less willing to take risks, lest they get ridiculed.


        I must say in the strongest possible terms that this is a BAD THING. There is no excuse for this behavior. Do not repeat it.



        I have my own feelings and quite a few of us out here agree. I can manage someone who has written bad code with a good deal less stress than someone with a bad attitude. I can always help you improve your code, but a person's attitude is beyond my control and I won't deal with someone with a bad attitude.






        share|improve this answer


























        • Great bullet points. I <3 them.

          – ostati
          Oct 20 '17 at 21:01






        • 13





          Re: 4 - IME, everyone takes critique of their work personally. It's common to see one's work as reflecting oneself.

          – Todd Wilcox
          Oct 20 '17 at 21:50






        • 2





          It may also cause a slowdown in team productivity due to the team feeling nervous about potential ridicule, so they're less likely to feel comfortable submitting code for review which may actually be fine, for fear of similar treatment. This may lead to more, unnecessary time spent doing self-review, but also with colleagues interrupting each other for peer-review in the long run.

          – Donglecow
          Oct 23 '17 at 10:00






        • 1





          I think your last paragraph might be a bit much here. The OP reads more like someone who's too direct for his own good or hasn't fully attuned to social norms regarding criticism. That's a corrigible problem and quite different from having a bad attitude. (And of course a manager would still have to deal with it, but you'd handle it differently.)

          – Lilienthal
          Oct 23 '17 at 13:05













        • @Lilienthal I edited it slightly, as I can see how that may have come across as too harsh. The point being is that it is far more easy to correct a skill deficiency than it is to correct a bad attitude.

          – Richard U
          Oct 23 '17 at 13:23
















        38














        It is the nadir of unprofessionalism in Information Technology to be derisive of another's code in such a fashion and it goes beyond the derision to the way you made the point.




        1. It was done publicly, which is why you were pulled aside (virtually)

        2. It disrupts a team.

        3. It breeds resentment.

        4. Coders, like artists take critique VERY personally.

        5. It was a massively demotivating thing to say. Productivity from that coder is going to take hit.

        6. It makes others less willing to take risks, lest they get ridiculed.


        I must say in the strongest possible terms that this is a BAD THING. There is no excuse for this behavior. Do not repeat it.



        I have my own feelings and quite a few of us out here agree. I can manage someone who has written bad code with a good deal less stress than someone with a bad attitude. I can always help you improve your code, but a person's attitude is beyond my control and I won't deal with someone with a bad attitude.






        share|improve this answer


























        • Great bullet points. I <3 them.

          – ostati
          Oct 20 '17 at 21:01






        • 13





          Re: 4 - IME, everyone takes critique of their work personally. It's common to see one's work as reflecting oneself.

          – Todd Wilcox
          Oct 20 '17 at 21:50






        • 2





          It may also cause a slowdown in team productivity due to the team feeling nervous about potential ridicule, so they're less likely to feel comfortable submitting code for review which may actually be fine, for fear of similar treatment. This may lead to more, unnecessary time spent doing self-review, but also with colleagues interrupting each other for peer-review in the long run.

          – Donglecow
          Oct 23 '17 at 10:00






        • 1





          I think your last paragraph might be a bit much here. The OP reads more like someone who's too direct for his own good or hasn't fully attuned to social norms regarding criticism. That's a corrigible problem and quite different from having a bad attitude. (And of course a manager would still have to deal with it, but you'd handle it differently.)

          – Lilienthal
          Oct 23 '17 at 13:05













        • @Lilienthal I edited it slightly, as I can see how that may have come across as too harsh. The point being is that it is far more easy to correct a skill deficiency than it is to correct a bad attitude.

          – Richard U
          Oct 23 '17 at 13:23














        38












        38








        38







        It is the nadir of unprofessionalism in Information Technology to be derisive of another's code in such a fashion and it goes beyond the derision to the way you made the point.




        1. It was done publicly, which is why you were pulled aside (virtually)

        2. It disrupts a team.

        3. It breeds resentment.

        4. Coders, like artists take critique VERY personally.

        5. It was a massively demotivating thing to say. Productivity from that coder is going to take hit.

        6. It makes others less willing to take risks, lest they get ridiculed.


        I must say in the strongest possible terms that this is a BAD THING. There is no excuse for this behavior. Do not repeat it.



        I have my own feelings and quite a few of us out here agree. I can manage someone who has written bad code with a good deal less stress than someone with a bad attitude. I can always help you improve your code, but a person's attitude is beyond my control and I won't deal with someone with a bad attitude.






        share|improve this answer















        It is the nadir of unprofessionalism in Information Technology to be derisive of another's code in such a fashion and it goes beyond the derision to the way you made the point.




        1. It was done publicly, which is why you were pulled aside (virtually)

        2. It disrupts a team.

        3. It breeds resentment.

        4. Coders, like artists take critique VERY personally.

        5. It was a massively demotivating thing to say. Productivity from that coder is going to take hit.

        6. It makes others less willing to take risks, lest they get ridiculed.


        I must say in the strongest possible terms that this is a BAD THING. There is no excuse for this behavior. Do not repeat it.



        I have my own feelings and quite a few of us out here agree. I can manage someone who has written bad code with a good deal less stress than someone with a bad attitude. I can always help you improve your code, but a person's attitude is beyond my control and I won't deal with someone with a bad attitude.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Oct 23 '17 at 13:22

























        answered Oct 20 '17 at 20:53









        Richard URichard U

        94.9k70251379




        94.9k70251379













        • Great bullet points. I <3 them.

          – ostati
          Oct 20 '17 at 21:01






        • 13





          Re: 4 - IME, everyone takes critique of their work personally. It's common to see one's work as reflecting oneself.

          – Todd Wilcox
          Oct 20 '17 at 21:50






        • 2





          It may also cause a slowdown in team productivity due to the team feeling nervous about potential ridicule, so they're less likely to feel comfortable submitting code for review which may actually be fine, for fear of similar treatment. This may lead to more, unnecessary time spent doing self-review, but also with colleagues interrupting each other for peer-review in the long run.

          – Donglecow
          Oct 23 '17 at 10:00






        • 1





          I think your last paragraph might be a bit much here. The OP reads more like someone who's too direct for his own good or hasn't fully attuned to social norms regarding criticism. That's a corrigible problem and quite different from having a bad attitude. (And of course a manager would still have to deal with it, but you'd handle it differently.)

          – Lilienthal
          Oct 23 '17 at 13:05













        • @Lilienthal I edited it slightly, as I can see how that may have come across as too harsh. The point being is that it is far more easy to correct a skill deficiency than it is to correct a bad attitude.

          – Richard U
          Oct 23 '17 at 13:23



















        • Great bullet points. I <3 them.

          – ostati
          Oct 20 '17 at 21:01






        • 13





          Re: 4 - IME, everyone takes critique of their work personally. It's common to see one's work as reflecting oneself.

          – Todd Wilcox
          Oct 20 '17 at 21:50






        • 2





          It may also cause a slowdown in team productivity due to the team feeling nervous about potential ridicule, so they're less likely to feel comfortable submitting code for review which may actually be fine, for fear of similar treatment. This may lead to more, unnecessary time spent doing self-review, but also with colleagues interrupting each other for peer-review in the long run.

          – Donglecow
          Oct 23 '17 at 10:00






        • 1





          I think your last paragraph might be a bit much here. The OP reads more like someone who's too direct for his own good or hasn't fully attuned to social norms regarding criticism. That's a corrigible problem and quite different from having a bad attitude. (And of course a manager would still have to deal with it, but you'd handle it differently.)

          – Lilienthal
          Oct 23 '17 at 13:05













        • @Lilienthal I edited it slightly, as I can see how that may have come across as too harsh. The point being is that it is far more easy to correct a skill deficiency than it is to correct a bad attitude.

          – Richard U
          Oct 23 '17 at 13:23

















        Great bullet points. I <3 them.

        – ostati
        Oct 20 '17 at 21:01





        Great bullet points. I <3 them.

        – ostati
        Oct 20 '17 at 21:01




        13




        13





        Re: 4 - IME, everyone takes critique of their work personally. It's common to see one's work as reflecting oneself.

        – Todd Wilcox
        Oct 20 '17 at 21:50





        Re: 4 - IME, everyone takes critique of their work personally. It's common to see one's work as reflecting oneself.

        – Todd Wilcox
        Oct 20 '17 at 21:50




        2




        2





        It may also cause a slowdown in team productivity due to the team feeling nervous about potential ridicule, so they're less likely to feel comfortable submitting code for review which may actually be fine, for fear of similar treatment. This may lead to more, unnecessary time spent doing self-review, but also with colleagues interrupting each other for peer-review in the long run.

        – Donglecow
        Oct 23 '17 at 10:00





        It may also cause a slowdown in team productivity due to the team feeling nervous about potential ridicule, so they're less likely to feel comfortable submitting code for review which may actually be fine, for fear of similar treatment. This may lead to more, unnecessary time spent doing self-review, but also with colleagues interrupting each other for peer-review in the long run.

        – Donglecow
        Oct 23 '17 at 10:00




        1




        1





        I think your last paragraph might be a bit much here. The OP reads more like someone who's too direct for his own good or hasn't fully attuned to social norms regarding criticism. That's a corrigible problem and quite different from having a bad attitude. (And of course a manager would still have to deal with it, but you'd handle it differently.)

        – Lilienthal
        Oct 23 '17 at 13:05







        I think your last paragraph might be a bit much here. The OP reads more like someone who's too direct for his own good or hasn't fully attuned to social norms regarding criticism. That's a corrigible problem and quite different from having a bad attitude. (And of course a manager would still have to deal with it, but you'd handle it differently.)

        – Lilienthal
        Oct 23 '17 at 13:05















        @Lilienthal I edited it slightly, as I can see how that may have come across as too harsh. The point being is that it is far more easy to correct a skill deficiency than it is to correct a bad attitude.

        – Richard U
        Oct 23 '17 at 13:23





        @Lilienthal I edited it slightly, as I can see how that may have come across as too harsh. The point being is that it is far more easy to correct a skill deficiency than it is to correct a bad attitude.

        – Richard U
        Oct 23 '17 at 13:23











        12





        +100









        It can be hard for someone offended by language like that to explain their reaction to people who aren't offended by language like that. A rule of thumb that usually works: if the critical statement addresses generalities beyond one specific incident, it's offensive (hence unprofessional).



        In other words, the more professional expression would be to stick to your detailed review, which was specific to the particular code under review. You could explain that this bad code is going to improve the code quality score, which means we need to work on the quality metrics too. People are ready to work through and learn from one bad incident. It's all in context.



        But when you change to a global context, which is what your one comment did (yep, just one sentence!) now you are criticizing the employees themselves, or the whole company, and that's more threatening. It leads to (as other answers mention) resentment, disconnection, and a loss of collaborative energy.



        You can find this difference between global criticism and instance-specific complaint in relationship literature. John Gottman's explanation (see "criticism") is a popular example.



        The words you pick do matter, but the context matters more. It's totally okay (in most software shops I know) to say "garbage in, garbage out" because that has a specific meaning and you are using the phrase to describe why a particular design is unsuitable. Go figure.






        share|improve this answer



















        • 1





          First sentence is brilliantly put and the rest is all good. Thx.

          – ostati
          Oct 20 '17 at 21:58
















        12





        +100









        It can be hard for someone offended by language like that to explain their reaction to people who aren't offended by language like that. A rule of thumb that usually works: if the critical statement addresses generalities beyond one specific incident, it's offensive (hence unprofessional).



        In other words, the more professional expression would be to stick to your detailed review, which was specific to the particular code under review. You could explain that this bad code is going to improve the code quality score, which means we need to work on the quality metrics too. People are ready to work through and learn from one bad incident. It's all in context.



        But when you change to a global context, which is what your one comment did (yep, just one sentence!) now you are criticizing the employees themselves, or the whole company, and that's more threatening. It leads to (as other answers mention) resentment, disconnection, and a loss of collaborative energy.



        You can find this difference between global criticism and instance-specific complaint in relationship literature. John Gottman's explanation (see "criticism") is a popular example.



        The words you pick do matter, but the context matters more. It's totally okay (in most software shops I know) to say "garbage in, garbage out" because that has a specific meaning and you are using the phrase to describe why a particular design is unsuitable. Go figure.






        share|improve this answer



















        • 1





          First sentence is brilliantly put and the rest is all good. Thx.

          – ostati
          Oct 20 '17 at 21:58














        12





        +100







        12





        +100



        12




        +100





        It can be hard for someone offended by language like that to explain their reaction to people who aren't offended by language like that. A rule of thumb that usually works: if the critical statement addresses generalities beyond one specific incident, it's offensive (hence unprofessional).



        In other words, the more professional expression would be to stick to your detailed review, which was specific to the particular code under review. You could explain that this bad code is going to improve the code quality score, which means we need to work on the quality metrics too. People are ready to work through and learn from one bad incident. It's all in context.



        But when you change to a global context, which is what your one comment did (yep, just one sentence!) now you are criticizing the employees themselves, or the whole company, and that's more threatening. It leads to (as other answers mention) resentment, disconnection, and a loss of collaborative energy.



        You can find this difference between global criticism and instance-specific complaint in relationship literature. John Gottman's explanation (see "criticism") is a popular example.



        The words you pick do matter, but the context matters more. It's totally okay (in most software shops I know) to say "garbage in, garbage out" because that has a specific meaning and you are using the phrase to describe why a particular design is unsuitable. Go figure.






        share|improve this answer













        It can be hard for someone offended by language like that to explain their reaction to people who aren't offended by language like that. A rule of thumb that usually works: if the critical statement addresses generalities beyond one specific incident, it's offensive (hence unprofessional).



        In other words, the more professional expression would be to stick to your detailed review, which was specific to the particular code under review. You could explain that this bad code is going to improve the code quality score, which means we need to work on the quality metrics too. People are ready to work through and learn from one bad incident. It's all in context.



        But when you change to a global context, which is what your one comment did (yep, just one sentence!) now you are criticizing the employees themselves, or the whole company, and that's more threatening. It leads to (as other answers mention) resentment, disconnection, and a loss of collaborative energy.



        You can find this difference between global criticism and instance-specific complaint in relationship literature. John Gottman's explanation (see "criticism") is a popular example.



        The words you pick do matter, but the context matters more. It's totally okay (in most software shops I know) to say "garbage in, garbage out" because that has a specific meaning and you are using the phrase to describe why a particular design is unsuitable. Go figure.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Oct 20 '17 at 21:50









        Travis WilsonTravis Wilson

        469147




        469147








        • 1





          First sentence is brilliantly put and the rest is all good. Thx.

          – ostati
          Oct 20 '17 at 21:58














        • 1





          First sentence is brilliantly put and the rest is all good. Thx.

          – ostati
          Oct 20 '17 at 21:58








        1




        1





        First sentence is brilliantly put and the rest is all good. Thx.

        – ostati
        Oct 20 '17 at 21:58





        First sentence is brilliantly put and the rest is all good. Thx.

        – ostati
        Oct 20 '17 at 21:58











        6















        direct, honest, and straight-forward.




        Said otherwise : harsh, abrasive, non-diplomatic.



        The tough thing to learn for us programmers is that human beings are not machines. They are not interested in naked truth. Human beings are social animals, and require a good level of diplomacy to be communicated with.



        Some even go as far as saying that the real purpose of communication is not to pass information, but to make friendship stronger. I would not go that far, especially in a professional setting, but this is something you should never forget : even in circumstances when nothing is said about you, "direct, honest, and straight-forward" can in fact leave people unhappy with you, which may hinder your work relations later. Ideally, you'd always want to sandwich a layer of criticism between layers of compliment.






        share|improve this answer



















        • 10





          You can be direct, honest, and straight-forward without being harsh, abrasive or non-diplomatic. I might even say calling those things harsh, abrasive and non-diplomatic is itself harsh, abrasive and non-diplomatic.

          – Dukeling
          Oct 20 '17 at 20:44


















        6















        direct, honest, and straight-forward.




        Said otherwise : harsh, abrasive, non-diplomatic.



        The tough thing to learn for us programmers is that human beings are not machines. They are not interested in naked truth. Human beings are social animals, and require a good level of diplomacy to be communicated with.



        Some even go as far as saying that the real purpose of communication is not to pass information, but to make friendship stronger. I would not go that far, especially in a professional setting, but this is something you should never forget : even in circumstances when nothing is said about you, "direct, honest, and straight-forward" can in fact leave people unhappy with you, which may hinder your work relations later. Ideally, you'd always want to sandwich a layer of criticism between layers of compliment.






        share|improve this answer



















        • 10





          You can be direct, honest, and straight-forward without being harsh, abrasive or non-diplomatic. I might even say calling those things harsh, abrasive and non-diplomatic is itself harsh, abrasive and non-diplomatic.

          – Dukeling
          Oct 20 '17 at 20:44
















        6












        6








        6








        direct, honest, and straight-forward.




        Said otherwise : harsh, abrasive, non-diplomatic.



        The tough thing to learn for us programmers is that human beings are not machines. They are not interested in naked truth. Human beings are social animals, and require a good level of diplomacy to be communicated with.



        Some even go as far as saying that the real purpose of communication is not to pass information, but to make friendship stronger. I would not go that far, especially in a professional setting, but this is something you should never forget : even in circumstances when nothing is said about you, "direct, honest, and straight-forward" can in fact leave people unhappy with you, which may hinder your work relations later. Ideally, you'd always want to sandwich a layer of criticism between layers of compliment.






        share|improve this answer














        direct, honest, and straight-forward.




        Said otherwise : harsh, abrasive, non-diplomatic.



        The tough thing to learn for us programmers is that human beings are not machines. They are not interested in naked truth. Human beings are social animals, and require a good level of diplomacy to be communicated with.



        Some even go as far as saying that the real purpose of communication is not to pass information, but to make friendship stronger. I would not go that far, especially in a professional setting, but this is something you should never forget : even in circumstances when nothing is said about you, "direct, honest, and straight-forward" can in fact leave people unhappy with you, which may hinder your work relations later. Ideally, you'd always want to sandwich a layer of criticism between layers of compliment.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Oct 20 '17 at 20:38









        gazzz0x2zgazzz0x2z

        6,89522137




        6,89522137








        • 10





          You can be direct, honest, and straight-forward without being harsh, abrasive or non-diplomatic. I might even say calling those things harsh, abrasive and non-diplomatic is itself harsh, abrasive and non-diplomatic.

          – Dukeling
          Oct 20 '17 at 20:44
















        • 10





          You can be direct, honest, and straight-forward without being harsh, abrasive or non-diplomatic. I might even say calling those things harsh, abrasive and non-diplomatic is itself harsh, abrasive and non-diplomatic.

          – Dukeling
          Oct 20 '17 at 20:44










        10




        10





        You can be direct, honest, and straight-forward without being harsh, abrasive or non-diplomatic. I might even say calling those things harsh, abrasive and non-diplomatic is itself harsh, abrasive and non-diplomatic.

        – Dukeling
        Oct 20 '17 at 20:44







        You can be direct, honest, and straight-forward without being harsh, abrasive or non-diplomatic. I might even say calling those things harsh, abrasive and non-diplomatic is itself harsh, abrasive and non-diplomatic.

        – Dukeling
        Oct 20 '17 at 20:44













        6














        What is considered appropriate language for a comment would be entirely dependent on your company culture, but simply calling someone's code "garbage" (and the brackets suggest you actually used a different less polite word) certainly isn't very constructive. It isn't going to help anyone improve.



        What was wrong with the code? How could they have improved it? What should the developer do differently? That is the only information you should have included. If it was so bad as to go beyond the scope of a comment you should have pulled the developer aside and discussed it in person.



        As team leader, and the one with experience, it is incumbent you to help your team improve. That is your job. Belittling them them in a code review comment doesn't accomplish anything good.






        share|improve this answer


























        • I described the problem fully so it's not like I showed a one liner review out there.. It was fully documented with suggested corrections throughout.

          – ostati
          Oct 20 '17 at 20:31











        • Constructive feedback was part of the review.

          – ostati
          Oct 20 '17 at 21:02






        • 4





          @Ostati, unfortunately, for most of the people in the room the takeaway will not be the constructive feedback or the fully documented corrections, instead it will be "[garbage] like below". That is human nature.

          – cdkMoose
          Oct 20 '17 at 21:23











        • @cdkMoose: I agree but it does not need to be part of the comment, it's better without it is all I meant here. It was said as "code review comment with no constructive feedback"..

          – ostati
          Oct 20 '17 at 21:40








        • 1





          Edited to remove the "no constructive feedback" bit. That was not clear from your original post. The rest of my answer still stands.

          – Seth R
          Oct 23 '17 at 12:56
















        6














        What is considered appropriate language for a comment would be entirely dependent on your company culture, but simply calling someone's code "garbage" (and the brackets suggest you actually used a different less polite word) certainly isn't very constructive. It isn't going to help anyone improve.



        What was wrong with the code? How could they have improved it? What should the developer do differently? That is the only information you should have included. If it was so bad as to go beyond the scope of a comment you should have pulled the developer aside and discussed it in person.



        As team leader, and the one with experience, it is incumbent you to help your team improve. That is your job. Belittling them them in a code review comment doesn't accomplish anything good.






        share|improve this answer


























        • I described the problem fully so it's not like I showed a one liner review out there.. It was fully documented with suggested corrections throughout.

          – ostati
          Oct 20 '17 at 20:31











        • Constructive feedback was part of the review.

          – ostati
          Oct 20 '17 at 21:02






        • 4





          @Ostati, unfortunately, for most of the people in the room the takeaway will not be the constructive feedback or the fully documented corrections, instead it will be "[garbage] like below". That is human nature.

          – cdkMoose
          Oct 20 '17 at 21:23











        • @cdkMoose: I agree but it does not need to be part of the comment, it's better without it is all I meant here. It was said as "code review comment with no constructive feedback"..

          – ostati
          Oct 20 '17 at 21:40








        • 1





          Edited to remove the "no constructive feedback" bit. That was not clear from your original post. The rest of my answer still stands.

          – Seth R
          Oct 23 '17 at 12:56














        6












        6








        6







        What is considered appropriate language for a comment would be entirely dependent on your company culture, but simply calling someone's code "garbage" (and the brackets suggest you actually used a different less polite word) certainly isn't very constructive. It isn't going to help anyone improve.



        What was wrong with the code? How could they have improved it? What should the developer do differently? That is the only information you should have included. If it was so bad as to go beyond the scope of a comment you should have pulled the developer aside and discussed it in person.



        As team leader, and the one with experience, it is incumbent you to help your team improve. That is your job. Belittling them them in a code review comment doesn't accomplish anything good.






        share|improve this answer















        What is considered appropriate language for a comment would be entirely dependent on your company culture, but simply calling someone's code "garbage" (and the brackets suggest you actually used a different less polite word) certainly isn't very constructive. It isn't going to help anyone improve.



        What was wrong with the code? How could they have improved it? What should the developer do differently? That is the only information you should have included. If it was so bad as to go beyond the scope of a comment you should have pulled the developer aside and discussed it in person.



        As team leader, and the one with experience, it is incumbent you to help your team improve. That is your job. Belittling them them in a code review comment doesn't accomplish anything good.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Oct 23 '17 at 12:54

























        answered Oct 20 '17 at 20:23









        Seth RSeth R

        3,8161024




        3,8161024













        • I described the problem fully so it's not like I showed a one liner review out there.. It was fully documented with suggested corrections throughout.

          – ostati
          Oct 20 '17 at 20:31











        • Constructive feedback was part of the review.

          – ostati
          Oct 20 '17 at 21:02






        • 4





          @Ostati, unfortunately, for most of the people in the room the takeaway will not be the constructive feedback or the fully documented corrections, instead it will be "[garbage] like below". That is human nature.

          – cdkMoose
          Oct 20 '17 at 21:23











        • @cdkMoose: I agree but it does not need to be part of the comment, it's better without it is all I meant here. It was said as "code review comment with no constructive feedback"..

          – ostati
          Oct 20 '17 at 21:40








        • 1





          Edited to remove the "no constructive feedback" bit. That was not clear from your original post. The rest of my answer still stands.

          – Seth R
          Oct 23 '17 at 12:56



















        • I described the problem fully so it's not like I showed a one liner review out there.. It was fully documented with suggested corrections throughout.

          – ostati
          Oct 20 '17 at 20:31











        • Constructive feedback was part of the review.

          – ostati
          Oct 20 '17 at 21:02






        • 4





          @Ostati, unfortunately, for most of the people in the room the takeaway will not be the constructive feedback or the fully documented corrections, instead it will be "[garbage] like below". That is human nature.

          – cdkMoose
          Oct 20 '17 at 21:23











        • @cdkMoose: I agree but it does not need to be part of the comment, it's better without it is all I meant here. It was said as "code review comment with no constructive feedback"..

          – ostati
          Oct 20 '17 at 21:40








        • 1





          Edited to remove the "no constructive feedback" bit. That was not clear from your original post. The rest of my answer still stands.

          – Seth R
          Oct 23 '17 at 12:56

















        I described the problem fully so it's not like I showed a one liner review out there.. It was fully documented with suggested corrections throughout.

        – ostati
        Oct 20 '17 at 20:31





        I described the problem fully so it's not like I showed a one liner review out there.. It was fully documented with suggested corrections throughout.

        – ostati
        Oct 20 '17 at 20:31













        Constructive feedback was part of the review.

        – ostati
        Oct 20 '17 at 21:02





        Constructive feedback was part of the review.

        – ostati
        Oct 20 '17 at 21:02




        4




        4





        @Ostati, unfortunately, for most of the people in the room the takeaway will not be the constructive feedback or the fully documented corrections, instead it will be "[garbage] like below". That is human nature.

        – cdkMoose
        Oct 20 '17 at 21:23





        @Ostati, unfortunately, for most of the people in the room the takeaway will not be the constructive feedback or the fully documented corrections, instead it will be "[garbage] like below". That is human nature.

        – cdkMoose
        Oct 20 '17 at 21:23













        @cdkMoose: I agree but it does not need to be part of the comment, it's better without it is all I meant here. It was said as "code review comment with no constructive feedback"..

        – ostati
        Oct 20 '17 at 21:40







        @cdkMoose: I agree but it does not need to be part of the comment, it's better without it is all I meant here. It was said as "code review comment with no constructive feedback"..

        – ostati
        Oct 20 '17 at 21:40






        1




        1





        Edited to remove the "no constructive feedback" bit. That was not clear from your original post. The rest of my answer still stands.

        – Seth R
        Oct 23 '17 at 12:56





        Edited to remove the "no constructive feedback" bit. That was not clear from your original post. The rest of my answer still stands.

        – Seth R
        Oct 23 '17 at 12:56











        3















        What would you make of this; why you think my language was unprofessional?




        So ... here's the deal:




        • You are the team lead; that means that you are supposed to build up the team, not beat them down.


        • The code is the developer's work; calling it garbage in writing in front of their peers is a heavy blow.



        Okay, that's the part which directly addresses the question. Okay to stop reading now. Next part ... what might you have done differently?




        • Keep the detailed suggestions, those are good


        • In the 'overall' section, say that this file isn't following best practices per detailed notes below


        • Have a breakout, either 1-1 with the guy, or a training session with the team to go through best practices. In other words, turn this mistake into an opportunity



        Just my two bits, yo.






        share|improve this answer




























          3















          What would you make of this; why you think my language was unprofessional?




          So ... here's the deal:




          • You are the team lead; that means that you are supposed to build up the team, not beat them down.


          • The code is the developer's work; calling it garbage in writing in front of their peers is a heavy blow.



          Okay, that's the part which directly addresses the question. Okay to stop reading now. Next part ... what might you have done differently?




          • Keep the detailed suggestions, those are good


          • In the 'overall' section, say that this file isn't following best practices per detailed notes below


          • Have a breakout, either 1-1 with the guy, or a training session with the team to go through best practices. In other words, turn this mistake into an opportunity



          Just my two bits, yo.






          share|improve this answer


























            3












            3








            3








            What would you make of this; why you think my language was unprofessional?




            So ... here's the deal:




            • You are the team lead; that means that you are supposed to build up the team, not beat them down.


            • The code is the developer's work; calling it garbage in writing in front of their peers is a heavy blow.



            Okay, that's the part which directly addresses the question. Okay to stop reading now. Next part ... what might you have done differently?




            • Keep the detailed suggestions, those are good


            • In the 'overall' section, say that this file isn't following best practices per detailed notes below


            • Have a breakout, either 1-1 with the guy, or a training session with the team to go through best practices. In other words, turn this mistake into an opportunity



            Just my two bits, yo.






            share|improve this answer














            What would you make of this; why you think my language was unprofessional?




            So ... here's the deal:




            • You are the team lead; that means that you are supposed to build up the team, not beat them down.


            • The code is the developer's work; calling it garbage in writing in front of their peers is a heavy blow.



            Okay, that's the part which directly addresses the question. Okay to stop reading now. Next part ... what might you have done differently?




            • Keep the detailed suggestions, those are good


            • In the 'overall' section, say that this file isn't following best practices per detailed notes below


            • Have a breakout, either 1-1 with the guy, or a training session with the team to go through best practices. In other words, turn this mistake into an opportunity



            Just my two bits, yo.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Oct 20 '17 at 22:51









            akaioiakaioi

            1,67617




            1,67617























                2














                This is very dependent on company culture. However, there are some general things to consider. There are mainly two reasons why calling code garbage might be considered unprofessional:




                1. It does - by itself - not provide insight as to what is bad or how to improve the situation, it just gives that code a (low) value, while typically you want to look at its advantages and disadvantages rather than consider it generally bad or good

                2. it may be offensive to a colleague, i.e. the person who wrote that code


                As for 1), that can be alleviated by providing concrete details as to what you think is bad and how to fix it. Typically, there are reasons why things are as they are and it's not that someone just wanted to write garbage. The code might have been perfect for the job it was intended for when it was written, but the context changed.



                As for 2), if the code you refer to is a recent commit from a particular person, that person might feel offended. Especially if he had reasons to write something objectively bad, like time constraints, that you don't take into account. And often what is garbage to you is perfect for someone else, calling it garbage just brings emotions into what otherwise could have been a well founded objective discussion. On the other end of the spectrum - if you take over an old large codebase that no one in the current team already considers "his code", it's pretty impersonal to call that big pile of probably convoluted code garbage (still doesn't address 1. though and you better back it up).
                Another issue is how you deliver any line containing expletives. The more emotionally loaded (and accusing) the worse, the more light-hearted, perhaps ironically aimed at yourself the more acceptable.



                So, if you are unsure, never call something garbage. If you want to test the waters, start using such valuing language for code that no one feels attached to (or your own code) and back yourself up with some details as to what you don't like.



                Whether people react offended and consider you (un)professional solely based on the words you use depends on the company culture. However, universally people will judge you based on how you use your words. If you just call stuff garbage without arguing your point of view, without accepting another developers argument as to why the code is fine as it is, people will think you are unreasonable and judgemental. And thus unprofessional. Especially if you explicitly or implicitly blame your co-workers for what you consider bad code.
                This is true no matter whether you use expletives or not, i.e. saying "this code is just bad", without any further comments, is unprofessional as well, but the more emotionally loaded words you use (and the more emotionally loaded you present them), the worse this gets.



                That being said, if you use expletive words in a reasonable fashion without directing them at your co-workers but rather as a means to give weight to your impressions or vent off some frustration, it can be totally fine. I've worked in an environment where the tone was very direct, playful and the sentences often full of expletives. But typically any such expletive was directed at some technical problems, the way some frameworks behaved unpredictably or even at one's own code ("Look at the garbage I did there, it's incredible that I wrote that stuff!"). On the other hand, I've rarely seen a team working so professionally - respecting each other, always looking how to fix the problem and not how to distribute the blame.



                TLDR: using expletives to describe code isn't necessarily unprofessional in itself. In some cultural contexts, however, any use of expletives is considered unprofessional/offensive. It is your job to figure out whether this is the case in your environment before using them, not doing this first is unprofessional.
                If (another person's) code is absolutely valued, using expletives or not, without a) giving details and b) without separating that criticism from the person and c) without knowing that the other person can separate criticism of their code and criticism of themselves, this is unprofessional as well.
                In your current company, people are obviously not accustomed to any swearing / expletives and consider it bad behaviour - so don't do it.






                share|improve this answer






























                  2














                  This is very dependent on company culture. However, there are some general things to consider. There are mainly two reasons why calling code garbage might be considered unprofessional:




                  1. It does - by itself - not provide insight as to what is bad or how to improve the situation, it just gives that code a (low) value, while typically you want to look at its advantages and disadvantages rather than consider it generally bad or good

                  2. it may be offensive to a colleague, i.e. the person who wrote that code


                  As for 1), that can be alleviated by providing concrete details as to what you think is bad and how to fix it. Typically, there are reasons why things are as they are and it's not that someone just wanted to write garbage. The code might have been perfect for the job it was intended for when it was written, but the context changed.



                  As for 2), if the code you refer to is a recent commit from a particular person, that person might feel offended. Especially if he had reasons to write something objectively bad, like time constraints, that you don't take into account. And often what is garbage to you is perfect for someone else, calling it garbage just brings emotions into what otherwise could have been a well founded objective discussion. On the other end of the spectrum - if you take over an old large codebase that no one in the current team already considers "his code", it's pretty impersonal to call that big pile of probably convoluted code garbage (still doesn't address 1. though and you better back it up).
                  Another issue is how you deliver any line containing expletives. The more emotionally loaded (and accusing) the worse, the more light-hearted, perhaps ironically aimed at yourself the more acceptable.



                  So, if you are unsure, never call something garbage. If you want to test the waters, start using such valuing language for code that no one feels attached to (or your own code) and back yourself up with some details as to what you don't like.



                  Whether people react offended and consider you (un)professional solely based on the words you use depends on the company culture. However, universally people will judge you based on how you use your words. If you just call stuff garbage without arguing your point of view, without accepting another developers argument as to why the code is fine as it is, people will think you are unreasonable and judgemental. And thus unprofessional. Especially if you explicitly or implicitly blame your co-workers for what you consider bad code.
                  This is true no matter whether you use expletives or not, i.e. saying "this code is just bad", without any further comments, is unprofessional as well, but the more emotionally loaded words you use (and the more emotionally loaded you present them), the worse this gets.



                  That being said, if you use expletive words in a reasonable fashion without directing them at your co-workers but rather as a means to give weight to your impressions or vent off some frustration, it can be totally fine. I've worked in an environment where the tone was very direct, playful and the sentences often full of expletives. But typically any such expletive was directed at some technical problems, the way some frameworks behaved unpredictably or even at one's own code ("Look at the garbage I did there, it's incredible that I wrote that stuff!"). On the other hand, I've rarely seen a team working so professionally - respecting each other, always looking how to fix the problem and not how to distribute the blame.



                  TLDR: using expletives to describe code isn't necessarily unprofessional in itself. In some cultural contexts, however, any use of expletives is considered unprofessional/offensive. It is your job to figure out whether this is the case in your environment before using them, not doing this first is unprofessional.
                  If (another person's) code is absolutely valued, using expletives or not, without a) giving details and b) without separating that criticism from the person and c) without knowing that the other person can separate criticism of their code and criticism of themselves, this is unprofessional as well.
                  In your current company, people are obviously not accustomed to any swearing / expletives and consider it bad behaviour - so don't do it.






                  share|improve this answer




























                    2












                    2








                    2







                    This is very dependent on company culture. However, there are some general things to consider. There are mainly two reasons why calling code garbage might be considered unprofessional:




                    1. It does - by itself - not provide insight as to what is bad or how to improve the situation, it just gives that code a (low) value, while typically you want to look at its advantages and disadvantages rather than consider it generally bad or good

                    2. it may be offensive to a colleague, i.e. the person who wrote that code


                    As for 1), that can be alleviated by providing concrete details as to what you think is bad and how to fix it. Typically, there are reasons why things are as they are and it's not that someone just wanted to write garbage. The code might have been perfect for the job it was intended for when it was written, but the context changed.



                    As for 2), if the code you refer to is a recent commit from a particular person, that person might feel offended. Especially if he had reasons to write something objectively bad, like time constraints, that you don't take into account. And often what is garbage to you is perfect for someone else, calling it garbage just brings emotions into what otherwise could have been a well founded objective discussion. On the other end of the spectrum - if you take over an old large codebase that no one in the current team already considers "his code", it's pretty impersonal to call that big pile of probably convoluted code garbage (still doesn't address 1. though and you better back it up).
                    Another issue is how you deliver any line containing expletives. The more emotionally loaded (and accusing) the worse, the more light-hearted, perhaps ironically aimed at yourself the more acceptable.



                    So, if you are unsure, never call something garbage. If you want to test the waters, start using such valuing language for code that no one feels attached to (or your own code) and back yourself up with some details as to what you don't like.



                    Whether people react offended and consider you (un)professional solely based on the words you use depends on the company culture. However, universally people will judge you based on how you use your words. If you just call stuff garbage without arguing your point of view, without accepting another developers argument as to why the code is fine as it is, people will think you are unreasonable and judgemental. And thus unprofessional. Especially if you explicitly or implicitly blame your co-workers for what you consider bad code.
                    This is true no matter whether you use expletives or not, i.e. saying "this code is just bad", without any further comments, is unprofessional as well, but the more emotionally loaded words you use (and the more emotionally loaded you present them), the worse this gets.



                    That being said, if you use expletive words in a reasonable fashion without directing them at your co-workers but rather as a means to give weight to your impressions or vent off some frustration, it can be totally fine. I've worked in an environment where the tone was very direct, playful and the sentences often full of expletives. But typically any such expletive was directed at some technical problems, the way some frameworks behaved unpredictably or even at one's own code ("Look at the garbage I did there, it's incredible that I wrote that stuff!"). On the other hand, I've rarely seen a team working so professionally - respecting each other, always looking how to fix the problem and not how to distribute the blame.



                    TLDR: using expletives to describe code isn't necessarily unprofessional in itself. In some cultural contexts, however, any use of expletives is considered unprofessional/offensive. It is your job to figure out whether this is the case in your environment before using them, not doing this first is unprofessional.
                    If (another person's) code is absolutely valued, using expletives or not, without a) giving details and b) without separating that criticism from the person and c) without knowing that the other person can separate criticism of their code and criticism of themselves, this is unprofessional as well.
                    In your current company, people are obviously not accustomed to any swearing / expletives and consider it bad behaviour - so don't do it.






                    share|improve this answer















                    This is very dependent on company culture. However, there are some general things to consider. There are mainly two reasons why calling code garbage might be considered unprofessional:




                    1. It does - by itself - not provide insight as to what is bad or how to improve the situation, it just gives that code a (low) value, while typically you want to look at its advantages and disadvantages rather than consider it generally bad or good

                    2. it may be offensive to a colleague, i.e. the person who wrote that code


                    As for 1), that can be alleviated by providing concrete details as to what you think is bad and how to fix it. Typically, there are reasons why things are as they are and it's not that someone just wanted to write garbage. The code might have been perfect for the job it was intended for when it was written, but the context changed.



                    As for 2), if the code you refer to is a recent commit from a particular person, that person might feel offended. Especially if he had reasons to write something objectively bad, like time constraints, that you don't take into account. And often what is garbage to you is perfect for someone else, calling it garbage just brings emotions into what otherwise could have been a well founded objective discussion. On the other end of the spectrum - if you take over an old large codebase that no one in the current team already considers "his code", it's pretty impersonal to call that big pile of probably convoluted code garbage (still doesn't address 1. though and you better back it up).
                    Another issue is how you deliver any line containing expletives. The more emotionally loaded (and accusing) the worse, the more light-hearted, perhaps ironically aimed at yourself the more acceptable.



                    So, if you are unsure, never call something garbage. If you want to test the waters, start using such valuing language for code that no one feels attached to (or your own code) and back yourself up with some details as to what you don't like.



                    Whether people react offended and consider you (un)professional solely based on the words you use depends on the company culture. However, universally people will judge you based on how you use your words. If you just call stuff garbage without arguing your point of view, without accepting another developers argument as to why the code is fine as it is, people will think you are unreasonable and judgemental. And thus unprofessional. Especially if you explicitly or implicitly blame your co-workers for what you consider bad code.
                    This is true no matter whether you use expletives or not, i.e. saying "this code is just bad", without any further comments, is unprofessional as well, but the more emotionally loaded words you use (and the more emotionally loaded you present them), the worse this gets.



                    That being said, if you use expletive words in a reasonable fashion without directing them at your co-workers but rather as a means to give weight to your impressions or vent off some frustration, it can be totally fine. I've worked in an environment where the tone was very direct, playful and the sentences often full of expletives. But typically any such expletive was directed at some technical problems, the way some frameworks behaved unpredictably or even at one's own code ("Look at the garbage I did there, it's incredible that I wrote that stuff!"). On the other hand, I've rarely seen a team working so professionally - respecting each other, always looking how to fix the problem and not how to distribute the blame.



                    TLDR: using expletives to describe code isn't necessarily unprofessional in itself. In some cultural contexts, however, any use of expletives is considered unprofessional/offensive. It is your job to figure out whether this is the case in your environment before using them, not doing this first is unprofessional.
                    If (another person's) code is absolutely valued, using expletives or not, without a) giving details and b) without separating that criticism from the person and c) without knowing that the other person can separate criticism of their code and criticism of themselves, this is unprofessional as well.
                    In your current company, people are obviously not accustomed to any swearing / expletives and consider it bad behaviour - so don't do it.







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited Nov 21 '17 at 21:52









                    Lilienthal

                    55.5k36188229




                    55.5k36188229










                    answered Oct 20 '17 at 22:50









                    DarkwingDarkwing

                    1,959513




                    1,959513























                        0














                        The truth is that most software is garbage. The lie is pretending otherwise, like the posts above.





                        share








                        New contributor




                        user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                        Check out our Code of Conduct.

























                          0














                          The truth is that most software is garbage. The lie is pretending otherwise, like the posts above.





                          share








                          New contributor




                          user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.























                            0












                            0








                            0







                            The truth is that most software is garbage. The lie is pretending otherwise, like the posts above.





                            share








                            New contributor




                            user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.










                            The truth is that most software is garbage. The lie is pretending otherwise, like the posts above.






                            share








                            New contributor




                            user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.








                            share


                            share






                            New contributor




                            user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.









                            answered 3 mins ago









                            user99691user99691

                            1




                            1




                            New contributor




                            user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.





                            New contributor





                            user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.






                            user99691 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.






























                                draft saved

                                draft discarded




















































                                Thanks for contributing an answer to The Workplace Stack Exchange!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid



                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.


                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function () {
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f101230%2fis-it-unprofessional-to-call-code-garbage%23new-answer', 'question_page');
                                }
                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown











                                Popular posts from this blog

                                Statuo de Libereco

                                Tanganjiko

                                Liste der Baudenkmäler in Enneberg