142

Due to some internal reorganization, now my team includes a new intern. Since I'm the technical and team lead, it's up to me to bring the new guy up to speed with how we work and what we need to do make our software run smoothly. He has been with us for 4 months, and his internship can last up to 24 months by current legal rules.

The intern showed some promise - he had a full year of a technical course in Software Development in one of the languages we use and had previous experience as a freelancer doing small software projects. The stuff he showed us was simple but looked good for someone who was just learning the business, so we got him aboard.

However, working with him for a few months made a few issues visible. He barely can write any software - even really simple examples from an exercise book we got him - and has some real difficulty remembering core concepts we deal with everyday, even the most basic ones.

I'm actively teaching him for at least two hours a day every single day for two months now, and while he is showing some advances, they are rather small. It's a very frustrating experience for me overall - I've had several other interns before, and none showed such slow-paced advances.

This is not the problem, however.

Today I was reviewing some code with him, explaining some business logic, and he asked me about what exactly was happening on a certain line of mathematical code - it gave a discount on some values multiplying it by a decimal value (0.95 in this case). It was a pretty simple line of code and he showed a huge surprise about "making a number smaller by multiplying it by something". At first I thought it was a little funny and went on giving a few examples how that works out using fractions to clear what I thought it was a silly remark, but as I went on with my examples it became more and more clear that his math knowledge was really restricted.

It made me absolutely frustrated. I lost my patience and dropped several harsh remarks, in special my disbelief that he managed to leave high school with such lack of knowledge. I got specially angry and gave up teaching him for the day, telling him that this sort of lack of skill was unacceptable in the software industry.

Now I'm stuck with a bit of guilt. Maybe I was too harsh on him, maybe I was wrong on getting so upset with his lack of skill. I'm failing to deal with my frustration with him and I have no idea how to deal with it with more patience.

How do I keep my calms while dealing with such under-skilled coworker when I have to teach him? Can I call his attention to his lacking skill set? Or, is it something I should just ask for HR do deal with and send him on his way for another job?

  • 7
    In Germany, when you do an apprenticeship that lasts three years to become a software developer (I'd say a lot more people do this than study CS or similar at uni), you need to attend vocational school for about one third of the time (you work the rest). Because that school counts towards the 12 years of mandatory schooling, there are German, English and Politics classes besides the obvious programming, engineering, marketing and economics ones. Math is not taught at all in that school. – simbabque Jan 4 '17 at 10:43
  • 24
    Just to add to the many good responses here - you may want to find out where this person graduated high school, and make sure HR doesn't send you any others from there, assuming that's an option. The high school has clearly failed. – Don Branson Jan 4 '17 at 19:12
  • 5
    @DonBranson agreed - have a chat with HR and see if the hiring process can be improved with more technical testing. Won't help here but could reduce the future likelihood of a bad hire. – Criggie Jan 4 '17 at 19:53
  • 9
    x * 0.95? How about trouble multiplying two single digit whole numbers? Had that with one of my former colleagues. Good question. Basic Maths knowledge is becoming a problem these days. – Neolisk Jan 4 '17 at 20:55
  • 20
    Maybe you were the one having your people skills tested without knowing it. – mathreadler Jan 5 '17 at 6:51

10 Answers 10

187

First step is to apologize to the intern.

It's likely both of you are frustrated with how the time has been going. If the intern has had a year of college, it means they are basically a high school student still. Not a professional software developer.

You need to set your expectations more correct. Often (most?) internships aren't really value-add in themselves, but are more of a recruiting/fulltime interview tool. Two years is a long time, though, but keep in mind this intern has friends who you may actually want to hire - hearing that your company yelled at an intern is not good for your company (even if it makes this one leave).

In my last fulltime job, I was told that it would be about a year before my boss expected me to be fully up to speed. A year! There is probably a difference in scope and responsibility of work, but an intern just out of high school is going to take a while to become useful (if they ever do...).

I have written at length here about the intern/manager relationship. You might find that beneficial to read.

A couple key next steps.

  1. Figure out what self-learning tools you can use. Managing an intern will be a lot of work, period, particularly at the beginning. Delegate this as best possible (to free resources, the Internet has TONS of them)
    • You might have to accept this intern will not be productive, period
  2. Talk with someone at your company who understands the legal pieces here if your company chooses to try to fire the intern.
    • Understand what needs to be done. If you need X, Y, and Z to let the intern go on their review, you want to make sure you know that now, rather than 30 minutes before it.
  3. Try to find work which fits. Maybe the intern isn't great at X or Y or even all the things you want them to do. Talk and try to figure out what they are good at.
    • If you've decided the intern is useless just ask them what they want to do. A motivated intern working on things they want to do probably is more beneficial than an unmotivated one working on things they can't do.
    • Most people will not enjoy feeling terrible at their job anyways, you might find the intern hates their job now
  4. Be a pull, not push, resource. When you work with the intern, make them come to you with questions - give rough guidance, but don't try to teach everything.
    • Mentorship is about providing opportunities for another to learn. NOT information dumping
    • It's ok if the intern struggles for a few hours (or even a day or more) on a task. That's how we learn best.
    • Avoid answering questions without questions of your own. "How do I do X?" --> "what have you tried?" etc
  5. Figure out why he got hired and fix your interview process. If you accidentally hired this intern, make sure you don't hire a similar one again (or at least, figure out a way to make it less likely).

And this situation pretty much is bad for everyone. You may find that the intern is even unhappy and would voluntarily leave if it's an option. If you open the conversation it may resolve itself entirely.

  • 47
    I think this is the best answer of them all. It's worth apologizing. The OP should remember this is an intern we're talking about, not a professional programmer. When this is all over, try to get a look at your hiring processes to prevent this from happening again. Also, try to keep your cool, it's key to being professional. – Jason D Jan 3 '17 at 23:11
  • 1
    I'd expand "Self Learning tools" - figure out the shortfalls (basic math). Then add a review with bullets ( 3.b: Issues with Basic math). Then work together to create a plan to overcome those shortfalls (Intern means student? Math classes at his/her college? Company have accounts with online "schools"? Khan Accademy, Alison Math Certificate, Math Planet, YouTube, iTunes U, etc, etc, etc). – WernerCD Jan 4 '17 at 3:55
  • 16
    @WernerCD: that is not the function of an internship, and learning basic math is not something which can be done in a few months (there is a reason that math stays with you from first grade to the end of your high-school). Doing so would actually be worse to the guy because one of the important lessons which can be learned in internships is a comparison of your knowledge to your peers - these are the people which you will compete against later - if something significant is missing on your side, it's bad. Working "together" with him on basic math may give him the impression that it is ok. – Sascha Jan 4 '17 at 9:03
  • 9
    @WernerCD: The function of an internship is to learn a specific practical skillset in order to solve a real problem under supervision in a complex, realistic environment. It is not ok if somebody has a 6 month internship where he supposed to apply matlab/simulink every day, and in reality he learns first basic math, then calculus, and spends 80% of his time to understand an formulate the problem and 20% on matlab/simulink. (i have seen such internships, and the results were embarrassing for everybody). – Sascha Jan 5 '17 at 0:09
  • 3
    @Sascha if he cuts corners definitely. If he's not helping himself, then you shouldn't help him either. takes longer than the internship the OP has said they are months into a ~2 year internship. But even if it was an "over the summer" thing - I just think it'd be the professional thing to do to say "Hey, We may not be there on the other side, but this is what you need to work on." Some of these fixes (basic math) should be fixed on the interns private time - and that's okay to put in the review. But, just my opinion, it's the professional thing to do in communicating that to the intern. – WernerCD Jan 5 '17 at 14:21
56

Yes, you were a bit harsh on him, but I can certainly understand the frustrations. The way you keep calm is to first understand what you're dealing with.

The lack of math skills is a problem that is at least 10 years old. I remember having arguments with a few people over the years who argued that math was no longer a requirement of programming. We're seeing the results of that now, and not just with your intern. The schools are failing IT students all over the world. When I was in college, the major was called "Math and Computer Science". Math came first both in the title and focus. This is not the case today, the proof is the existence of this intern.

Start with the smallest tasks and build from there. It's obvious that whatever school he attended failed him miserably. The lack of "getting it" is likely just a reaction to being overwhelmed.

Then, I would do a proper assessment of his skills, and have him do independent study on his own time. This will achieve two things: 1)Free up your time. 2)Demonstrate how dedicated he is. If he carries through with the independent study, you know he's dedicated, if not, you can cut him loose with a clean conscience.

Don't insult him again, but don't let him off the hook either. Make it clear that he is lacking in areas that will prevent him from every being successful if he doesn't knuckle down.

Let him learn online from Kahn Academy, or youtube videos, again, on his own time. Give him the opportunity to sink or swim on his own merits, and take a step back and breathe a bit. Don't trash your own career over someone who's out of his depth.

  • 5
    Is it legal to require the intern to do independently study on his own time? – Tanner Swett Jan 4 '17 at 0:31
  • 7
    @TannerSwett What do you mean by require? He's not required to study at all, but he may need to in order to be competent at the tasks set before him. Actions have consequences. He can choose not to study, but if he doesn't learn the skills somehow, he won't keep the job. If someone is behind in the knowledge required to do the work required of them, they should want to learn the material necessary to catch up. If they need extra time, they should consider using their own time if they care about the job. – mbomb007 Jan 5 '17 at 19:35
  • 14
    Paragraph 2 is the story people want to tell and hear, but people study CS in college or (less often) in high school. Multiplying fractions is something you learn in middle school at the latest (I'm pretty sure I was seeing exponentiation back in elementary school, but whatever). There's no way in hell any IT school has been failing students so hard and for so long that they somehow un-learn the elementary-school idea that multiplying a positive number by 0.95 or 19/20 makes it smaller. There's something wrong with this kid (like dishonesty), not his school. – Mehrdad Jan 5 '17 at 22:17
  • 5
    @TOOGAM: Are you saying you believe there are school districts where students can systematically go through an entire K-12 education and still not know basic fractions by they get their diplomas? I find that extremely hard to swallow, so if that's what you're saying, I'd like a link to back it up. If nothing else, as a last resort, I'd expect standardized testing to catch these sorts of issues. – Mehrdad Jan 6 '17 at 9:02
  • 3
    @Mehrdad : The answer to your question is: yes. I was fortunate enough to never experience such a horrendous education myself, but there is a preponderance of literature. See also, the famously-titled article, "Little Johnny can't read" (referring to high school graduates). I was shocked to hear of it at first (in the early '90s), but there is so much writing which testifies to such tremendous incompetence that I've come to believe what's been written. So, yes, that is what I was saying. – TOOGAM Jan 7 '17 at 4:38
44

Let him go - better for you and better for him. You have not been too harsh. I personally profited a lot from the fact that (happened 2 times during my studies) people clearly expressed their dissatisfaction with my performance.

People who do not understand multiplication should not be let close to a programmable device.

As an alternative to letting him go: explain to him that he will get no recommendation from you - and if there is a grade explain to him that the grade may be bad and that it may be more reasonable to leave. Alternatively give him no tasks besides "self-study" and a seat without a computer - in that way at least you won't waste time time with him.

  • 11
    Agree. And OP should have tested him on technical skills during the interview. – Alic Jan 3 '17 at 19:50
  • 6
    It's an internship, wrap it up and move on, you don't have to bring him/her back. I wouldn't be as harsh as @sascha but do cut him lose, tell him you don't feel he is ready yet and needs more study. For future interns a little more rigor in the interviewing process may be necessary. – Bill Leeper Jan 3 '17 at 22:50
  • 12
    @BillLeeper To me, 'more study' would imply that progressing his degree will fix the problem. It won't. If the OP is giving the intern advice, it should be honest: he needs to learn basic math. That's something you learn in primary school, not university. – sapi Jan 4 '17 at 7:12
  • 1
    Some folks just aren't very good. Odd but true. – superluminary Jan 4 '17 at 14:25
  • 3
    After thinking about it , actually it is better to make him leave on his own - for his own sake; if he is asked in future interviews about this internship, he can tell that it was his choice to leave and nobody from the the current company needs to comment on his performance. Some sentence like: "I figured out that i lacked important theoretical knowledge to make the internship work" is much better than a internship description like: "learned 5th grade math" – Sascha Jan 4 '17 at 16:57
30

I'm actively teaching him for at least two hours a day every single day for two months now, and while he is showing some advances, they are rather small.

That raises huge red flags for me. That's 2 hours a day you could be spending doing development, management and other things that make money for the business.

This person is obviously a huge liability.

Apologize for the harsh remarks and go to your boss and let them know you cannot work with this person anymore and you'd like them off the team. If your organization is structured such that you're making that sort of call - let him go.

Once he's let go - you need to re-evaluate where you spend your time at the organization because you lost (at least) a whole month of work on this person - that's a month of features not developed, bugs not fixed and costumers not getting shipped value. You need to structure your policies so that it never happens again.

Even at the most optimistic case after half a year of tutoring them 2 hours a day they become half-decent - they can still just leave the following day.

  • 12
    Spending 2 hours a day on an intern is no red flag in itself. When the intern will become your colleague it's an investment, one that might be justified by his potential. In the type of organisation where you get such high potentials, you get them by good conditions which attract many potential interns. You must have a good filter to pick out those good interns. And obviously, all that doesn't apply here. – MSalters Jan 4 '17 at 0:28
  • 5
    @MSalters if you spend 2 hours a day for half a year grooming an intern and then they quit after a year - it's not a good investment of your time. It only pays off at scale (if you have a hundred interns and one person spends 2 hours a day training them that's obviously fine). – Benjamin Gruenbaum Jan 4 '17 at 8:41
  • @BenjaminGruenbaum That's a usual part of our internship program. We offer a better-than-average salary and heavy tutoring for the intern to grow. – T. Sar Jan 4 '17 at 10:58
  • 7
    @ThalesPereira that's very generous of you - but from a business point of view you can probably tell if an intern is going to perform well after a month - and if they don't - keeping them around is a waste of time and money for the company and a waste of job satisfaction and happiness for you and your team. It's also probably very frustrating for the intern. – Benjamin Gruenbaum Jan 4 '17 at 13:02
  • 4
    @BenjaminGruenbaum That's surely true! I was a bit lucky until now, I think, because this is the very first time I'm given an intern with such low skills. I'll be honest and say I wasn't prepared to it, so maybe I had to send him to HR a few months ago. I think I was a bit naive in hoping that he would improve given enough time. – T. Sar Jan 4 '17 at 13:11
12

Sir James Goldsmith used to say "Pay peanuts, get monkeys". Paying peanuts if fine if you are looking for monkeys but if you want more than monkeys, you are going to have to up the ante. Firms don't hire interns with the expectation that said interns are capable of any useful work. The intent of internships is to help the interns not necessarily the firm.

Your intern's lack of math skills was a surprise discovery to you and most likely, a very unwelcome surprise. That's why I am leery of self-taught programmers who started out at age 13 and didn't attend uni.

Anyone can call themselves a programmer and sadly enough, your intern is a pretty on-point instance of that fact.

Expect that your intern's reading comprehension skills are not stellar either given that his progress in learning anything is slow and painful.

Your expectation that your intern will perform as a full fledged member of the team is most likely not going to be met given your intern's general educational deficiencies. If you are looking for a full fledged programmer, you are better off seeking a junior programmer not an intern. Yes, the intern is costing you nothing except your time. Well, add up the time you're spending training him - which exactly matches the amount of time you're not performing any useful work as a senior/team lead for the firm - and you should realize that the intern's ineffectiveness and inefficiency is costing your firm a pretty penny in terms of opportunity cost of work that's not done because you are spending so much time training him.

Losing your temper won't get you anywhere. You're losing your temper because you're frustrated and you're frustrated because you're stymied. You need to do something about the source of your frustration including sending him packing back to school to work on his deficiencies on his own time not on yours. He may not be happier because he has to be back in school but you most probably will be happier not to have to deal with his deficiencies - at the end of the day, you get to define what happiness means to you. At this point, you're going crazy dealing with him and nobody's happy. Consider that you're getting to the point where you've sailed past your ability to help him and you're no longer helping him but torturing him. Putting him out of his misery by the same token gives you a break. Not least because your relationship with him is definitely bringing the worst out of you. On top of the other costs, that kid is going to cost you in terms of reputation if you are not careful.

  • Comments are not for extended discussion; this conversation has been moved to chat. – Jane S Jan 10 '17 at 1:28
7

I guess you shouldn't teach, but should provide an opportunity to learn.

Two hours per day of your time, for months, seems to me an excessive investment in an intern.

Instead, just supply the tools they need. Choose and define (specify) tasks, which should be more-or-less within their ability to complete. Be available to answer questions (but not for extensive tutoring: point him at a book instead). Provide QA and feedback, review and testing, of their semi-finished work.

I'm not sure what programming tasks (if any) you could assign, which don't require arithmetic, though. The last time I used/borrowed an intern (which didn't take them very long) I asked the intern to install a specific test environment for me (which I needed, to test some software I was developing).

4

I had several other interns before, and none showed such slow-paced advances.

If you've had several great interns at this very company, on this very team, then you should check with HR. Ask them if you are managing your expectations for this internship (maybe those great interns were flukes? It happens, though it doesn't sound likely in this case).

If not, you might want to ask them if he's eligible for a performance improvement program. On paper, it gives him a set amount of time to improve based on projects dictated by you. In practice it creates a paper trail so that you can let him go.

Since you did say harsh words, you should apologize, and be kind to him for the remainder of the internship. It's neither your fault nor his that he landed on your team. Try to make the best of it until moves on, and applaud his efforts where you can.

Those 2 hour training sessions though - those need to end. Make him continue his training exercises until he starts to get them right on his own.

  • The training sessions are usual for our internship programs. We want them to learn all they can while they are here. If we manage to get a good employee at the end, awesome! If he jumps boat and go find something else, well, that's a bummer, but it's a risk we accept. We care a lot for our devs - it's hard to find good ones! – T. Sar Jan 4 '17 at 11:09
  • Ah, from your question I assumed that the training was extra-curricular. My bad! I'm so glad your company takes such good care of your developers! – LeLetter Jan 4 '17 at 15:04
  • We try everything we can to help them grow! Skilled software developers are so rare in my country that sometimes is easier "to grow your own" than to recruit them from the market. It is really sad to recruit someone with a impressive CV just to find out that this person can barely program anything without lots of help. – T. Sar Jan 4 '17 at 15:11
  • It may also be worth checking why this intern was hired (if that information is available to you). If your company hired a string of competent interns and then this fellow, perhaps he has other talents that are not yet apparent to you. – Kys Jan 4 '17 at 18:04
3

If you were rude to the intern, apologize. Do it for yourself, if not for the intern.

Then fire the intern. It's one thing to mentor, it's another to be a university instructor for someone who didn't pay much attention.

  • 1
    +1. Short and to the point. The apology is warranted. The firing, obviously, too. If he asks why - tell him you are not there to teach elementary school knowledge. – TomTom Jan 6 '17 at 16:49
1

I think there are two things you need to cover: A) What is your boss's expectations of you in regards to educating this person? Is making it clear this person is not qualified an option? Does anyone realize how much time you're spending/wasting? Make sure this intern isn't a relative of someone. B) Have a conversation with the intern. What is his expectations? Does he realize how far behind he is? He may understand more, but is very intimidated in these one on one training sessions. He really does need to consider his future in this profession because the training you're offering isn't going to always be made available to him.

You may be doing all parties of favor and suggesting a different line of work. I can't imagine this is a pleasant experience for the intern. The company is wasting resources that they may not be aware of. If you can't get out of it for whatever reason, make the best of it. Back off on your expectations. Slow down and do a lot of reviewing. You never know, things may just click. Stranger things have happened.

1

Be a manager.

You have a resource, an asset, a person. Be nice and apologize. You want men that will jump on a grenade for you.

Your problem is the application of the intern's skills.

Find something that the intern can own, and empower them. Have manual tests? Have a build server that needs to be babied? Have sample data? Need user #1? All of these things are valuable to an organization, without writing or designing software.

Does the intern know what your company does? Do they know the product? Do they use the product? I've found that having a "product expert" close to the team can be very beneficial.

Bottom line, your job is to find a role for the intern. Not everybody can be a rockstar, but the world still needs gaffers.

  • 2
    -1. Obviously he does no have an asset, but a liability. – TomTom Jan 6 '17 at 16:47

protected by Jane S Jan 6 '17 at 11:37

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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