I am currently working in a small firm of less than 20 people as an only software engineer for a contract position for doing a software application. I am currently not confident that I can finish the job given to me. I don't feel I have the proper technical skill set to do all that is required of me.

I could continue my job and finish my contract period of 6 months but it would basically be at the loss of the company if I can't finish the job.

I am thinking of resigning to save myself the stress and the company the bother. Should I up and tell them I resign, explain the situation or what?

  • How long have you been working there? You're probably just started, but how long exactly?
    – yannis
    Commented May 30, 2012 at 4:19
  • @YannisRizos for 3 months Commented May 30, 2012 at 7:28
  • Are you afraid that after saying that you quit in a few months their attitude towards you will change to even worse?
    – user1023
    Commented May 30, 2012 at 9:50
  • 5
    Can you elaborate on why you're not confident you can finish the job? Is it because of the time limits, lack of skill-set, lack of resources, or lack of interest? Also, are you a contractor working free-lance or for a consulting company?
    – Angelo
    Commented May 30, 2012 at 12:55
  • 1
    When you were scoping out the contract, did you feel that you had the necessary skill set? What changed since then?
    – tehnyit
    Commented Jun 3, 2012 at 16:58

4 Answers 4


Most importantly, be honest with the company and communicate the situation clearly to your manager. Completing the contract with the full knowledge that you won't be able to deliver, or leaving the company before the contract is finished lacks integrity.

I'm presume you honestly didn't have full understanding of the scope of the technology when you commenced the project. (If you took the contract with the knowledge that you couldn't deliver, that's a different matter).

Call a meeting with your manager and be very clear. Open the discussion with:

From the work done so far, I've come to understand the project much better. From my analysis, it appears that we will need x, y and z technologies. I can deliver those parts of the product that rely on x and y, but unfortunately I will find it difficult to deliver those components that rely on z.

The next thing to do is to give your manager options. It shows that you're preemptively fixing this problem. Off the top of my head, you could:

  1. Find a tool that could help you and suggest this to your manager.
  2. Find a training course or book that will fill the gaps in your knowledge and suggest to your manager that you take some time to get up to speed (perhaps at your own cost).
  3. Give them a description of the skill set that your manager should look for on resumes, and offer to help find that person.

Depending on your existing relationship, the company may very well want to keep you on regardless of the lack of technical knowledge. Experience and sound management always trump technical knowledge.

  • 12
    From the hiring manager's point of view, quitting is the worst thing you could do. You've already built up knowledge of the problem which any new person is going to have to learn. Talk to you manager like Michael says. If you like, tell them they can cancel the contract without penalty if that's what they want. But also remember that it may not be as bad as you think. Commented May 30, 2012 at 13:00

In my experience, these situations can sometimes be matter of perception - you may be overwhelmed, and feeling like you couldn't possibly deliver, but someone with a clear head might see things differently.

I'd definitely suggest talking it over with your manager, but don't start the conversation like "I don't think I can do this, so I think I'll quit" - which will immediately catch them off guard and set you down that path. Instead, I'd start talking about your stress, the causes of that (unfamiliarity with technology, being out of your depth), and start talking about solutions - is there someone else they can bring on to assist you, or mentor you. They might be surprised to hear you're struggling, when they thought everything was just fine - give them time to think it over and come up with a brilliant plan of action. It may turn out that they're happy to move the deadline, or some other kind of solution.

In short, quitting should be a last resort - it will be quite disruptive for both of you.


Well the worst possible thing you can do is wait until the just before the deadline and quit with no notice. We had someone do that to us and it blackened his name not only with us but to every other employer who later hired one of our employees who worked with him.

Quitting every time you get in over your head is a losing proposition. It is better to stick it out and learn to work through problems rather than give up.

So first steps, you need to triage what the problem is. Is it lack of the technical skill you need, lack of the time you need or both? Or is it something else?

If you feel that you are in over your head technically, then you need to own up to it and ask for help. Tell them what you are stuck on and go in with a plan to get the skills you need. Tell them how this might affect the deadline.

If you feel the project as given to you cannot be completed due to time constraints, then spend a couple of hours and lay out all the tasks in detail that need to be done to meet the requirements and how long you estimate each will take and show them the problem. Ask them to either remove some requirements from the initial project and push to later versions or to move the deadline out to something that is reasonable. But don't do this until you have the details to show them why it is necessary.

If the problem is that you can't get a handle on the requirements because they are ever changing or not well defined, then you need to sit down with the stakeholders and get a solid requirement that you understand and then you need to make sure that any change to it adds hours to the project plan. Use the house building analogy if you need to in order to get the the stakeholders to understand what they are doing to you. A builder wouldn't accept changing the floor plan in mid-construction without additional time and money and neither should you.

It is possible you could also just be in that stage of a large project when you feel you have made no progress but just before everything starts to come together. It is my experience that there is a stage in most large projects (and not just software projects) when things look hopeless. Usually this is just before you make some major breakthrough. If you think you have the skills and you understand the requirements, often this is what you are experiencing. Sometimes it helps to look back and see how much you have actually accomplished. Sure nothing works yet, but how close are you really to making things work. There can be a lot of up front prep time and setup stuff in some projects that doesn't feel like progress but is. If you have a project plan, you can see what tasks remain to be done and how long they will take. This should give you confidence that you can get them done.


Nobody is perfect. I've felt the same sometimes, but this is how you challenge yourself to accomplish things. Most likely you are lacking because you don't have enough knowledge to do that job, which you can overcome easily by:

  • Challenging your self. Can Do attitude.

  • Requesting help from your peers

  • Understanding what steps are required to accomplish this job. Usually people get confused because of ambiguity in achieving the task.

I know you can do it. Just try to cut the cake in pieces rather eating a full cake at once.


You must log in to answer this question.

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