43

I've been given a project over 5 months ago. I felt like it was beyond anything I've done previously when I got it, but I believed that since I've been given it, the task must suit someone of my level, and eventually it will come together.

This is my first job as a software engineer as part of a placement. So I haven't graduated in Software yet.

It is now three weeks to go till the end of the contract, and I am unable to make sense of what I have done and what I am doing. I don't know what to say after I initially expected the project to just work.

Is there a chance they would have given me a project beyond my ability, which I cannot complete?

What is the best thing to do? Should I try to complete it even though it is past the deadline or let it be known I can't finish it. (rather than keep saying it will be ready before I leave)

bob
  • 6,993
  • 1
  • 17
  • 43
ASsby
  • 679
  • 1
  • 5
  • 6
  • 13
    So, this is an internship? – Sourav Ghosh Jun 07 '19 at 11:03
  • 69
    How did you go 5 months without knowing what you've at least tried or what you're missing? What makes you think you can finish it under these circumstances? – lucasgcb Jun 07 '19 at 12:06
  • 5
    Take a look through some related questions, this feels like a duplicate to me: https://workplace.stackexchange.com/questions/90031/i-have-been-put-on-a-project-thats-too-hard-for-me-and-i-feel-like-i-ruin-every https://workplace.stackexchange.com/questions/80900/unable-to-complete-a-task-at-work-due-to-lack-of-relevant-skill-how-should-i-te https://workplace.stackexchange.com/questions/21972/got-in-over-my-head-on-a-project-how-do-i-tell-my-boss-i-cant-do-it-anymore – dwizum Jun 07 '19 at 12:49
  • 2
    Is it just me or does it seem like we've been getting variations of this same question about once a week lately? – AffableAmbler Jun 07 '19 at 21:39
  • 18
    Sounds like you've had a great learning experience. Make sure you really do learn from it, and never do this again. – Dawood ibn Kareem Jun 07 '19 at 23:49
  • 2
    This question looks also like Ms. Paula Bean's story: http://thedailywtf.com/articles/The_Brillant_Paula_Bean (whether real or invented) – usr-local-ΕΨΗΕΛΩΝ Jun 10 '19 at 09:10
  • 1
    @AffableAmbler That's probably not that surprising. This is the time of year that a lot of internships would be ending, and getting overwhelmed and not wanting to admit you're struggling isn't exactly uncommon, especially for those with no/limited experience in the professional world. Once they start running up against a hard deadline (their internship ending) burying their head in the sand, or hoping the situation will eventually resolve itself, stops being an option. – Anthony Grist Jun 10 '19 at 13:45
  • @AffableAmbler - The variations wouldn't happen to have been "over 2 months ago...", "over 3 months ago...", "over 4 months ago..." have they? – RyanfaeScotland Jun 10 '19 at 16:36

6 Answers6

140

You should already have asked for guidance at the very beginning, when you felt it was overwhelming - but better late than never.

Immediately reach out to your superior / manager and make them aware of the situation. Ask for their guidance and suggestion on how to move forward, and what to be done / focused on to be completed in the time remaining.

Is there a chance they would have given me a project beyond my ability, which I cannot complete?

Yes, they certainly can.

To elaborate, this assignment may actually be well out of your scope, and the organization / manager may actually never expected you to finish it on your own, instead what they wanted to see is how you approach / deal with situations when something is beyond your control. So far, sorry to say, you've done a very poor job.

As you're a beginner, remember three very important things:

  1. Communication is the key. It does not matter whether the news is good or bad, ceasing communication will not give you any benefits. Provide regular updates, seek regular feedback.

  2. Never be afraid to ask for help. The smartest of the people knows when they need help and they ask for help as and when needed. Getting the work done is the priority - if you need help to get it done, so be it.

  3. Hope for the best, plan for the worst. Learn to break the work in smaller pieces, and target one (or more, based on the capacity) at a time. Don't drag the deadlines with a hope that eventually things will work out - if something does not work, go back to point 1 and 2.

bob
  • 6,993
  • 1
  • 17
  • 43
Sourav Ghosh
  • 72,905
  • 46
  • 246
  • 303
  • 4
    Perfect answer - covers absolutely every angle. I don't know why you would lie about something you clearly have no idea how to complete. Always be honest so you can improve and learn. You need to accept guidance – Twyxz Jun 07 '19 at 11:15
  • 59
    There is also a possibility that the OP misunderstood the project, and what was actually wanted is much easier, but this answer's recommendations would handle that case. There has been a management failure - I would not leave an inexperienced programmer alone for 5 months without asking them about progress and discussing their approach to the project. – Patricia Shanahan Jun 07 '19 at 11:23
  • 2
    @PatriciaShanahan True that. – Sourav Ghosh Jun 07 '19 at 11:27
  • 5
    Great answer. When you see a project potentially going sideways, let your manager know ASAP. Sooner is better. – Neo Jun 07 '19 at 11:54
  • 1
    This answer is a bit harsh. Part of being a developer is learning, and solving puzzles of how to do things. By the very nature of what developers do, even the best developers will say they don't know, and have to study to figure it out. I don't fault him for not immediately running to the boss and whining that he doesn't know how to do it. – Keith Jun 07 '19 at 12:07
  • 1
    @Keith Three weeks to complete five month is "immediate" to you? I'd be surprised. – Sourav Ghosh Jun 07 '19 at 12:09
  • @Keith until he can't finish it and his contract is about to end? – Twyxz Jun 07 '19 at 12:10
  • 3
    @Keith You are on a website spawned from a network that was born due to the very fact developers need and look for help on a whim, while trying is important for personal growth OP went 5 months without asking for any it seems and this thoroughly impacts progress (reason why you are hired). – lucasgcb Jun 07 '19 at 12:10
  • @Keith Also, it's not "whining", it's called asking for clarifications. – Sourav Ghosh Jun 07 '19 at 12:11
  • 1
    I get that. Do it enough times, with enough regularity and can appear to be whining. A competent developer does not run to the boss as soon as an issue appears challenging, and I thought the answer I responded to was a bit harsh on him for not being that guy. To say "you've done a very poor job" at communicating is harsh. He's a newbie. He is learning. Part of the job involves learning and researching solutions on our own and figuring out how to solve complicated issues. – Keith Jun 07 '19 at 12:37
  • 2
    @Keith again, he's missed the deadline, the company is now suffering. To say he's not done poorly would be lying. If you don't think you can complete it then you say, you don't just keep researching till you miss all deadlines. – Twyxz Jun 07 '19 at 12:41
  • 7
    @Keith, that is true. But the other part of the job (a really important part) is keeping your manager and stakeholders informed on how things are going so they can plan ahead and get you help if it's needed. missing a deadline is often not that big a deal if your manager knows about well before it happens. – Seth R Jun 07 '19 at 12:42
  • 13
    @Keith There is a significant gap between struggling for 5 months without asking for help, and asking for help so often it becomes annoying. – Patricia Shanahan Jun 07 '19 at 15:35
  • As a beginner it's also good to remember that screw-ups are generally recoverable, especially because management expects (if management is at all competent) beginners to screw up. So it is worth including this fact in this message. As worded it risks panicking OP, which would not be helpful. – bob Jun 07 '19 at 19:35
  • 1
    Never be afraid to ask for help - I've seen people (and I think 20 years ago also was one of them) that asked for help for every miniscule thing they happen to stumble upon. This ususally does not lead to healthy relationships with those who you ask, so in my opinion Never is to strong here – Andrew Savinykh Jun 07 '19 at 23:01
  • 1
    @Keith Personally I hate nothing more than people disturbing me and asking for help without first trying to work out the problem on their own (and googling!). So I see where you're coming from. But honestly your stance strikes me as very contrarian. I can't imagine you really believe that waiting four months before asking for help is sensible in any situation. – Voo Jun 08 '19 at 08:15
  • 1
    @lucasgcb SO assumes that people don't come "on a whim" but do a reasonable amount of their own research and effort and only then come for help. Zero-effort questions typically end up being unanswerable 'cuz the asker puts just as much effort into writing it. – ivan_pozdeev Jun 08 '19 at 12:27
  • @ivan_pozdeev What I meant is SO is set up in a way where if you google after the solution for what you need, you'll get the answer if it already exists. From the start it was supposed to work as a wiki of sorts. This comes after the fact developers indeed ask for help for all sorts of things on a whim. "Researching" in this case is no different than "looking for help", there is no painting this differently. – lucasgcb Jun 08 '19 at 15:47
  • 3
    To elaborate, this assignment may actually be well out of your scope, and the organization / manager may actually never expected you to finish it on your own, instead what they wanted to see is how you approach / deal with situations when something is beyond your control. - it's also possible (and I'd say it's more likely) that they just gave out a chunk of work, and assumed it was doable. – Rob Grant Jun 09 '19 at 13:05
  • 1
    @SouravGhosh Since you're talking to a beginner, you should tell them what the "plan for the worst" part actually means: they might be out the door, with a bridge burnt. I think you need a 4th bullet point to take this great answer to the next level. – employee-X Jun 10 '19 at 04:40
  • This answer is factually very good, but misses the fact that one of the most important things for OP in this situation is to learn from the situation. The current wording is perhaps too harsh to facilitate this goal. I know if I was in OP's situation (and I have been more or less), reading "you've done a very poor job" wouldn't put me in a very good frame of mind for learning. – bob Jun 10 '19 at 18:04
18

Is there a chance they would have given me a project beyond my ability, which I cannot complete?

That chance is actually pretty high.

  • It is very difficult to estimate the complexity of a software project before you actually start to look into how you are going to implement the details.
  • It is next to impossible to estimate the complexity of implementation details when you are not an experienced software developer.
  • They can't look into your head to see what skills you have and what skills you lack.

That's why it is very important for software developers to communicate the true difficulty of any assignments. You are responsible for giving your superiors realistic time estimates and to communicate how certain you are about these estimates. It is also your responsibility to correct those estimates when unforeseen complications arise. And you are responsible for saying "No" when they demand something that is impossible, because they might not be aware of what is possible and what is not.

What is the best thing to do?

Do not just wait for the deadline to apologize for failing them. Tell them as soon as possible that you will not reach the project goal at the given deadline. The earlier they know, the more time they get to adjust any plans which rely on your task being complete. The longer you wait, the larger the damage.

Philipp
  • 40,012
  • 10
  • 92
  • 143
  • This is an important point. Just because you were given 5 months to complete the project doesn't mean the project will take 5 months to complete. It could be someone with your skills would actually need 7 month or 10 months or more. Being honest with your manager as the project progresses lets them plan to have someone take over when you leave, or bring in help, or decide if the project is even worth doing. – Seth R Jun 07 '19 at 14:24
  • Thank you. In the end I have made it clear I don't know where to go with the project. I was able to implement some things but I don't know if the person who will pick up the project will use it. Its been admitted to me that the person who the information was with is not very open about their work, and that they drafted out a template for the person who is an intermediate at this, and they don't know why they haven't done that for me... – ASsby Jun 13 '19 at 13:42
12

Let them know ASAP where you stand

Let your supervisor know immediately where you stand on the project in terms of your progress. It won't feel good, but it's the best thing to do. It will only get worse for you if you hide the truth, and you may be surprised by how things turn out. They're usually not as bad as we make them out to be in our heads.

Learn from this (very common) beginner mistake

Almost all beginners mess up in a similar fashion. It's part of the learning process. Don't freak out, don't beat yourself up or decide it's the end of the world. It isn't. Mistakes are recoverable, even if in the worst case you lose this particular job due to your mistake. The important thing is to learn from your mistakes. In this case the lessons are:

  1. Always let your team lead/supervisor know immediately when you suspect you won't make a deadline. This gives them the maximum time to course correct;
  2. Always ask for help if you need it (after trying a reasonable amount of time on your own*). The workplace isn't like school--everyone works together, and it's expected.

*Reasonable here is a day up to a week maximum spent trying to figure things out on your own.

bob
  • 6,993
  • 1
  • 17
  • 43
6

This is a failing of theirs, but you also have to take some responsibility. They should not have given you almost half a year's worth of work and then just expect you to deliver on the deadline. Someone should have been checking the status every few weeks at the very least to see how things were going. If they'd have done this then they would have picked up on the fact that you were struggling much earlier.

On the other hand, you simply cannot wait until you're 90% of the way through a project to let them know you have no idea what you're doing. What have you been doing? This is not school - they do not give you 5 months because they expect you to procrastinate and complete the task the weekend before it's due; they give you 5 months because that's how long they think it will take.

There is presumably no way you can finish the task on time now, so it's time to put your hands up and admit you messed up. You should do so promptly - it's not going to get any easier to have that conversation. And be honest with them. If you felt too scared to ask for help then tell them that. Try to help them to learn from this experience so that they can do better next time.

Ultimately, no one's died. The contract cannot be that important or they would not have given it to a junior, and they would have checked in more often. You may have missed an opportunity to work at this place in the future but given that they left you to your own devices for so long, I can't say you'd be missing out on too much.

Use this as an opportunity to learn. Make sure you never make the same mistake again. Being able to admit that you don't know something is a strength, not a weakness; no one knows everything.

Michael
  • 1,917
  • 1
  • 11
  • 18
  • Are you saying this is a bad way of rating interns? Seems like a fairly low overhead process to me. – Sean Houlihane Jun 10 '19 at 11:25
  • @SeanHoulihane Showing zero interest in potential candidates unless they directly approach you seems like a great way of rating interns if your goal is to alienate, exclude and ultimately not hire them. – Michael Jun 10 '19 at 12:22
  • I don't think this is a failing of OP's. How was s/he supposed to know what to do? The culture of programmers discourages asking for help; if the company's interest was to teach the intern how software projects go and/or to get this piece of work done, they should have been teaching him/her how to go about providing updates and getting whatever resources are needed. This is only OP's fault if s/he reported that things were going fine when they weren't. – rcook Jun 10 '19 at 17:40
  • 1
    @rcook Their mistakes were understandable and forgivable because of their lack of experience, while the mistakes of the company were not, but just because it was excusable does not mean it was not a mistake. This is an opportunity to learn how to act and behave in future, not to point to fingers. – Michael Jun 10 '19 at 18:28
  • 1
    I agree as long as we can divest "mistake" from "something you should have known you should/shouldn't do". OP had no way of knowing; while they can learn from that for the future, they had no way of preventing the current situation with the knowledge and experience they had at the beginning, and the company should have anticipated that. Experienced programmers do this all the time, it's practically expected from an intern. – rcook Jun 10 '19 at 21:36
1

It is very late for you to salvage this project and, perhaps, this employment situation, and as some of the other answers provided some ideas which might help, I'll rather provide some guidance so that you (or someone else) can avoid this situation in the future.

First, and most importantly, you need to have open, honest, and frequent conversations with your manager. You need to let him know where you are having difficulties, where you are stuck, what kind of help you need. To quote another answer I've written "your manager's job [is] to do his/her best to give you the opportunities to succeed". That might include guiding you on how solve a problem, pointing you to the proper resources, assigning more people to the project, or maybe finding a project which better suits your current skill/experience level. If you come to him 5 months into a 6 month project, and say you've made no progress, there is very, very, little he's going to be able to do to help you.

That said, your manager is likely a very busy person, and so if you aren't actively communicating the honest state of the project to him, it is quite possible that he assumes that you don't need help and that the project is going smoothly - it's also quite possible that you just completely fell off his radar. The onus is on you to seek him out and keep him informed.

The second piece of advice I'll give is to make progress every day. Even if it is very minor, even if it is just to schedule a meeting, send a few emails, download and install some tool you need, etc., you should make sure that you are making some forward progress every day. This is important because, besides the obvious of pushing you closer to the final goal (even if only infinitesimally), it improves your psyche - it make you feel like you aren't stuck; it keeps your spirits up.

dan.m was user2321368
  • 13,563
  • 4
  • 37
  • 55
1

Keep your composure .... never let them see you sweat..

Buck up .... show what you have done and prepare a write-up on design and/or lessons learned technically ....

With a few weeks left make something work even on a small scale.

God luck ... you are not alone ...

Dennis
  • 19
  • 1