110

The backstory: I am a paid intern who did OK initially, and so was handed a fairly major project and was given free reign over it. The project is now over half way done. The client thus far has been very happy and has shown enthusiasm when looking at it. However, they have asked me to add a critical feature which cannot be done without very advanced and computationally expensive techniques. It involves analysing, parsing and adding data from a massive, 30+-year-old dataset without uniform columns and without a uniform schema. This goes way above my pay grade, level of interest and ability. It would probably require machine learning.

At the same time, I am also carrying out several other difficult projects for this company, which are taking up a lot of time.

If I quit, it would be disastrous for the client and would probably lose my current company a lot of credibility, and I now regret starting in the first place. However, it would be the biggest weight off my shoulders.

What are my options here? I like the people I work with. It is a small company and so I would feel bad on a personal level if I quit at this time.

Communication seems to be largely between the client and management, and typically I'm only informed of what the client wants after management has already told them I can do it. Basically, I had no input in deciding whether it was possible, and wasn't actually shown the dataset until after the firm had said they could do it.

  • 2
    Comments are not for extended discussion; this conversation has been moved to chat. – Jane S Jul 12 '17 at 11:10
  • 2
    Your question is unclear to me. Is the difficulty of the situation the only reason you want to quit, or do you want to quit for other reasons? – jpmc26 Jul 13 '17 at 10:09
  • 45
    Apparently it was acceptable for your management to have a bus factor of 1, you shouldn't be too worried for the project if management was never worried before... – Laurent S. Jul 13 '17 at 14:24
  • @Laurent S. And if (he/she) walks under the bus? – ChrisR Jul 14 '17 at 6:54
  • 1
    I'm confused by your use of the term "quit". It sounds like you are working for a software consulting firm on projects for outside clients, in which case do you even get to decide to quit a client project without quitting your job entirely? – jhocking Jul 14 '17 at 18:02

14 Answers 14

259

What You Said

Tell your manager what you just told us:

  1. The skill sets needed to complete this project are way above your paygrade and will therefore require increased time and devotion for you to learn and implement correctly the techniques and technology.

  2. Other projects are consuming your time.

  3. You cannot do both #1 and #2 at the same time and achieve a successful outcome.

Then, ask your manager which option he or she would like for you to do. If you manager says "both", then you know you need to move on.

  • 151
    +1. It's your manager's job to manage your workload, and if they don't know about the client's request and your belief that it's more than you can handle, then they're not doing their job. Let them. – Scraping Infinity Jul 11 '17 at 17:07
  • 31
    @Fattie Money doesn't solve everything. If nothing else changes, he'll still be frustrated/bored/unhappy. On the upside, by the time he does quit (again, if nothing else changes), he'll have amassed more money. – Llewellyn Jul 11 '17 at 17:52
  • 12
    @Llewellyn True, money isn't everything, but that's OK. Reasonable people don't want everything. They want money, though. – Ed Plunkett Jul 11 '17 at 19:41
  • 7
    Given the OP's recent comment, I'd only add that if their manager is willing to work with them about their workload they might also suggest being part of client meetings when they discuss new features. – BSMP Jul 11 '17 at 20:06
  • 12
    The fact that the developer was NOT included in the decision process on what is possible and what not. That is what i would talk about with the management very first – XtremeBaumer Jul 12 '17 at 9:20
153

It is acceptable to quit anytime.

Get a new job1, give the notice that you are required to, do whatever you can to ensure a smooth transition and leave.

Nobody is indispensable. Once you are gone, they will figure out a way to carry on without you. If they don't, their own poor planning is to blame. They shouldn't make a huge chunk of business dependent on a single person, with no backup plan.

Once you have parted ways with the company, it is no longer your problem how they run their business.


1 ... or have some alternative plan worked out, for example, going back to school, or travelling around the world, or just staying at home to look after family, or whatever else is important to you.

  • 119
    Let alone dependent on an intern. – Richard Jul 11 '17 at 20:54
  • 40
    @jwenting If you wait until all your projects are concluded, you will never be able to leave. You are not "creating nasty problems for your employer", you are following the standard process required to quit a job. You have no control over what they speak behind your back, so forget about it. – Masked Man Jul 12 '17 at 8:03
  • 3
    @Richard don't say that, interns are quite capable [warning: Dilbert strip] – Mindwin Jul 12 '17 at 13:11
  • 4
    @Mindwin just because interns are capable doesn't also mean they can dump senior level/mid level work on them. I worked for a company that basically did all the claims OP did with me except for I was entry level at that time. I was solo on tasks being done by other guys who had 20+ years of experience and I was getting paid 1/3rd of what most of them were getting. I tried approaching them about a raise and better tasking of projects. Ultimately I had to make the choice to leave as my sanity and health were on the line due to poor management. – ggiaquin16 Jul 12 '17 at 18:06
  • 7
    Nobody is indispensable, but I know cases where they had to replace a departing guy with three or four new hires and even then... – Rui F Ribeiro Jul 13 '17 at 0:55
31

I feel like there is part of the process missing from your question.

In summary, what I read is "I am over-asked (too much and too complex work) so how do I quit?". You should probably take a step back, and consider what it would take for you to want to stay and work there.

One possible answer could be "nothing" - maybe you have already made up your mind that you want to leave this company. In that case, you have some excellent answers that come down to "do the minimum required professionally to leave on good terms (notice period, handover) but don't worry about the future of the company". If you are indispensable, that is the company's problem, not yours.

However, you might see solutions to change one or more aspects of the current situation. Examples could be

  • You want to be trained in some technology (e.g. machine learning) that you require for the project
  • You want to become part of a team that already does this, so you can continue working on the project but have their backup for the parts you don't know (may be difficult in a small company)
  • You want to be taken off this project; that would allow you to focus on the other projects you have well enough to make them successful.

Once you have figured out what it would take to make you stay, then have the conversation with your manager as per Prinz' excellent answer. This allows you to go in with not just a problem, but also a concrete solution for them to consider. If they cannot or will not work with you to make your work load feasible, and the monetary reward sufficient, you always still have the option of quitting (and we are back to case 1).

One final remark:

[T]ypically [I'm] only informed of what the client wants after management have already told them I can do it.

Do not take this into the meeting with the manager as it may come across as finger pointing ("You told them I would do this, I could have told you I can't"). Blaming them is not going to make their attitude more positive towards you. If you have to say anything about it, try to keep it neutral ("the client requested this feature and we agreed it would be valuable for them but I don't believe it was communicated to them that I personally do not have the required skillset").

18

Question: Is "critical feature request involving 30 year old data" part of the original project scope?

Part of being a developer is dealing with "Scope Creep".

"Scope creep (also called requirement creep, function creep, or kitchen sink syndrome) in project management refers to changes, continuous or uncontrolled growth in a project's scope, at any point after the project begins. This can occur when the scope of a project is not properly defined, documented, or controlled."

https://en.wikipedia.org/wiki/Scope_creep

Does your management know that this "requirement" has been requested? ADDED? Are they aware of the requirements (Technology, specialization, data analytics, etc?) needed for this?

YOU are being paid to do X, Y and Z (Y and Z being other projects). Your company is being paid to do X, Y and Z. It sounds like the client wants X+A,B,C. X+A,B,C may be unrealistic, out of the price point, out of the time scope, etc.

So, I would suggest you talk to your management staff about what you've done (X), what the customer is requesting (A,B,C) and what the company needs to do (Charge more, bring in a new team, say no, etc).

Those choices are out of your hands - as they should be. That's what management is for: coordination with the customer to manage expectations, costs, time estimates, deliverable's, scope, etc.

Part of being a developer - especially a Junior developer (Hell, being a junior employee) - is learning that stuff costs money (Time, more developers, other resources... Windex and TP costs money). Is it profitable for the company to do this? Whether it's worth the companies time is a decision that you shouldn't be making.

You WILL run into scope creep (and decisions about whether to expand a project/add requirements) wherever you go and whatever you do. Learn to manage it NOW by putting it in the hands of those who are ultimately responsible. Running from this position won't benefit you in the long run.

After it's all said and done, maybe you'll still want to leave - which is okay. Maybe you'll never want to program again... But you won't leave with a customer who expects X+A,B,C which they company has no prior knowledge of - thus leaving them with a ticking time-bomb of your making.

5

You stated that you are an intern, the only member of a project team and that you are producing something of value to the company. This is a violation of employment law. You need compensation for all of your work. Interns are there to learn while working along side employees in various different roles and their earnings are college credit. Companies cannot hire a few interns and have them just do data entry for a few months for free and send them on their way. It sounds to me that they are taking advantage of you.

  • 6
    I went to a college that required co-ops (payed internships) related to my degree to graduate. Co-ops do not fall into the 'free labor' category and are exempt from some laws specific to internships, but are often referred as internships. It all depends on the terms and conditions of employment. – Nielsvh Jul 12 '17 at 18:24
  • @Nielsvh I had already work experience and volunteered to be an international interchange student to escape that scenario... – Rui F Ribeiro Jul 13 '17 at 1:03
  • 2
    I don't know where you are, but at least in the US there are no legal limits to what an intern can do. There are rules about unpaid interns, but "intern" does not inherently mean "unpaid." – cpast Jul 14 '17 at 4:05
  • And the OP already said that it is a paid internship. – Thern Jul 14 '17 at 14:39
  • @Nebr To be fair, that edit happened after Tom O posted this answer. – BSMP Jul 15 '17 at 17:41
3

Your question raises a lot of questions but I will make some assumptions and answer.

First, most US states have "at-will" employment laws which states that you can be fired at any time for any reason. But what is good for the goose is good for the gander. It also means you can quit at any time....

Intership, implies you are in school. If not then find another job first. If it has gone as well as you say you shouldn't have too much of a problem finding one. If you are in school then, "I am too busy and can't do both school and this job" is a valid answer. But, in my opinion, you shouldn't quit until you are back at school or you have another job.

And do you see what a better answer it is to say, "some other company wants me" or "I can't do both work and school" as opposed to "this is too hard and above my pay grade."

I also like Prinz answer. Tell your boss. If that conversation doesn't go well then proceed to my recommendation.

And, yes, work your agreed upon notice. Usually 2 weeks.

  • 2
    PS...don't be surprised if a "real" job offer comes of this. – Seth Spearman Jul 11 '17 at 19:56
2

That's pretty awesome that they're trusting you with so much as an intern. I'd suggest talking with management at your company about outsourcing that work to a data engineer or something similar. Management will respect you for that and will see you as a proactive member in doing what's best for the client.

What complicates things however is if management has already accepted a change request and charged the client accordingly for the new work and didn't account for the extra cost, either you having to learn the new material, or outsourcing. IMO it seems outsourcing may be a better idea as there seems to be a lot of risk involved in this particular feature.

If management has charged the client, they could mention to the client about the issue and give the option of refactoring in the new cost, or simply refunding the client what they charged and dropping the feature for now.

If management starts breathing down your neck for you to develop the feature, I guess it depends on how much you want to risk your reputation. If they'll give you learning time factored in and you think you can do it, go for it. But know that this could potentially be a big risk to you.

I'd recommend taking a stand in pointing out you either need time to learn to build the new feature, or they need to outsource a specialist for that. This then gives you leverage to put the ball back in your management's court by simply asking if either of those would work for them. If it doesn't, then ask what would.

If they keep trying to push you into a corner (to start on the feature right away) and you're feeling uncomfortable, you'll need to make a decision then. At this point it will be very likely the feature will fail, and management will put 100% of the blame on you. If you leave now, then you'll have a legitimate story as to why you left, how you did your part in solving problems, and potential employers will see you in a good light.

So seems like you have some options to choose from. Best of luck!

1

Yes it is acceptable, but that does not matter

As you can see from the other answers, as a normal employee it is acceptable to quit at pretty much any time for pretty much any reason, however consider the following:

If developers were to quit each time when a stakeholder asked someone unreasonable...they would not last a week in most jobs.

Therefore, my answer would actually be:

You are presented with a classical challenge, step back and decide how you want to deal with this.

Options

  1. Quit, and hope that it takes a while for this situation to occur in your new job (because it will occur)
  2. Just do what you can, hope it doesn't make you feel too bad and hope they are not too sad when you fail
  3. Clearly state what you think you can feasibly do, and ask how they want you to proceed.

If you choose 3, there are mainly just 2 relevant outcomes

Outcomes

a. You will be doing something that you feel good about (all other thigns are not really relevant, assuming that your feeling also takes account what will happen in the future)

-> Problem solved

b. You will be doing something that you don't feel good about

-> Now you can go with option 1 (quitting) or option 2 (waiting) or even option 3 again (escalating)

0

From a more mercenary point of view, what is your company doing for you? If the client wants some work done, and you are doing all the work, why is the company you are 'working for' even involved? How much is the client paying your company for this project, and how much of that are you making? Why can't you complete the project yourself as an independent contractor?

The answer to those questions is that the client has signed some sort of contract with your company to deliver a product. That contract probably can't be simply abrogated.

However, it may be worth your time to look into the details of what the client and your employer's contracted obligations are, and how much is being paid. That can help guide your decisions.

My point is: you are thinking of quitting anyways, you have a client who knows you and likes you, and this client needs work done that you are better at delivering than your current employer. Therefore, it seems like you might have a job lined up for yourself already.

Just to be clear, this is a risky option to pursue, but then again, so is starting a software company in your garage.

0

Don't assume that this means your input will not be valued:

typically I'm only informed of what the client wants after management has already told them I can do it

It actually sounds like you have likely gained respect for what you have achieved, that is why you have been entrusted with "several difficult ... projects".

My guess is, if you raise the issue, your boss will respect this (and very likely the customer too), and your feedback will be taken seriously and acted upon.

In particular your management will know they can't make you responsible for any problems here. As you say, it's beyond you (probably beyond any single person, nothing to do with your pay grade / experience / competence).

If push comes to shove, your management will carry the can for over-promising / under-resourcing. Even if they were to try and make life difficult for you, they will get the blame, taking responsibility is the fundamental job of a manager.

0

typically I'm only informed of what the client wants after management has already told them I can do it

Non-technical management should always give their technical staff a chance to weigh in on the feasibility of something before they commit to it. Management is responsible for creating this situation, and it's up to them to decide what to do about it. They may decide to bring in more developer resources, or modify their agreement with the client.

Do not threaten to quit. But if management does not acknowledge and correct their mistake, quit and do not feel the least bit guilty about it. They made their bed, now they can lie in it.

0

Quitting in the middle of a project if you are the only developer looks bad. It will cause you problems when you try to use them as a reference. Instead, apply the principles of scrum. With scrum, a project starts with a requirements gathering phase. Then, the project is developed. If new requirements come in, they are put into a backlog until the original requirements are complete. In this case, enforce scrum by giving a very low priority to the new, complex requirements you are unable to do. Give them what they originally asked for with the new feature being "phase 2". When "phase 1" is complete, tell them that "phase 2" would require a specialist. A previous answer mentioned scope creep. This is how you deal with it.

0

You said "If I quit, it would be disastrous for the client and would probably lose my current company a lot of credibility, and I now regret starting in the first place. However, it would be the biggest weight off my shoulders."

These are all not your problems. You work for the money that you are paid - and apparently they pay you an intern's salary for a full time employee's job, so they are ripping you off already. But once you leave, you don't work for them anymore, they don't pay you anymore, and whatever bad things happen to the company doesn't matter to you at all.

And if you are ever asked "why did you leave your previous company", you can say "because they paid me as an intern for doing a normal employee's work, and I decided to find a job that pays properly.

-1

What's a 'paid intern'?

A task has developed beyond your level of competence. That's OK. Don't whimper about 'beyond my pay grade'. Just ask for help. Maybe the project will have to be outsourced. Make sure your work so far is well documented, and be available to help in the hand-over.

Management need to manage this development. I expect they will, quite happily. But don't play games with them.

protected by Lilienthal Jul 17 '17 at 12:54

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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