One of my colleagues told everyone at work that her final year project, an Android mobile app, has been approved. I don't think highly of this project as it is a copy of another app already published in the Play Store. I have seen the code because she asked for my help several times, and I noticed that the code doesn't follow good coding and UI practices. I advised her to look at some best practices and UI books, but unfortunately, I was ignored.

I think her project advisor should not have even approved the project, but it has been approved with a score of 7/10. All the other colleagues are complimenting her for it. This has put me in a awkward situation, and I am faced with this question: Is it advised to congratulate a colleague for an achievement that I don't think is worth it?

My point of view is almost the same as Professor Fletcher, from the Whiplash movie:

There are no two words in the English language more harmful than "good job".

It is even worse when the job is actually not good. If I congratulate her for it, there's a high chance she will do that again. She would also be less receptive to feedback when someone points out other (better!) ways to do things.


On the same day I posted this question, we had a team lunch, and I had the opportunity to congratulate her for finally completing such a long task. To all those who contributed without expressing any of those feelings against my way of thinking, I'm really thankful, since this was a lesson I'll remember for my entire career. To those who didn't, I apologize for impacting your day.

  • 75
    Code written to support a thesis is very often "terrible" by industry standards. But it doesn't necessarily need to conform to best practices; the point of the code is to support the research, and anything else on top of that (like a halfway reasonable UI) is time not being spent on research, so it gets left behind. Ultimately it's not that important (academically) whether the code is good looking, efficient, or anything else, so long as it supports the research. Jul 2, 2015 at 1:10
  • 4
    Was the "thesis" really just this app? Or was there a body of research and documentation for a hypothesis that this app was created to support/provide data for?
    – HorusKol
    Jul 2, 2015 at 5:04
  • 9
    @MichaelHampton you are correct, this is the real issue that the app is not the thesis. When I did my degree, the code wasn't even a marked deliverable. The marks were awarded solely on the basis of a 10k-word document describing the work. I put a lot of time into the document and little into the code, and got a good mark and some nonworking code. The questioner might form a different opinion if he read the thesis itself, along with the university's marking advice.
    – pjc50
    Jul 2, 2015 at 10:51
  • 26
    I don't mean to be rude but I'm tempted to downvote for the ranty quality of this question. Perhaps an edit is in order - you could shorten this down to "A collegue recently graduated with a degree but I'm not sure whether to congratulate her because of the poor quality of her thesis" plus some context.
    – nurgle
    Jul 2, 2015 at 14:23
  • 6
    You can congratulate someone for having a video get a million hits without feeling like you just handed them an Academy Award.
    – user8365
    Jan 28, 2016 at 19:08

11 Answers 11


Finishing a degree is an accomplishment that comprises far more than just the final project or thesis. Couldn't you find it within yourself to congratulate her for her overall accomplishment? "Congratulations!" doesn't imply approval of the work. It's just something nice to say to someone who has accomplished a big goal.

A lot of student projects would never pass muster in a business setting. The reason is there is no accountability for the work beyond the assignment. They have no real users to tell you they can't figure out how it works, and they don't have to be responsible for their poor designs and code at 2am because a bug has to be fixed before the next morning. But don't worry, most new grads learn quickly once they begin to be held to a higher degree of accountability for their (and others') work.

Also, there are much more harmful things you could say to a person (in any language) than "good job." If you want, you can reserve that accolade for those who you feel deserve it. But don't hold back when it is deserved. For those whose work doesn't meet your criteria for a "good job," a simple "congratulations" or "I am happy for you" can suffice.

  • 29
    Finally. An answer without any sign of rudeness or disrespect caused by the way i think. Thanks for expressing your opinions while also being transparent doing it. Jul 1, 2015 at 12:50
  • 43
    "The reason is there is no accountability for the work beyond the assignment." The other reason is that the time schedule is often much less than a comparable project would need to get to the production level and that students typically have several classes simultaneously, not just one. Also, particularly in the case of a thesis (I'm thinking a traditional, graduate-level thesis, here, not just an undergraduate project,) the point is usually the research, not the code itself. Research code is rarely production quality, even from Ph.D.s.
    – reirab
    Jul 1, 2015 at 16:18
  • 7
    A research project is more like a proof of concept than like an industrial product development.
    – gerrit
    Jul 2, 2015 at 9:00
  • 27
    @reirab Hell, production code is rarely production quality.
    – corsiKa
    Jul 3, 2015 at 16:41
  • 5
    @neminem: that's as it should be, though. Computer science and software development are two different disciplines. Computer scientists should tinker with sort algorithms, at least if they have grounds to think they can improve them. It's just that you weren't hired as a computer scientist, you were hired as a software developer. There may be insufficient degree-level vocational qualifications in software development, but that's not really the fault of computer scientists, any more than it would be the fault of mathematicians if there were no good degrees in accountancy ;-) Jul 3, 2015 at 23:18

is it advised to congratulate a colleague that has obtained a BSc in Computer Science even if i think that her thesis is just (sorry for the words) stupid and useless?

Yes, that is advisable.

In my part of the world, this would just be a common courtesy.

Saying a simple "Congratulations!" doesn't take much effort on your part. It doesn't imply that her thesis lives up to your lofty standards. It doesn't mean her code or UI meet your approval. It recognizes that she achieved a milestone that was important to her - nothing more.

It just means you are a decent person who understands some of the social niceties in the workplace.

The same day i posted this question, we had a company's lunch and i had the opportunity to congratulate her for finally concluding such a long task.

Nice! A good solution for your problem.

  • 43
    +1 Congratulations ≠ good job. The former is about being a nice human, the latter can be saved for the day the OP's inner professional is happy.
    – Pavel
    Jul 1, 2015 at 14:56
  • 4
    +1 also (even with voting closed!) Consider what you would minimally expect to receive, or what you would write on a card passed around at the office. Etiquette would dictate a short, polite, and supportive yet non-affirming comment: I'd go with "Congratulations on your accomplishment!" Jul 1, 2015 at 18:15
  • 4
    @JasonInVegas Voting is closed? Huh? If you mean an answer was selected by the op as helpful to him/her, that does NOT close voting. If an answer (with 0 or with 100 votes) is useful to you, then up-vote it. Period.
    – CGCampbell
    Jul 2, 2015 at 14:52
  • 1
    Yes, yes, of course....my 'voting' comment referred only to the OP selection....everyone keep clicking those arrows at will ! Jul 20, 2015 at 17:20

If this is really the first time in your entire life you've encountered someone who is very proud and happy about something you think is unworthy, you have led an unusual life so far. It's a useful life skill to learn how to acknowledge people's emotions (in a friendly and positive way) without endorsing their beliefs. They could have completed some work that you think is awful (but that paid professional evaluators gave 7/10 to), or be having a baby when you think they're too young/poor/stupid, or be getting married to someone you think is a loser, or taking a job you think they won't be good at.

Saying "wow! great news!" or "congratulations!" or "that's wonderful for you!" is not the same as saying "I loved that work and I think it actually deserved 10/10" or "you'll be the best mother ever!" or "I knew you guys should be married and I'm sure it will last 60 years!" It's basic human politeness to at least say some obligatory words, and it will make your life much happier if you learn to go a little beyond that.

The key is not to lie, and to focus on the part that really matters in the interaction, which is the emotions of the person you're congratulating. They actually don't want to hear "your project was terrific and you totally deserved 7/10." They have that validation from the university already. They want to hear "completing your degree is a big deal and you are right to be happy about it. I share your joy because we're part of a team." I mean you don't say that, you would sound like a robot, but you choose sentences that are about their feelings, not the facts of the situation or your assessment of whether the feelings are justified or not.

Try these:

  • great news!
  • I bet you're thrilled!
  • how are you celebrating?
  • have you told everyone yet?
  • this is so exciting!
  • congratulations!

You don't need to say "well done", "good job", "a totally well deserved honour for you" or "I'm so proud of you" and nobody will notice whether you do or not. Save those phrases for the times you mean them.

  • 5
    +1 for "If this is really the first time in your entire life you've encountered someone who is very proud and happy about something you think is unworthy, you have led an unusual life so far" , and I'd add another +5 for everything else if I could. Jul 3, 2015 at 0:23
  • @Chan-HoSuh You could award a bounty to this reply if you wanted.
    – cst1992
    Jan 28, 2016 at 10:45

I want to give some of my personal experience on this.

The final product doesn't necessarily reflect the work/time/energy required to get that piece of paper. For some people, simply getting there involves fighting bureaucracy, poor advising/leadership from faculty, time sacrifices, or otherwise.

I feel very similar to my thesis as you describe your colleagues. It's not great. It's not revolutionary. It's probably not even unique anymore since it's taking years for reasons outside my control.

But you know what? When I graduate with that degree, I am going to be incredibly happy that I am DONE with that saga of my life. It has been hell trying to deal with my adviser over the past years (who as of yet hasn't gotten back to me in less than three months anytime I have needed feedback/guidance). That is far more meaningful to me than the quality of my work in the finished product. I have spent hours on this stupid project, knowing it is essentially meaningless to me, and still haven't had any "luck" in finishing. And have had to fight the system the entire way.

When I finish, it won't be a triumphant conquering of an easy task. It'll be limping across a finish line at best. But you know what? I'm going to finish, dammit.

If a coworker basically thumbs their nose at me for not having a "quality thesis" it will be something that bothers me. Not because you dislike my work, but because the quality work was not the important part in my mind. The completed work is going to be the result of hours of frustration and dealing with a terribly annoying situation. While for you the distinction is clear it won't be for her or anyone else.

Some people may not care if you ignore them, but others definitely will. If your coworker took 9 years to finish I suspect her situation is more similar to mine than "normal."

In light of this, I would strongly suggest simply acknowledging future successes towards the work and time aspect that went into it. "Wow! That must have been a lot of work - congratulations! Must be nice to be finished!"

  • 4
    A late but well considered answer :)
    – Jane S
    Jul 1, 2015 at 21:09

The other answers don't address some issues about the thesis I'd like to mention.

At a lot of schools a senior/final year thesis/seminar/project/whatever name they assign it is something that must be done to graduate. However, for many students (myself included) it is just one more annoyance on the way to graduation. When and where I did my undergraduate work, you only got one credit toward graduation for your project (while most semester long classes got you three credits), even though you were expected to work on the project for most of both semesters of your final year, while putting in much more work than you would for most three credit courses. Futhermore, prior to my final year, no one completing a degree in my department had ever received an A (top grade) on their senior project. So, my strategy was to pick a simple project of interest to me and do the minimum to get a passing grade and get my diploma. I was fortunate enough to get a B (and others in my graduating class actually did get A's), but I knew the project was nothing great. However, I had my diploma and that's what mattered. It's quite possible your colleague had a similar point of view and might even acknowledge that if asked; not that I recommend asking about it.

As others have said here, you can congratulate your co-worker without directly discussing her final project. If she brings it up, I'd think it's likely she'd be expressing gratitude for your help, in which case all you need to do is say something like "You're welcome".

At this point, it might have been noticed that you didn't offer congratulations. I'd recommend going to her and saying something like "Congratulations on finishing your degree. I'm sorry I didn't say so earlier, my mind was elsewhere."

  • 2
    +1 As a college student, I'm getting to the point where I'm so busy, I have to cut corners to get everything I need to done. It's just not possible or realistic for college students to do everything perfectly, and selecting the least important projects to ignore is an important skill. (I'm a graduate student, so it's more severe for me now than it was in undergraduate, but I think my point still stands.)
    – Kevin
    Jul 2, 2015 at 17:32

Life is short, pick your battles.

Spend a couple of minutes to congratulate her, have some smalltalk (optional), and forget about it. Her thesis, whether great or rubbish, is not of any importance to you. Don't waste your time being upset about it.

Remember there are people forming perceptions about you every moment. Even though you may be completely correct in your criticism, if you do anything other than following common social norms, you will be perceived as an obnoxious person. I wouldn't advise ruining your reputation over such an unimportant issue.

  • 2
    While you arguably may be making good points, can you also answer the question? How should this person behave in this situation? Also, do you think it's possible to edit the post to be less inflammatory? Remember, our goal on Stack Exchange is to teach not just tell. Not everyone has the same life experiences that we do. Hope this helps.
    – jmort253
    Jul 4, 2015 at 15:42
  • 2
    In person, with people who know you and who you know, meaning is much easier to convey. Without body language, facial expressions, volume, tone, or context, it's hard to convey the almost 93% of communication that happens outside of wording. It's not that your points are bad, just I'd suggest wording it like you would a professional article you're going to publish. At minimum, I'd suggest explaining the how part. It's not easy for everyone to "let go" so to speak, so maybe you can offer some constructive coaching to help the OP get from point A to point B. Hope this helps.
    – jmort253
    Jul 4, 2015 at 16:16
  • 2
    I am not too concerned. It is good advice, but if we can make something great then we have truly accomplished something that will help others and be well-received for years to come. This is the goal of our site. Cheers.
    – jmort253
    Jul 4, 2015 at 17:03

Since this forum is about professional conduct in the workplace, I feel it's appropriate to comment on your language and perspective and how it would reflect upon you in the workplace.

You repeatedly use language that is dismissive and subjective about another's work as if it were objective.

You call your colleague's work

  • stupid
  • useless
  • horrible
  • actually not good

You refer to your colleague's work as a "thesis", and that they don't deserve it.

None of this represents a professional way to refer to a colleague's work. It's destructive criticism. It also completely fails to take into account that, according to an accredited certifying body (the university), your colleague satisfied the examiners that they deserved to be awarded a BSc. It would be quite arrogant for you to believe that you know better.

You're basically asking how to get away with not congratulating someone on completing their degree.

My answer is this: reassess the problem and treat your colleagues with respect and don't denigrate their work is such a callous way.

  • 2
    Well, i was professional enough when i first thought of asking here what i should've done. And yes, i would rather call his work all of these words instead of lying about it. Jul 2, 2015 at 20:30
  • 2
    I think the OP's dismissing was not (overly) subjective. He said it viloated best practices (as given in books) and claimed that the thesis resp. app was plagiarized, which implies a factual observation. Therefore, I would not say that "None of this is [sic] represents a professional way to refer to a colleague's work". Quite to the contrary, these are professional criteria which the work fails. But I strongly feel, as others do, that (1) one should separate this assessment from the social aspect; and (2) professional standards may not be fully adequate for a thesis. Jul 3, 2015 at 11:23
  • This isn't a forum for constructive criticism, because it's not directed at the person, so it's impossible to give constructive criticism. Additionally the argument from authority (it must be good because it was graded 7/10!) is obviously not logical. Finally: the OP wasn't being callous; you can't denigrate an anonymous person; and the OP was never talking about getting away with anything. Other than that, good job :)
    – Rob Grant
    Jul 3, 2015 at 13:51
  • From Webster: "thesis - a long piece of writing on a particular subject that is done to earn a degree at a university". What word do you think should be used instead?
    – GreenMatt
    Jul 5, 2015 at 13:00
  • 1
    @greenmatt: my point regarding "thesis" was the OP's scare quotes.
    – Dancrumb
    Jul 5, 2015 at 13:41

It is of critical importance in the workplace to learn to get along with everyone even people you personally don't like or disapprove of. This is a job skill you clearly need to develop or people will stop wanting to work with you no matter how good your technical skills are.

Technical skills are only about 10%-20% of what you need to be successful in the workplace. Persistence and doing what needs to be done even when it isn't fun are about 40-50% of what you need and people skills are the rest. People skills includes basic politeness to every single person in the the workplace including the janitor, the admin assistant, bosses, older or younger people, people of other genders, races, religions or sexual orientations, people who you think are not as good as you, etc. People skills also include having an attitude that is helpful not harmful, taking actions that make people want to help you and work with you such as helping others (not just being critical of them), being friendly, learning to sell your ideas, playing office politics, etc.

To fail to congratulate her is petty, it generates bad feelings and it makes you look like a jerk. It makes it harder to work with the person in the future. The only thing is accomplishes is to reinforce your feelings of superiority. That is a negative accomplishment because feeling superior and acting that way makes other people avoid you over time. People won't want to talk to you, so you won't get told information that would help you. People won't want to be on a team with you, so you will get assigned gradually to less and less important projects.

Consider if you were the person who just graduated, would you want people to congratulate you? Then follow the Golden Rule and do the same for her. Being nice to people doen't mean you approve of everything they do.

  • 5
    And one day, a few years from now, that person will be in a situation where they can make a situation very, very difficult or very, very easy for you without any effort of their own. And then they may remember you as the one who thought their thesis was so worthless that you didn't even congratulate them.
    – gnasher729
    Jul 1, 2015 at 16:07
  • 1
    Consider if you were the person who just graduated, would you want people to congratulate you? - no?
    – Davor
    Jul 2, 2015 at 10:44

Having written software for my own BSc dissertation in Computer Systems Engineering, I can offer an insight into the other side of this.

You seem to be under the impression that because the software was low-quality, she doesn't deserve praise. This implies that you also don't think she deserves 7/10, or possibly her BSc.

For my dissertation, I wrote an application knowing at the time that I was guilty of all the criticisms you have of her code:

  • very similar software existed
  • my code was terrible
  • I'd had help and advice (from my supervisor)

None of those impinged on the reason I wrote it. The dissertation was not to produce quality software, or to do something novel in the application; it was to explore a hypothesis. I needed something that I could use freely, modify if necessary, and inspect the internal workings. Self-built software fit the bill, so I based it on what was already out there to save time.

The software was pretty terrible. The code was messy, it was badly architected, it was full of horrible SOLID violations despite being written in between lectures on how to write SOLID code. This isn't because I'm a bad programmer (I got 1st-class honours in the programming module of the course). This isn't because I wasn't trying (I worked harder than I had at any point in my previous 5 years of uni - or have since, in some regards, working all day and late into the night, every day). This wasn't because I didn't care (this was my second shot at a degree, and I had a lot riding on it, including a career and a partner to support). The poor quality was because it was something I'd never tried before, I was learning how to do it as I went, and I was pressed for time, so once I found a way that worked there was no time to go back and make it cleaner because I had more code to write, experiments to run, and a target of at least 70 pages to write on the whole thing. Every time I look back at that code, I find more ways that I could improve it. I knew it was bad while writing it; now that I've graduated and have been working in the industry for a little while, it's almost painful to read. But that doesn't matter. In the end, it got me the answers I needed, and I got a decent grade on the strength of those answers and how I analysed them.

You say that she got 70%, as assessed by professors who are experienced and educated in a relevant field. At both of the universities I attended, and as far as I know, most universities in my country, 70% and above is 1st-class honours, which very few students achieve.

She's worked hard, for a long time, she achieved what she set out to do, and she's been judged by very qualified people to have done well at it.

To me, that sounds like she deserves to be congratulated.


[ Edit: The OP has explained that they have in fact read the thesis. See this revision of the question for the revision I was responding to. ]

A mobile app is not a thesis, and nothing you wrote indicates you actually understand what her thesis is about (or what a thesis even is!) So not only should you congratulate her on her achievement, you should probably show her the courtesy of being interested and asking her what her thesis was about.

If the app is uninteresting, the UI dull, and the code messy that is all evidence that her thesis probably does not involve any of those things! Without knowing any details, here are some guesses for what it could involve instead:

  • the app publishing process (how long does it take, the steps involved, does common advice found on the internet actually help getting apps approved etc)
  • applying and evaluating some CS pattern or anti-pattern
  • reverse engineering an existing app in order to clone it
  • testing the performance of some alternative algorithms
  • the ease of learning and using some framework based solely on its official documentation vs external resources
  • the social factors involved in working in her industry
  • 3
    The OP is misusing the word thesis. What he describes is more a sort of final project that is common in industry-oriented Bachelor degrees. It's supposed to be a culmination of a three-year education and simulate an actual product development cycle from start to finish. The fact that it's a simulation and not ever expected to be production-quality was lost on the OP and prompted this question.
    – Lilienthal
    Jul 2, 2015 at 10:34
  • 2
    @Lilienthal Even so, the purpose of the project may be along the lines of something other than producing an app for its own sake, and it would surely involve a write-up. Jul 2, 2015 at 11:23
  • Agreed. Instititutions and fields will implement these differently. I know that in Belgium and the Netherlands (following the Bologna Process) practically oriented bachelor degrees generally include such a final project that doubles as a form of internship: students are expected to build a project for an actual company and present their project at the conclusion, usually with both a written and oral component. For BSc degrees in Computer Science the write-up part generally won't be very impressive as the produced code is the largest deliverable along with the presentation (and lessons-learned)
    – Lilienthal
    Jul 2, 2015 at 16:08
  • it would surely involve a write-up hence the OP saying it was around 80 pages. The word thesis often gets used for final-year BSc projects IME. And most of your guesses (except the first) wouldn't involve actually making an app, and the first guess sounds like an amazingly easy final year project. Probably best to stick to the info the OP's given?
    – Rob Grant
    Jul 3, 2015 at 13:55
  • @RobertGrant The OP only gave that information after I posted. When I wrote this there was no indication the OP had any idea what a thesis actually was! As to my guesses, they definitely could involve creating an app. Applying theoretical questions to practical projects is classic research material. Jul 3, 2015 at 23:49

is it advised to congratulate a colleague that has obtained a BSc in Computer Science even if i think that her thesis is just (sorry for the words) stupid and useless?

Yes, and as someone who also wrote an Android app (two, infact) as part of my degree, I would also advise you to swallow your pride.

So what if existing apps exist on the Play Store? She still had to write her own code, test it and make it functional. That is hard work for a single student to do. Many of these competing apps have entire teams behind them.

So what if it doesn't strictly follow good code or UI practices? It was clearly usable and stable enough to pass muster, and that is what is important for her degree. Besides, for all we know, your colleague may have been starting from zero or near-zero Android programming knowledge. To go from zero to a fully functioning app is not to be sniffed at.

You must log in to answer this question.

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