1

I'm an almost-graduated student that recently got an internship as a backend dev.

I was reasonably familiar with the language to be used and my problem solving abilities were decent, so I got the position.

My employer has given me a task to implement a new feature in their architecture, which works all the way from the api endpoints to the database, which means I have to basically learn everything from how api's function, to how everything is tested in complex architecture, a bunch of technologies they use and how everything is connected(this is a complex product).

How quickly are juniors in my position expected to handle these types of tasks, generally speaking?

I'm feeling pressured (the employer said there's no deadline and they've been relaxed about it but c'mon.. lets be realistic, it does matter how long I take) and I don't really know what the right move is here. Am I expected to work overtime/work outside of my job? Should I take my time to understand everything properly(this could take eg 2 weeks since its a lot of new stuff involved) or should I just rush to get it functioning asap?

5
  • Did it ever occur to you to ASK? The list of questions is one we can not answer - we do not know the employer. But they are something whoever is responsible for you should answer faster than it took you to write down this question, and he knows the answers.
    – TomTom
    Jan 16 at 20:53
  • I did ask, they said the time limit is of no concern, which i wrote down in my question. Its a company, people lie, especially people who might economically prefer if you didn't know the answer. I think to believe otherwise would be naive.
    – Ihater
    Jan 16 at 23:17
  • If you start using Stack Overflow for work problems, may I suggest you change the text in your profile. :)
    – simbabque
    Jan 18 at 15:07
  • @simbabque Done. Now there's clear communication.
    – Ihater
    Jan 18 at 19:47
  • Just FYI plurals never, ever have apostrophes. It's just apis.
    – Fattie
    Jan 18 at 20:34
6

My employer has given me a task to implement a new feature in their architecture, which works all the way from the api endpoints to the database [...]

Good for you. This looks like a nice internship. You get to work on the actual product, like everyone else in the team. Would you prefer an internship where you get menial tasks to do? I bet not.

This is a great opportunity to learn things and show your employer what you can do. Which I think is why you were given the work that you were. My assumption is that they want to see what you can do.

For a company, an internship is a great way to see what potential employees can do without actually hiring them. If you do well, you might get a job offer at the end. Even if there is no open position at the end waiting for you, they will keep you in your database and you will be the first to call when a new job position gets opened.

Don't take this the wrong way, but they probably don't have great expectations from you. You are an intern afterall, they know what they are getting themselves into (at least I hope :D).

So first of all, keep calm. If you stress yourself you will make silly mistakes.

Second, make a plan. It doesn't need to be very detailed, just to figure out where you need to make your changes and what that might involve. Then take this plan to whomever is in charge of you or your work and run it by them. Tell them this is how you want to proceed and ask them if they see something missing or if they have some feedback. If all good, then go to work. If you discover new things that might affect the plan just adapt it as you get more information and insight into the product.

I would suggest you build this incrementally and iteratively. Build something very basic from end to end and see if it works. Then do another pass and add even more things working, still from end to end. Then do another pass and add some more. This way you avoid spending a lot of time on one piece of it, maybe with some assumptions in mind, and when you need to build the next part you notice that your assumptions are wrong. When you iterate and increment you are building a skeleton that works, then you add some meat on it, then some more meat, then... you get the idea.

Don't rush. You can work overtime if you want to, but don't over do it, it leads to burnout, to becoming tired, inattentive and then making mistakes. There might be no stated deadline, but if you impose yourself one, then you will rush, take shortcuts, and again, to making mistakes. You will have plenty of deadlines once you get a job as a software developer, trust me :D. So for now, just do your best. That's probably all that's expected from you.

0
5

My rule of thumb: if you are a twelve month intern and over that time contribute net zero to the team - i.e. the value you generate is equal to the value lost by other members of the team working with you - then that's pretty much the top end of what I expect, and will result in you getting a job offer. And of course, the value you generate will almost certainly be concentrated in the second six months, not the first six.

However, I don't know what your employer thinks. All you can do is to talk to them, and keep asking how you're doing.

Am I expected to work overtime/work outside of my job?

I never expect anyone on my team to work outside their contracted hours (modulo official on-call duties). But again, your employer may have different expectations.

Should I take my time to understand everything properly(this could take eg 2 weeks since its a lot of new stuff involved) or should I just rush to get it functioning asap?

I would want you to understand everything properly. Rushed code is bad code, and bad code leads to bugs and more work down the line. But again... I'm not your employer.

tl;dr: talk to your employer.

You must log in to answer this question.

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