Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I conducting my summer training or internship for 2 months in an IT company as a a Sysadmin and Web developer. This is my first week.

My mentor assigned me to work on an existing Flash/AS3 project(alone) to improve it and add new features. ( I think this wasn't part of my training plan)

The problem is that I have never worked on AS3, so I took my time this week to learn as much as I can, about it. Today, I saw the source code of the project and it was outsourceed with 3500 lines of code plus no comments or any documentation included. I am panicking . The company has no one with AS3/Flash experience nor my mentor.

I'm not sure if I can accomplish the task with their requirements. As it definitely needs an experienced developer in this field , plus I have only 2 months - so it's short. Hence , I'm asking here and looking for advice and suggestions on what to do next. Should I ask him and explain ? or should I risk and (try) working on it? what if I fail?

Thanks advance!

EDIT:

I'm not sure if I have to accomplish the task in 2 months. I'm sure less so that I work on other projects. I haven't really asked.

Since I'm not living in the US , I'm not sure if an Intern is the proper word to use. Every university student is required to conduct his/her summer training for 2 months in a company. At the end , either he/she passes the course or fail.

share|improve this question
2  
My first internship was to work on a robot built by a German university - academic code, no comments, and non-english variable names. You'll be fine. It's your first internship and it's an internship; do what you can, and don't sweat over what you can't. –  Narfanator Jun 12 '13 at 1:48
1  
Like others have said, you'll be fine. Think of it this way, they thought high enough of you to bring you in as an intern and give you some responsibility. Make the best of your opportunity. You could be like me, spending my summer learning on my own. –  Gohn67 Jun 12 '13 at 6:21
1  
I haven't really asked. Then go do that :) That doesn't sound good! Clarify things asap. –  haylem Jun 12 '13 at 10:26
    
Re your edit, the more correct term instead of internship would be cheap exploitable slavery... The problem with those required lab works (I think that's the university expression) is that you're basically at the grace of the company, and they can e.g. blackmail you to do menial tasks like cooking coffee if you want a good review at the end. If they ask for more then one can obviously handle, tell the university's counsellor about this. –  Tobias Kienzler Jun 12 '13 at 12:13
1  
@TobiasKienzler This happens in many companies - A LOT! I can't thank everyone who contributed to this question. I really don't know whether to choose an answer or leave it open. I have talked to my mentor and he saw my question :) . He completely understood the stress I was having in the past few days. He told me to work as much as I can, on it. Next week they will assign me a more feasible project. Again I thank everyone for their time and help. –  Sobiaholic Jun 18 '13 at 19:59

5 Answers 5

up vote 22 down vote accepted

First, don't panic.

Imagine the worst that can happen. You try your hardest to understand the code base, can't get your head around it, tell your mentor, and he is disappointed and takes the responsibility away from you. But something good happened: you were honest about your limitations and didn't get in over your head and produce a bad product. That's a good story to be able to tell future interviewers if they ask "Tell me about a job where you tried to take on too much and had to realize your limits," or just "Tell me about a project that didn't come off the way you hoped."

Now imagine the best that can happen. You ask your mentor for a budget to buy a few books on ActionScript, you start reading the code, realize it isn't so hard after all, and in a couple of months you've added all the specified features and then some. You get an even better story to tell future interviewers, a great reference, and maybe a job prospect with the same company.

What's really going to happen? Probably something somewhere in the middle. You'll be frustrated, but you'll probably also learn a lot. Everything new seems overwhelming at first. A wise man said that when faced with a problem you don't understand, look at smaller and smaller parts of the problem until you find a part of it that you do understand, or that looks like something you've seen before. Assume that that part of the problem is what you think it is, and proceed outward from there a little bit at a time. If you get stuck, tell your mentor--that's what he/she is there for--but have some evidence to show him/her that you have at least tried to figure things out on your own first.

We've all been there before, and if you go into this career you're going to be in this same situation again. New technologies come along every day, and like the Red Queen in Through the Looking-Glass, programmers have to run as fast as they can just to stay in one place. Have faith in yourself and you will be surprised what you can accomplish.

share|improve this answer
    
According to OPs edit (after yours), the worst thing that can happen is that the mentor says "either you make it or I'll let you fail" –  Tobias Kienzler Jun 12 '13 at 13:21
    
@TobiasKienzler Hmm. That does make the situation more complicated. I don't know if this is a geographic/cultural thing, but I'm in the USA, where summer internships may be linked to course credit and required to graduate from a university program, but getting credit usually is just a matter of showing up. Sounds like OP is in a tighter spot. Maybe he can raise a concern with his academic advisor (or whatever the equivalent position is where he is--the person who guides him through the degree program and gives advice on courses to take)? –  dodgethesteamroller Jun 12 '13 at 14:22
    
I am of course only speculating, maybe the supervisor really just underestimated the effort. But a former co-worker's son was doing his (German Gymnasium ~ high school) internship at an Antivirus company and he had to literally make coffee for two weeks, and when he complained the answer was "do it or you won't get a positive confirmation" –  Tobias Kienzler Jun 13 '13 at 4:47
    
@dodgethesteamroller Your answer helped me a lot to look at my situation from a brighter side. I really can't thank you enough, and all of you! –  Sobiaholic Jun 18 '13 at 20:04
    
@iMohammad: You're welcome, I'm glad to have been able to help. Good luck! –  dodgethesteamroller Jun 18 '13 at 20:34

Communicate

Don't leave your mentor or supervisor in the dark. It's acceptable to have blind spots, problems or difficulties.

It's unacceptable to hide them and lead them on. This is obviously an issue, and issues need to be addressed as early as possible.

Ask for Help and For Reviews

If nobody at your office knows AS3, they may still be able to help you, or to offer some criticism and suggestions to move in the right direction. Plus, remember that a project you work on is a project you'll need to hand over to someone at some point when you leave. So you better get them to look at least a little bit at it, it's in their best interest.

Find Resources to Learn

There's plenty of tutorials on AS3 online, so you can try to start with simpler projects to learn a bit more about the language.

Don't Panic

3500 LoC is nothing. You'll get the hang of it pretty quickly.

share|improve this answer
1  
+1. Asking for help is the most important thing. –  gsingh2011 Jun 14 '13 at 23:04

If you were hired as an intern then no one should be expecting miracles.

Having said that, 3500 lines isn't that big. I've seen some horrific single classes that were 3 times that. Take your time and don't be afraid to ask for help. Read the code. If you don't know the language then spend some time with google figuring it out. You don't need to memorize how the whole thing works. Find the entry point of the program and start stepping through. Click the buttons and turn the knobs and see how they affect the code.

If you really feel like you're stuck, make sure you tell someone. The very worst thing you can do is make it to the end of the deadline and have to tell your boss you've been stuck from day 1. As long as your resume was up to date, they should have a reasonable understanding of what you're capable of and it shouldn't be a huge surprise if you need some help.

It took me about a year after I started my first job before I felt confident modifying code. From what I've heard, this is pretty normal. Hang in there.

share|improve this answer
    
Since I'm not living in the US , I'm not sure if an Intern is the proper word to use. Every university student is required to conduct his/her summer training for 2 months in a company. At the end , he/she either pass the course or fail. I can't thank you all enough . I'm going to read all the answered again and again and decide. –  Sobiaholic Jun 12 '13 at 6:23

You should discuss your concerns with your mentor. A mentor is there to help you. Do not be afraid to ask questions. Ask a lot of questions. Learn as much as you can from them. You have to trust your mentor.

I can't emphasize this enough, but tell your mentor the concerns you have posted here. That will be a good starting point.

Although you are working on this project alone, keep in mind that software development is not just about programming.

For one, communication is very important, not just in software development, but in most things in life.

Some possible questions you can ask:

  • How would you tackle an application where you have no experience with the language or codebase?
  • How would you go about designing feature X?
  • What is your design process when working with someone else's codebase?
  • You can also ask him to do code review for you.
share|improve this answer

Ask what is expected from you

You may get the things wrong. Typically, there are deadlines in companies, and the estimates, how much such work should take, but programming is not cottage building, there are many unknown factors. It's typical that some work that was estimated to 2 months takes 2 weeks, and in other case 2 years.

How would you be evaluated

You should be evaluated on the basis how are you working in the project, are you making progress, are you willing to learn. Evaluating you on the basis of the tasks accomplished wouldn't make much sense since, as you have written, there's no employee in the company that could really precise estimate the complication level of your task.

What could be a case here

The company doesn't have Flash/AS3 developer, neither can she assign one of existing to that task. She has probably no good task for an intern. So they gave you that project in hope that maybe you'll move it forward.

What if they would blackmail you

It could also happen, hope it will not be the case, but better to be prepared. They should not condition crediting your internship from accomplishing all task, since even experienced programmer could fail. But in that case, you should speak with your mentor about such practices, and if they take place, the company could be excluded from internship program. But fortunately, such thinks happen rare.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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