I've read through How to deal with an incompetent colleague?, but my situation is slightly different.

I am an intern1 (although close to graduation) working in Software Engineering. I work in a small team with only a few other people on a small project. The project is not that important to the main workload and thus we are not under any kind of time pressure. Despite this, I am still trying my best to make a good impression with both my colleagues (who are all full time employees) and the company as a whole which includes finishing features (fully tested and implemented) in a timely fashion.

My problem arises in that one of my coworkers is not a good programmer at all. Although they are highly intelligent, programming doesn't seem to click for them and they struggle writing the most basic of code.

As an example, when I pair program with this person to try and help them with a feature, I may prompt them and say something along the lines of "now we need to do something with every item in that array" and they can't understand we need to create a simple loop or form basic syntax or even generate pseudo-code from english like

foreach element in array
    print element

This person did not originally have a programming background, has been with the company for around a year, and does not seem to have made any progress towards mastering concepts a first semester computer science student would be expected to know, despite taking classes online.

Although not in my job description, I feel obligated to help them and try to teach them when they need it (which is most of the time) both out of desire for our project to move forward and simply because they are really nice and I like helping out. At the end of each day that I have worked with them, I feel mentally drained from attempting to teach them as well as get my own work done. We move very slowly through their feature (which they have been working on for about 2 weeks now, although I could have done it myself in a few hours) because I am trying to make sure they understand everything in the code and how to actually program when we work together and they accomplish nothing when I am not helping.

I have considered several options; however, my lack of experience means I really have no idea how to handle this. Should I talk with our team lead2? I feel that they must understand my coworker is not doing well, and they are kind of dragging me down. Should I refuse to help them, in order to get my own work done? or is there some other course of action that would be best for me to take?

1) I have about 6-7 weeks left in the internship. My end date is flexible. I would consider working there in the future (maybe not right after graduating but would like to leave the door open).
2) As a clarification, our team lead is another Software Engineer and not management. We all share a single manager higher up the food chain.

  • How long is left in your internship? Are you looking to get a permanent position afterwards? If you don't have that much time left there and you intend to leave then you're probably best off letting it go. However, if you are going to be dealing with this for the forseeable future, talk to you team lead.
    – Jane S
    Commented Jul 2, 2015 at 3:34
  • I have about 6-7 weeks left in the internship. My end date is flexible. I would consider working there in the future (maybe not right after graduating but would like to leave the door open).
    – lightfires
    Commented Jul 2, 2015 at 3:36
  • Given that, I'd just live with it. If you come back to work there or roll straight on to a permanent role AND you happen to be assigned to the same team, then I'd consider flagging it.
    – Jane S
    Commented Jul 2, 2015 at 3:39
  • Do you have an allocated time for the pair programming/help sessions, or do these happen in an ad-hoc manner? For example, if you allocate specific time slots it may enable you to accomplish both helping your colleague and making sure you have enough time left to do your own tasks.
    – Brandin
    Commented Jul 2, 2015 at 5:29
  • Why has the lead not flagged this yet? Unless your colleagues are working on something with low impact, or are given significant slack, the lead should've done/requested code reviews/performance reviews. Commented Jul 2, 2015 at 7:47

4 Answers 4


"Although not in my job description, I feel obligated to help them". That is in your job description. It's just never written down, but it's one of those things that are always assumed when you are working in a team. Another thing that is assumed is that you inform your manager if your work is taking longer than expected and let them make the decision regarding priorities.

You mention that there is no deadline, so I would suggest:

  1. Inform your manager that the feature will take longer than you anticipated since you are using your time to help and teach your co-workers; are they okay with that or do they suggest a different priority?
  2. Continue to teach your colleague and see this as an opportunity to leave an amazing impression of you as an intern, and get a great reference for future work.
  • 8
    I disagree with that. As an intern, it is not your obligation to teach your colleagues. It should be the other way round. If you have time left and you, your colleague and your boss are okay with it, no problem. But don't feel pressed to do something you don't want to do.
    – jwsc
    Commented Jul 2, 2015 at 12:25
  • 2
    Fair enough. As an intern you should be taught, not teach, true. But as a member in a team you are expected to help other members in the team. So you could just wash your hands of the situation and that it's not your job to help you. Or you could see yourself as a teammemer, rather than an intern, and help out. Both would technically be correct, but only one of them would be welcome back if I had anything to do with it.
    – Fredrik
    Commented Jul 6, 2015 at 7:13
  • 1
    Teaching is never a one way street. Commented Jan 22, 2019 at 13:32
  • @Fredrik It's one thing to help another team member. Some people know more, or think quicker, or have better overview or experience than others, and they should help out. But that doesn't mean you should ever do their work for them.
    – gnasher729
    Commented Jan 22, 2019 at 14:41

I recommend that whatever you do to help that person, you make absolutely 100% sure that you are the more productive one and actually achieve things. If you spent 2 weeks helping them and achieving very little, you need to have another 2 weeks where you achieved a lot yourself and have visible evidence of that.

Doing your work must always have priority to helping them out.


I would suggest to bear it for now. Try to help your co-workers as much as possible. However, as @Jane. S mentioned, if you choose to work for the same team for full-time, then you may think of handling the issue at that time. For now, continue the good work you have been doing. It would be good to be professional and as well as nice/kind with everyone in the team (even in the future). Good Luck.


Would like to add on here - despite the question being answered ... years ago.

Teaching is never a one way street.

All of the smartest people in the world who give of their time agree that they learn from their students. The skills and lessons learned are different, but it's a valuable exchange - if someone is able to recognize what is being offered.

The team wasn't just randomly tossed together. That particular 'skill~less` programmer brought something to the team other people didn't - the fact they had no consistency in your eyes should be a flag that they have a value the managers see & you don't ... it's likely subject-matter expertise or business valuation that actually is the purpose of your program & the reason for the company to exist.

I liked the advice from others - just surprised no one else brought up the value of a programmer isn't their ability to code - its their ability to apply critical thinking to a business problem in a profitable manner or be part of a team which can do so ...

EDIT: Just to be clear here - programming skills != real world business knowledge and without that knowledge & both are 'critical' skills as well as 'critical' to the success of a business.

Hope your internship was otherwise good & your are doing well!

  • 1
    The entire thesis of the OP is that this person isn't able to apply critical thinking in a profitable manner.
    – Ertai87
    Commented Jan 22, 2019 at 14:25
  • @Ertai87 ... I tried to stress 3 times that programming problems and the associated programming skills are not a means unto themselves - they must be applied to business problems with critical thinking skillsets which differ from programming logic. Perhaps my word choices were too similar or is that just something you personally disagree with? Commented Jan 22, 2019 at 15:06
  • Except, once again, the thesis of the OP is that this person provides neither.
    – Ertai87
    Commented Jan 22, 2019 at 15:22
  • I asked a very specific question in the above comment & you refused to answer, as well as you just repeat yourself instead of adding useful information. Going to opt out here - citing Rule #14 Commented Jan 22, 2019 at 15:46
  • You are very optimistic. I didn't actually see anything that leads me to believe that the colleague has any redeeming features.
    – gnasher729
    Commented Jan 22, 2019 at 21:43

You must log in to answer this question.

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