56

I just found out yesterday that we're getting three interns this coming Monday and that my boss is offloading them onto me. I was a TA and tutor for several years in college, so I genuinely enjoy teaching people. Except in this case, I'm a freshly graduated junior developer of only 4 months. I'm still figuring things out as it is and I'd hate to be responsible for three people who are seeking a professional learning experience and end up failing them.

Additionally, I work at a start-up and my position in front-end development is not a position anyone else here has; I've had no seniors here to learn from and so all of my projects have been built and designed on my own and through my own learning (and we all know what a rocky road that can lead to). I feel that I am strictly in no position to be handling interns when I'm so inexperienced myself. His words to me yesterday were that, "You'll be working very closely with the interns on your projects and having them do this and that." Being that my project is in languages/technologies no one else here knows/uses, this translates to me being the sole programmer working with them. If they have questions or get stuck- they can only come to me. This is not your simple run-of-the-mill web page; this involves several JS libraries and 3D rending in the browser. My JS alone is more than 2000 lines.

Is it normal to put interns under freshly hired staff straight out of college? What about three of them? How do I handle this?

  • 63
    While there are downsides, this is a great opportunity for you. Few people in your position get a chance to demonstrate/develop management ability. If you take this seriously and try to operate as a team (rather than just find some work for the interns to go do) this could be a great experience. – user45590 Jun 3 '16 at 15:06
  • 12
    Now you have a team of 4 to work on front-end development, you just have to develop the interns as well. Do it right and everyone wins, do it wrong and...well, it's only 3 months. The trick is to give them meaningful and moderately challenging tasks that are within or just beyond their current skills. That way you get help and the opportunity to show leadership while they get to learn. – DLS3141 Jun 3 '16 at 15:24
  • 14
    Do you know WHY your employer has decided to take on a swarm of interns? I'm surprised that any startup would have time to be teaching people. Do they have the notion that they are going to be a cheap/free source of useful labour? – Carson63000 Jun 3 '16 at 20:59
  • 3
    But front-end is easy, right? ;) – Scott Simpson Jun 3 '16 at 21:09
  • 7
    How's the test coverage on that js? Writing tests is a superb on-boarding exercise. And therefore, great for interns! – Zach Jun 3 '16 at 22:18

10 Answers 10

74

I wouldn't say it's normal, but that's not what you have to work with.

What I would do is give them tasks. Find things that need to be done and task them with it. Offload some of your work on them if you think they can handle it.

Train them the process your company uses to do business. All of this will be a learning experience.

Based on the tone of your question, I'd venture a guess that your major problem is your confidence. Psych yourself up and know that you can do it. Don't focus on "junior" or your relative lack of experience. You've been given an opportunity to lead and do your best to lead.

Don't be afraid to ask your boss for pointers and guidance along the way. Don't see this as a burden, see it as an opportunity to show everyone what you can do.

  • 31
    +1 - this is how team leads and managers learn their trade – Dan Pichelman Jun 3 '16 at 15:03
  • 16
    Definitely give them tasks to do, but never give them anything critical, and always check their work. Some interns will be amazing and produce beautiful code, and others will come out of the summer realizing that programming is not for them. Be prepared to handle both ends of the spectrum. – David K Jun 3 '16 at 16:40
  • 25
    I have to disagree here. When I first got out of college, I was totally unprepared and didn't even know it. 4 months is an incredibly short amount of time for the OP to have been gaining experience. Early on, I had a tendency to latch onto processes/practices blindly without understanding how to apply them, and even after several years, I'm still trying to figure out what good code even looks like. I really wish I'd had much better mentoring from someone with more experience myself. The OP's concerns here shouldn't be so quickly dismissed. – jpmc26 Jun 3 '16 at 17:08
  • 5
    The essence of growth is doing something that you haven't done before. The last paragraph also tells him to ask his boss for pointers. I meant it. He should. But regardless of whether or not he's prepared is irrelevant. I 19 year old soldier isn't prepared to go to war. But he does when he must. a 24 year old isn't prepared to be a widow or single parent if her husband dies. While not as drastic, he's been given a task and he needs to work on completing it. The alternative is giving up. – Chris E Jun 3 '16 at 17:18
  • 1
    I'm with @JeffO here. Straight from collage I thought I knew how to code. And while technically I DID know how to code, it became apparent that there's more to it than just knowing the functions and libraries. I'm more willing to accept this answer as a chance for a manager to shine - but as far as teaching actual coding skills... this seems iffy. – Shaamaan Jun 6 '16 at 7:02
28

Here's some facts (based on your question and observations I've made over the years):

  • You have the talent and inclination to teach others.
  • You're at a less-than senior programmer level now.
  • You've been given the opportunity to teach others as you do your job.
  • Teaching is a great way to really learn a subject.

My advice: use this as an opportunity to level up your programming skills. Give them work that needs doing (don't let it go into production, but surely there should be some useful aspects of their work worth using.) Meanwhile, use your time to figure out the best way to do things.

Then as you review their work, you can refine it and determine where to factor things out or eliminate redundancies or other unnecessary business, or fix deficiencies. Thus you've got finished work that is of a higher quality in the same amount of time.

Continue to leverage them in this way, and you'll be programming at a more senior level by the time they leave you.

  • 6
    One can't really over-emphasize the last bullet point here. – njuffa Jun 3 '16 at 18:02
  • 5
    What language had the same word for both crisis and opportunity? – Mindwin Jun 3 '16 at 19:37
  • @njuffa that's a good reason to have just one intern. – user42272 Jun 3 '16 at 21:45
  • 7
    @Mindwin Python, probably. – Lilienthal Jun 4 '16 at 11:46
12

"Show me an intern who only triples my work and I will kiss his feet"

When you are responsible for other people, you will get less done than if you were not. That's fairly simple and straight forward. The gain (supposedly) comes from them being able to accomplish more with your lost time in aggregate than you are.

That is almost never the case with interns on any more than the most menial and repetitive office tasks.

It sounds like your bosses don't know this. There is nothing about development, front end or back end, that is so repetitive that it would take up even half a day. You may luck out and get a self starter, but probably not.

So, all of that is groundwork. You need to do the following things:

  1. Tell your boss that giving you direct reports will be an intense learning experience for you, and that you will not be able to keep up with your responsibilities directly (i.e. your fingers on the keyboard) at the same pace that you have been. You "hope the interns can pick up the slack, I guess we'll see how they are when they get here".
  2. Prepare projects for them. I suggest you go in with the following plan: define a project with as much detail as possible, even simple projects that could be done in an hour. Have them look at the code and write up their intention without changing anything. You look at what they've written up, you critique and modify and guide, then when you're both on the same page, let them loose. They make their change, when they are done, have one of the other interns QA the work - does it work as expected, why this or that? Once they've passed on it, you QA the work. If it needs changes or fixes, write up what needs to be done (give it to them in writing, don't tell them, there needs to be a record), send them back through the cycle. When it's ready to go live, you're good to go.
  3. Give them a set of good resources, sites & etc, where they can answer their own questions. Have them talk to each other for help. Give them a generous time limit to find solutions themselves before they stop and find you. The length of the time limit depends on how you prioritize your time: give them a day and they won't get much done, but you'll be reasonably productive. Give them 20 minutes and you'll be guiding them a lot and not getting much done. I expect, for overall productivity, you should give them a longer time limit and not expect much out of them.

You're right, this is not the best situation to bring interns into, but so long as your boss accepts the loss in your productivity without expecting much from the interns, then it's a fantastic opportunity for you.

8

Just be sure that your boss knows that this is going to be an overall net loss in your trajectory. If he is thinking just throwing man hours at the front end will solve everything, there is going to be a huge gap in expectation and reality. If you are on the same page there then give the interns the attention they need to be productive and take this opportunity to document the hell out of what you've done over the past 4 months to pre-empt dozens of questions.

  • +1. The OP should also express the concerns they list here directly, as this may affect not only the OP's work, but also the development of the abilities of the interns. – jpmc26 Jun 3 '16 at 19:41
2

Your boss has just promoted you to a supervisor position - he believes that you are the best candidate, from his direct reports, for that honour. Accept it as such, and don't focus on your lack of experience. You and your team will have the opportunity of tackling every project handed to you with no baggage of legacy technology or code - perhaps your boss likes the idea of that. My advice is two-fold:

  1. Focus on getting things done. Not profound things, just things that are actual deliverables, that solve actual problems.

  2. Accept advice from everyone who will offer it; don't be afraid to be wrong; and don't be afraid to ask for advice. And above all - have some fun with your team.

  • 1
    +1 for taking it as an opportunity, but having interns do the work negates the effect of having a greenfield project. It's extremely likely those kids are going to write a ton of legacy code. – ThatGuy Jun 4 '16 at 18:29
  • @ThatGuy: Possibly, but very dependent on the quality of the interns and (particularly) of OP. In my very first programming job, after three months everything I had written to that point was presented to the rest of the team as an example of proper coding practice that they should attempt to emulate. Very intimidating actually. – Pieter Geerkens Jun 4 '16 at 18:35
2

Does your boss understand this will likely halt your development for 3 months? You need to have a serious talk regarding your career needs, i.e. do something useful for the company sooner than later, and whether your boss is in agreement that you have utility beyond watching some interns for a while. Or your boss needs to stress how important it is the interns have a good experience and how they understand you will sacrifice your projects for this, but I already doubt this is what is going through their head.

Sadly, your best move is likely to let your interns be useless and have a poor experience while you develop serious projects that will earn you respect and recognition. Putting 3 interns on one junior developer doesn't exactly make me think your boss values the intern experience more than they value getting actual work done.

That being said, I would suggest, by far, trying to have any semblance of an honest conversation with your boss on the topic before making a decision like this.

2

I can give some different perspective into this question. I was recently given a rather similar task (assigned to an intern as a (relatively) fresh graduate in a science laboratory). While the exact tasks may differ, I suspect that the overall situation has many parallels.

What I did was pretty similar to what Chris recommended in his answer. I looked back to the time when I was doing internships myself, and tried to apply the better techniques which worked well to help me learn the skills necessary to carry out good lab work, and tried to leave out the parts which I felt negatively impacted my ability to learn.

Additionally, I asked around my seniors (many of whom had experience with interns), and asked them for advice when I was unsure of what to do. When you have a simple task that you need done, you can offload that to the intern if you are free to teach the intern how to do it.

Most importantly, always check their work. The best professional workers make mistakes, but the rate is of different orders magnitude altogether in interns. If their work cannot be easily checked by you, do not ask them to do it.

1

Is it common to provide management/supervisor roles to junior developers, patently it is not, but it is also not uncommon. Please allow me to elaborate.

Being in a similar position I wanted to provide some further insight and hopefully supportive comments that help grow you into your new position and role within your company.

First let me start by saying, the only thing you are lacking is experience and confidence. Both of which are learned on the job and through seeing yourself grow.

One of my favorite quotes is To teach is to learn twice (or similar). You have been given an opportunity that few will be provided with and you should seize it immediately and use it to your advantage.

Let's first look at your confidence (highlighting is mine)

I work at a start-up and my position in front-end development is not a position anyone else here has; I've had no seniors here to learn from and so all of my projects have been built and designed on my own and through my own learning (and we all know what a rocky road that can lead to)

As a junior front end developer you are already performing tasks at a senior level. This is not as uncommon as you may think and depending on your compensation (another topic altogether) may be why you're junior. In the business we look for "rockstars" at a junior level that we can groom to fit the business' needs. Take pride in the fact that you are owning a complex beast. Even if the complexity feels simple to you it just remember that greatness comes in baby steps; every now and then it is in leaps and bounds, but for the most part it is iterative.

Now lets talk about your experience in management. A great manager is akin to a great parent: You support your team, you enable your team, and last but not least you learn from your team. Can you do those things? In terms of how I do it:

  1. Support Stand between the business, your direct manager, and the rest of the company and your engineers. Nothing gets through without running by you, You'll want to ensure that your engineers have a clear vision of the road ahead.

    • I try to prevent out-of-band tasks from hitting the dev team. It's good to keep them focus and set realistic expectations. I have even gone as far as to belay an order that came from my manager above until I had time to discuss it with him. It's scary to do, but it's your job to keep the vision focused and work closely with your direct-manager to ensure they understand what your team is focusing on. this has the added bonus of allowing your manager to re-rail any efforts that don't completely align with the business and set your expectations for your team
  2. Enable What roadblocks exist between success and your interns? Do they need training? Do they need assistance? Do they need direction and tasks dolled out? Enabling your team is as simple as providing them a means to continue doing what they do best.

    • e.g. Be it dealing with the interoffice politics, ensuring they have a good solid dev environment, or understand what the next six months of development look like.
    • I work hard to ensure my team feels enabled to do their job and to keep their wait times minimized (idle hands are the devils playground).
  3. Learning learning from your team, especially when in a supervisory role and still acting as a developer, is as simple as it sounds. You're not the sole proprietor of knowledge on your team. You will have some developers that are heads down machine gun developers. They will see a task and kill it. These are your worker bees, they will be just as important to you as the developers who want to work on the latest and greatest technology and are chomping at the bits for it. These are your visionaries they tend be happiest running R&D and learning what's latest and greatest. They are also just as indispensable. You will need all colors of the rainbow to garner a successful development team. They will support you, they will enable you, and in return they will teach you.

    • We run daily standups, each person gets a MAX of five minutes to discuss what they did, what they plan to do, and any roadblocks. We also schedule regular time to meet and code review and pair program when needed or requested.

Your relationship with your developers as a manager/supervisor is symbiotic. For all you give to them you will receive in return. Your skills will continue to grow, and you open yourself to having productive learning sessions both in terms of how to interact with people, but as well as your code.

Just remember, you are the parent, you are the thermostat and not the thermometer. You ultimately make the final call. Let your judgement side with what has the best interests of the business; however, still be flexible enough to allow these interns to feel autonomy and that their work matters studies have shown that moral is best when people feel autonomous and that their work does provide value to the business.

Cheers and congratulations on your growing role.

  • Your first sentence doesn't make sense and I don't know what you are trying to say. – user42272 Jun 6 '16 at 17:06
  • @djechlin it's not common but it does happen. Feel free to edit and clarify if you feel it is needed. – Mike McMahon Jun 6 '16 at 17:15
  • I don't know what you are trying to say. So It is not possible for me to edit and clarify because I don't know what I am trying to clarify. – user42272 Jun 6 '16 at 18:05
  • @djechlin well it's been clarified in comments and I'm on my phone. If you're still having issue I'm not sure how much more I can assist with.. – Mike McMahon Jun 6 '16 at 18:06
  • Okay, just going to downvote then, good luck with the phone call. – user42272 Jun 6 '16 at 18:07
1

Think of what you can have them do. Give them a task that will take a couple of months, or several. At the end of their internship, they may be motivated to continue on the same task. It might be an incentive to keep them.

Remember, they haven't received the same amount of training. And they may feel like the internship is a lower priority than getting the degree they are pursuing. It sounds like you've proven your worth to your supervisors; many other people aren't quite so capable. Statistically, your interns will likely be less capable.

Make sure that they understand the rules. For instance, before they ask you any question, they need to do a certain amount of research. They should tell you what online documentation says about the syntax of any function. They may get used to asking you questions if you're a fast source of answers. They may get frustrated by you not giving them answers that you have. However, instill the process in them. It will make them more capable, and that will eventually make things better for them, and you.

If you run out of stuff for them to do, have them assist others who are under your, or maybe others in the company (including people from other departments... but you should really check whether that ends up helping or hindering other people). If you really run out of stuff to do, while you're still on the clock, then just have them watch what you do, and tell them to volunteer once they see an opportunity to take something off of your plate. (Of course, you will then authorize them to go do that thing they've thought of... or you won't.)

Don't worry about being underqualified. I, myself, have been underqualified for a great many positions I've held. That's fine, as long as someone has your back, able to provide you with any support which is absolutely required. As long as you won't be doing more harm than good, then go for it. (I don't recommend doing this in a medical capacity where lives are at stake. However, if the worst that will happen is that someone will be a bit less productive for a day at work, then the benefits may outweigh the costs. Run with it.)

The trick to being underqualified is to work hard to get qualified quickly. Take care of priorities. Get the most important things done. Learn how to get everything done correctly, without needing to get help that you shouldn't be needing. Getting into a position while underqualified will probably result in you becoming qualified for the position more quickly than just about any other way. Once you are qualified, people will learn that they can throw complex things in your direction, and you can handle it (including growing, in order to be able to handle it, as needed). Such a path in life is quite challenging, and rewarding. I've been in it sometimes. Enjoy the benefits.

-2

My friend, I think you picked the short stick, by being the newest kid on the ground. I am pretty sure no senior personnel wanted to deal with bratty college interns and told the boss to give them to the new-comer kid. Which by the way is you. Look at it as your foray into management. If they turn out a banging job, you will get a big kudos from your boss, as they are yours and only yours to manage. If they turn out to be duds, well, you did not select them from a crowd. So, very little can affect you.

On the flip-side, these poor souls, coming to your company to, supposedly learn the real life workings of their degree programs, and being handed to someone who doesn't have a good understanding of those things himself. Well, too-bad for them. It is not your call to hire interns. They could have chosen to go to a more established company, but they chose to come to your startup outfit. More than likely, they are not expecting much from this internship and just there to get a tick on the check-mark off of their academic curriculum. Moreover, they are probably thinking "Start-up=Lax environment, free food/drinks/pool tables everywhere, party every night". So they are the to continue their partying more than anything else.

Try to make the best of it, is my advice.

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.