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.