49

I am a developer in a small team of 3 developers and one intern. The intern is on a 12 week contract with us. He has been assigned a small project however he has very little development experience. I have encouraged him to raise any questions & concerns with myself however he has been rather quiet.

Recently I became concerned with the lack of communication so I sat down with him and went over his work. The quality of his work is of significant concern. Under normal circumstances I would avoid raising this concern with management as I don't see it as my place, however going forwards the application will manage a critical business process & I have my doubts about the maintainability & future development of the application.

In summary should I raise my concerns with management and if so in what manner?

Update: I had an informal chat with my manager and I raised it with him. Turns out he already had similar concerns and was planning on moving him onto his own project.

  • 187
    What level of quality are you expecting out of an intern? Why is an intern working on critical business applications? – Mister Positive Jul 31 '17 at 13:23
  • 11
    I am not management and therefore I cannot answer that question. All I can do is raise my concerns. – User1255879 Jul 31 '17 at 13:24
  • 80
    I have concerns that you are actually expecting a intern to produce anything of quality on a critical software. Interns should be used for smaller tasks and groomed into professionals that you can actually use before putting them near sensitive code. – T. Sar Jul 31 '17 at 13:42
  • 97
    "Interns on Critical Projects" is a red flag so big you can see it from Mars without even squinting your eyes. – T. Sar Jul 31 '17 at 13:49
  • 12
    If you haven't assigned someone competent to regularly check up on the work of the intern and review their work, you're failing that intern and wasting their time. A company should put effort into assuring its interns learn good work habits and effective work strategies. It sounds like your company is doing the opposite and expecting high quality work product to result. Someone has massively dropped the ball. – David Schwartz Jul 31 '17 at 18:54
92

Yes, you should.

If this project is going to be touching anything critical, then it is your duty to protect that process. I'd raise the issue ASAP and suggest that the intern be reassigned to something less mission-critical.

If the intern is worth saving, phrase your concerns in a way to make it about having ANY intern on critical systems, which IMO is a valid thing to raise regardless.

Raise it in an email or in person. Either way, include specifics. Point out that he simply does not have the background for the task at hand and that his assignment to this project is a poor use of his skillset. Suggest another project for him if you know of one that is a better match for his skills.

IMO, this is not the fault of the intern, but of management who put him outside of his depth. You don't throw a weak swimmer into deep water one mile offshore.

The intern is on a mission critical situation. First: protect the company from that. Second, find a home for him, and then after that, train him up.

The immediate problem is that he has been placed in a bad situation. I wouldn't even put an untested Junior on mission critical projects, much less an intern.

Getting the intern out of a position where he can only fail is addressing a very serious concern about potential damage. That has to come first, take care of the intern after that, but ONLY after that

  • 48
    Agreed. The intern should not be put in the position of working on a critical system IMHO. – Mister Positive Jul 31 '17 at 13:23
  • 45
    To mis-quote something I remember from a somewhat similar case: "If the Intern is able to royally screw things up then you, as a company, have failed." – Kaz Jul 31 '17 at 13:25
  • 3
    @MisterPositive If I were a "higher up" in that company, I would have quite a few questions about the wisdom of the management who decided to put an intern on a critical system. What next, handing out loaded handguns to the kids on "take your child to work day"? – Retired Codger Jul 31 '17 at 13:26
22

Is this intern in the right place, on the right project?

If not, try to help him out. You are in quite a small team so I believe you see the intern quite often. He is an intern for a reason, to learn. So help the intern out!

It IS in your right to raise concern, but make sure you or someone else have given the intern all the help you can give him, because again, he is there to learn.

A tip

Go sit down with the intern again, state your concern, and ask what he thinks about it. He might be an intern but he is not brainless. If the intern is motivated, try to teach him some of the basics about whatever language you are using at work.

  • 4
    This 1000x this! – IDrinkandIKnowThings Jul 31 '17 at 14:49
  • Helping the intern and safeguarding the integrity of mission critical systems are two different matters and it seems like they could be at odds here. While these are good points to raise, you'd ultimately just be postponing a difficult decision. Right now the internship and the code base might still both be salvaged. If the OP delays a real response that might no longer be the case. – Lilienthal Jul 31 '17 at 19:04
  • Why is it his right to raise a concern? In what way is he affected in his work by the intern? – smith Jul 31 '17 at 20:28
  • 3
    I agree, help the intern improve. An intern is not a cheap employee, the company provides a learning environment and may or may not get something in return. – RemcoGerlich Jul 31 '17 at 21:21
  • This answer is misguided. I don't know whether you're in the industry or not, but modern software development is extremely complex. Whatever programming language the company is using, I can guarantee you it is not the problem. The real issues are more likely: unfamiliar libraries, third-party integrations, undocumented dependencies, spaghetti code, legacy architecture, formal review process (or lack thereof), etc. – gardenhead Aug 1 '17 at 2:07
5

It doesn't really matter whether an intern or a regular employee is involved. If you have concerns about a critical component not being implemented correctly, you'll be doing your manager a favor by expressing your concerns as soon as possible.

Just try not to sound like you're blaming someone. State the facts which make you believe the project is off track, and suggest solutions if you can think of any.

BTW, I don't see a problem with letting an intern work on a critical component, if done right. That's how you find bright heads you'll want to hire by the end of the internship, and keep them motivated by making them feel they are making a difference. We had one such intern recently, and he's one of the devs now. If you give your intern a toy project, you'll only get an option to hire a toy developer.

  • 1
    I really appreciate the perspective of this answer. My first though would be never to put an intern or entry level person on a critical project, but you have changed my mind in that it can be done, albeit carefully. – Mister Positive Aug 1 '17 at 16:04
2

Yes

The law restricts what an intern can work on, among other things. The work performed is actually for the benefit of the intern; it should provide education or experience in his chosen field of study, should not be for the benefit of the company, and should not displace regular employees.

It sounds like all of these rules are being broken. He isn't primarily a programmer; he isn't learning about whatever his field is; and he is doing work alone, on mission-critical systems, potentially displacing an actual paid employee.

If the internship is an unpaid position in the United States, it sounds like this situation is AGAINST THE LAW. If you are from some other country, check the applicable laws.

  • OP claims to be based in Scotland. Are you asserting that this situation is against Scottish law? – Dawood ibn Kareem Jul 31 '17 at 23:19
  • Oops there I go being Americanocentric and assuming! No, I don't know the law there. – John Wu Jul 31 '17 at 23:20
  • That's OK. Your answer will no doubt be useful to somebody. But you might like to edit it, just to clarify that you're talking about the United States. – Dawood ibn Kareem Jul 31 '17 at 23:22
  • 7
    This only applies to unpaid interns, which is really uncommon in the USA anyway. If the intern is being paid at least minimum wage, then they can be made to do real work, regardless of their title. – Kat Jul 31 '17 at 23:59
0

First off, yes, you need to speak with your manager. You have a real problem: an intern is creating code that you have concerns you won't be able to maintain. This is a legitimate risk to the company and your efficiency and is worth addressing.

However, when you have this conversation with your manager, it should not be one that blames the intern. The conversation should focus on the question of how to increase the quality of the work. As an intern, it's expected that left to their own devices, they will not be able to produce code of the same quality as a develop who has been in the industry for several years. They simply don't have the experience to do so.

The only real solution to this problem is to start giving the intern the guidance they need to write higher quality code. This person is still learning, and they will not learn efficiently without guidance. (Notably, it is rather unlikely that their formal education has really prepared them for the workforce.) While putting the intern on work that is less critical will reduce the risk to the company, it won't solve the underlying problem that the intern is not receiving any guidance.

Some ideas you can take into the meeting to offer:

  • Frequent code reviews of some kind
  • Daily updates (scrums)
  • Targeted work that will give them an opportunity to practice specific technologies or design practices

Your goal should be to get the manager to agree to invest in this intern's learning. It doesn't necessarily have to be you that spends this time, but someone needs to. If the manager is unwilling to do this, then they are choosing to accept low quality work, frustrated employees who have to maintain or replace it, and a frustrated intern. There really isn't a lot of in-between: either the company is willing to invest in helping the intern grow and is hoping to get a one-day capable employee, or the company is trying to use the intern as cheap labor and will get what it pays for.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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