-4

LE: This is not a duplicate of What can I do to make a coworkers lack of effort more visible because: . I think the other question only addresses part of my situation (the subjects of that question are a consultant and a senior, we are interns; it is also about his attitude, not only skill). I also want to know how quiting would affect further job search and how only a month long internship would look in my CV.

I am a software engineering intern for a well-known company since 3 weeks ago. From the first day, I was assigned to work on the same project with another intern, who was there about a month before I was. The signing of papers and having all my tools prepared took me about 1 and a half day so the second day evening I discussed with my collegue about what he did up to now and what his ideas were on the subject. It turned out that he didn't advance much, and that could be clearly seen when he sent me his code. Naturally, I thought that the project is one of high difficulty (and it seemed so, at first sight). The manager has already divided the project into about 3-4 milestones for us and my collegue proposed that I do the more "difficult part" because it seemed that I have a stronger mathematical background (the project involves a lot of math, which I actually ejoy a lot) and he will prepare the input data.

All good, but during that week I noticed that he doesn't really do anything, besides chating on Facebook. Finally, he started to send me snippets of code on Skype asking me to "put that in main". There were no files, just copy pasted messages. It seemed rather strange to me so I asked him to make some functions for that code and use a versioning system (already prepared, I was using it). He refused to use the versioning system because "it causes problems with merging code". But somehow he did agree to write some functions for that code. It turned out that his code was buggy and basically corrupting the heap (later I realised that happened because he can't tell the difference between bit and byte). Not that much of a problem if you ask me, after 2 hours of debugging I found the problem and replaced it myself. The problem was that JUST AFTER sending me the code he left for about an hour long coffee and he didn't even sent me everything, I had to complete part of the code myself by guessing what he was trying to do. Later I found that some other collegue (who is not even a software engineer, more an electronics one) wrote that piece of code for him.

The second week he worked NOTHING, with only me progressing the project. I felt that I need to talk with him but he couldn't listen and only said about "I can't adapt and he can" or how "I don't understand the programming language" or whatever..the point is he was attacking me. Anyway, at the end of the week I decided to talk to the manager and tell him about his laziness and poor technical qualities. He thanked me and had us 3 meet for a review on the progress of the subject, when he said that he is glad with the progress (95% or more done by me actually) and designated specific task to us, so that he has to work as well. He also explained to him that he has to use a versioning system.

All good, if you ask me. Another week passed in the same way. For Friday he took a vacancy day and left me to integrate his part of the code. When I opened his code it was like hell breaking loose: he had HUGE duplicate code, he had logic thinking errors, had extremely suboptimal code, made stupid mistakes (like while(variable) { ..code here..; variable = false}), had poor naming of variables, huge parts of code from Internet (in a bad fashion - you don't just copy paste..you have to adapt) and generally lacked more than superficial understanding of what he was doing there. The code was basically working by chance, on the only particular test he was running. He couldn't even read from files properly. By the end of the day I managed to fix most of his code, but I feel like I better rewrite it from scratch since it seems more like trying to fit a cube in a spherical hole.

Besides that he is very arrogant and immature, he seems like he is 15 years old. From what he is bragging I even understand that he argued with the interviews when getting hired. Oh, and he also leaves 1-2 hours earlier from work on a daily basis.

There are a lot of other examples but the bottom line is: he is immature, has no technical skill (trust me, NO SKILL - I am an undergradute teachign assistant and honestly I wouldn't give a passing grade to students with such poor skills), he is arrogant - all of these standing in my way. By comparison, out of the 900 lines of code, I wrote about 700 and fixed all of the other 200, let alone the difficulty of my lines. And out of the thinking I did 100%.

I don't know what to do anymore, really. I'll try to show the manager his code on Monday (the manager is very good at software engineering), but I don't like to look like I'm complaining all the time without good reason. I am not sure about quiting either, because I like the project I work on a lot (and all the departament). The collegues are amazing, very supportive, always helping and willing to teach others. The manager is amazing as well. The only problem is that I do the job of 2 people and that the other intern is an idiot - I can't stand the situation at all! I'd only use quiting as the last resort if the problem can't be solved in any other way, so do you have any ideas how to deal with the situation?

What should I do? Would only a month long internship in the CV affect me in a job search? Should I hide this from my CV? What about my chances with the company in the future.

All the best.

  • 2
    This rant is a duplicate of workplace.stackexchange.com/questions/23165/… – enderland Jul 21 '18 at 15:58
  • 2
    Thank you for pointing me to that link. I think it only addresses part of my situation (the subjects of that question are a consultant and a senior, we are interns; it is also about his attitude, not only skill). Nevertheless, your link does help. Thank you very much! – Lemon Chris Jul 21 '18 at 17:24
  • 2
    The question is too long. Could you shorten it? – Rui F Ribeiro Jul 22 '18 at 15:59
  • 1
    Possible duplicate of What can I do to make a coworkers lack of effort more visible? – mcknz Jul 22 '18 at 18:42
  • 1
    @LemonChris if you have multiple questions, it's best to break those out into separate posts. If you focus on one specific question your post will be shorter and you'll get more responses. – mcknz Jul 23 '18 at 17:05
13

You are playing well above your pay grade. Let your manager manage your colleague. An outcome like "the project got finished but wasn't great, one of the interns worked hard but the other was a nightmare" is common as dirt in this industry.

Do the tasks your manager has assigned to you. When you're out of tasks, go ask for more. When you can't do something because you're waiting on the colleague, let your manager know. When you get something from your colleague and it's unusably bad, ask your manager whether you should fix it up, or bounce it back explaining why you can't use it. Then ask what you should do next given that you can't do what you were planning to do (use the thing from the colleague.)

You seem to think that if you can't fix this other intern (or arrange for a firing) it will reflect poorly on you. Do you really think your manager is so terrible as not to see what you see? You've reported it, shown the code, the manager has already started dealing out tasks and telling the other intern to use source control, and so on. This is all the manager's job, not yours. Relax and do yours, keep your manager informed, and let the manager manage.

  • 2
    I am not interested in having him fired. I only want a fix. Anyway, your answer is great. I thought that I should solve problems myself and spare the manager dealing with 2 stupid interns, but it seems that my thinking is wrong. – Lemon Chris Jul 22 '18 at 10:47
6

Since you are using a versioning system: Fix one bug in his code and check the fix into the versioning system. Then fix another bug and check the fix into the versioning system. And so on. So when you need evidence you point your boss to the versioning system, which contains your name 99 times and his name once.

(In a professional environment with experienced developers you use a source code control system in a different way).

And consider that many companies use an internship as a very, very long interview. If that is the case in your company, then by the sounds of it you are passing the interview, and your colleague is not.

  • This. If you are using Git, a git blame on the last commit of the project will tell the lead everything he needs to know about who wrote the code. Most other vcs have similar functionality. – DanK Jul 22 '18 at 22:22
  • @DanK It would not show everything to the lead. Git blame only shows the last changes and author, but does not show code ownership. If I edit a huge service my collegue made and change one life, that is not a good metric to base an opinion of worth on. – M. Doe May 27 at 15:02
2
  • Inform you manager about the Verbatim copies of code from the Internet, and tell that you see a potential legal liability there
  • Explicitly state in commit messages which of his commits you fixed
  • Your manager listened to you once, so the next time a huge and messy commit comes which breaks something working and could have been caught by the test, you write an email to your coworker with the manager in CC stating that you need he should show you on his machine how he tested the code and how it works.
  • When he submitted something which breaks and leaves during the office hours, you go to the manager shortly after he left and ask him to locate your coworker, stating that you would prefer if the coworker helps integrating the code - state that you can do it alone, but it may take more time and state which of your tasks is delayed by this.
  • In case this continues, take notes over one week how much work integrating your coworkers mess has caused you, with specific incidents, go to your manager and state that you "can handle it without him"
1

As other recommend, I would ask somebody higher up if I could start CCing him in all your exchanges besides documenting everything in a source code system.

Obviously, if you working for the two, your colleague does not need to do it. However, it seems a bit odd he taking such a relaxed stance of missing so many hours of work and days off in the middle of an intern project...it is as he knows he cannot fail.

I would investigate if he has relatives inside. I have seen my share of pet employees over the years. It is usually not that hard to find out. Maybe you were setup together for a reason.

Welcome to the fantastic world of the real world and office politics!

Assuming no foul play, at the end of the day, someone is failing you not making regular meetings to guide you both and assess the state of the project.

PS. A possible course of action if that is a University endorsed internship is probing on the University side if you can change for another place. The odds are slim, but without asking it is not possible to find out.

  • 1
    He'll study for his master degree in another country starting september, so I guess this is just a summer job for him. – Lemon Chris Jul 22 '18 at 21:18
  • About days off during the internship, I don't really see a problem with that. We have the right to about 2 free days/month by law (We are hired just like any other employee, with a working contract). I'll have some days off myself, but not until I make enough pogress with the project (in a couple of weeks maybe?). Regarding University - no, this is not endorsed by university in any way, but I am not affraid to quit: I had maybe 6 offers for this summer and I am very confident with my skills + I do have a lot of contacts at good companies in the city. – Lemon Chris Jul 22 '18 at 21:30
  • We all have days off...the point is choosing to taking/not taking them in crucial days to evade or take responsibility of crucial work. Over the years we learn that picking up in a colleague slack that does not deserve it just carries on the situation. – Rui F Ribeiro Jul 22 '18 at 21:36
  • I do get your point, but he did tell me about those days off more than a week before them, even before he was assigned a particular task. But you are right, I will do some checking and see if he was hired for what he proved at the interviews or there is a more dirty reason. Do you think I should quit, shall what you are saying turns out to be true? – Lemon Chris Jul 22 '18 at 21:43
  • 1
    I do not advise quitting, but it was always better to have your eyes open. – Rui F Ribeiro Jul 22 '18 at 21:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.