90

Background:

I work for a medium-small company (40-50 people) completely unrelated to IT, as a fixed-term apprentice "IT guy" (they call it "data processing center" employee). There is another employee in my office, an older man who does many IT tasks ("my PC won't turn on", "my monitor flickers", and so on) without having an IT background and with much more stuff to do. Aside from him, there's no one else to do IT (besides an external company that handles servers and security, which has consultants who are pretty expensive to call over).

So here's the problem:

Over the past few months, I have been developing a web application for the company, even though it's definitely out of my job role and my pay grade. At first I didn't mind, because I really liked doing it.

Now, though, I have received a job offer from a really good company, and am just waiting for their full official proposal to hand in my notice period.

This would be all right, if it wasn't for "Mr. X", who's not my direct superior (he's the manager of a completely different sector) but kinda is my superior. He's currently asking me to add new functionality to the web app, and these are things that would take a humongous amount of work and time.

I already told him that it would take very long (and that, besides, they would be better off giving the task to a web development company so that it gets done faster and a lot better). The matter is on hold right now, but I'm pretty sure he's going to tell me to start the task soon.

I would have preferred to wait for the official new job proposal to tell the company I'm going to quit, but apparently I might be forced to disclose the matter immediately.

What is the best way to inform my superior that I am not going to be able to add further functionality to the web app since I'm about to leave, without burning any bridges?

Keep in mind that, to add what they want to the website, they will either have to:

  • Have a truckload of luck finding another employee fresh from high school capable of developing the web app

(kinda unlikely, and would take a long time since I used a technology that's not taught in high school. Also, the code is not that great, since it was my first decent-sized project)

  • Hire a more experienced employee, with web development experience

(would cost a lot)

  • Give the task to a web development company

(would cost a lot)

I'm not sure where to put this on a scale from "who cares, it won't be your company anymore soon" to "it was your job to write maintainable code and make it super easy to add stuff without experience and without your supervision"


N.B.: of course, this is dangerous, since I don't have an official proposal from the new workplace yet. Although I am 99% sure that they are indeed going to hire me, I'll gladly encourage answers that somehow give me a chance to wait for the proposal before telling my superiors I will quit.

  • 6
    Comments are not for answering the question. Please post answers below. – Richard U Feb 28 '18 at 14:17

13 Answers 13

117

This was your first major project, you've identified some flaws in it (you said the code's not that good), and they're asking for more features. You know what happens when you keep adding new features to a system that wasn't designed for them, right? You get something that's even harder to maintain and extend.

In your situation I would stall, but in a professionally-appropriate way. Make the case that before forging ahead, it's time to pay down the technical debt: assess what you have, document the current code if you didn't already, assess the new needs, and possibly revise the design to account for them. So your first steps to address their request are to do those things. If the current design exists only in your head, you'd want to fix that anyway -- so even if you don't redesign anything, you should start by writing some stuff down.

This isn't slacking because whoever takes over this task would need to do the same thing, but won't have the benefit of your knowledge. It's appropriate to spend work time on maintenance and design.

This way, if the new offer does fall through for any reason, you haven't burned any bridges -- you've begun extending the app and are going to be around for more of that than you thought.

What if they say "no" and insist that you start implementing the new features? In that case, it's on them. You tried to do it right; they're allowed to tell you to do it badly and then live with the consequences. It doesn't sound like that's especially likely, though; you're the expert and there's no sign of hostility. It seems reasonable to me that if you make the case they'll go along with it.

  • 40
    +1. Another option - "The current code needs to be properly documented before we continue." – OnoSendai Feb 28 '18 at 17:52
  • 19
    And add regression tests. You really don't want to break existing stuff when you add new stuff. – Martin Bonner Mar 1 '18 at 10:25
  • 11
    Everything about the boss and the company indicates that he will get the answer "Don't worry about documentation, specifications or tests. We have no time for that fancy crap here. Just add the features." – jwg Mar 1 '18 at 17:29
  • 9
    What if they say "no" and insist that you start implementing the new features? In that case, it's on them. I always like to emphasize this point in these sorts of situations. This is not an idle consideration. You have to be prepared to take this path. There are bosses that come back and say, "I've considered the risks, I want you skip the tests and go on to the next feature." The boss typically knows a lot more than you do about company financials, liability, etc. When he makes that call, you follow it. Insubordination is unprofessional, even when you are right. – GrandOpener Mar 2 '18 at 7:20
  • 15
    @jwg: sure, but the game is to make them say it out loud so they hear themselves. They know what your notice period is, so if they'd rather pick up the pieces from unexpected departures, than pay the price to keep everything documented and in good form, that is their decision as manager. They've made that decision in full knowledge of their policies and notice periods, albeit not in full knowledge of the fact that it's this month, rather than next month or next year, that the problem will occur. They'll find a way to make do, just like they have every other time anyone ever left before. – Steve Jessop Mar 2 '18 at 13:00
345

How to tell a superior I won't be able to complete a task because I am going to quit in a month?

You don't.

You don't inform anyone until you are prepared to give your notice. Once you have done that, do your best to make the transition to whomever is replacing you as seamless as possible.

Remember the saying "It isn't done until it is done." You never know what might happen.

  • 28
    Good answer. Also, just being involved in the early stages of developing a large piece of functionality is a career boost. The company is no worse off handing it over to another developer. – user8365 Feb 28 '18 at 14:20
  • 27
    +1 from me. The OP seems to worry about a lot of things outside their responsibility. Nice to see a young person with the desire to be responsible, but he is worried about too many things that have nothing to do with him. Good luck in the new position OP! – Pete B. Feb 28 '18 at 15:48
  • 4
    Work as hard as you should based upon your existing position. Don't give up until the day you leave. Prepare good documentation along the way so you can make the transition easier. – user3533030 Feb 28 '18 at 16:06
  • 13
    My attitude at work is the following: act like you will work there forever until your contract has a definitive end date. – Cyonis Feb 28 '18 at 19:55
  • 8
    It very much boils down to - if they aren't prepared for you to leave, then that's their problem, not yours. – Sobrique Mar 1 '18 at 11:16
131

There will always be work left unfinished when you quit, it is not a reason to tell people you are thinking about quitting. It is NEVER in your own best interests to announce this before you are ready to actually quit. Sometimes a company responds to this by letting you go immediately, sometimes they start treating you like someone they can't trust or who they are no longer interested in helping.

They will find a way to finish the project if it is that important to them. If you are concerned, simply make sure the project is well documented.

  • Especially as the next opportunity may disappear between being let go from the old job and when you expect to take up the new one. – Peter M Feb 28 '18 at 14:45
  • 18
    "Sometimes a company responds to this by letting you go immediately, sometimes they start treating you like someone they can't trust or who they are no longer interested in helping." At least twice I have immediately become an un-person after handing in my notice. The company/managers just pretended that I didn't exist while I worked out my notice. Their loss but it was rather boring. If you end up not leaving then this behaviour can lead to a somewhat awkward situation. – uɐɪ Feb 28 '18 at 14:56
  • 54
    As an addendum to this, when you get told "start on the new work", start by adding a whole bunch of regression tests and documentation of what the current system is. Possibly with some refactoring to simplify adding the new functionality. This is all useful work; by the time that is finished, you will probably be ready to hand in your notice, at which point they can decide whether they want you to start on a big new project or not. – Martin Bonner Feb 28 '18 at 15:07
  • 7
    @MartinBonner I think you should write this as an answer. – Angew Mar 1 '18 at 8:25
  • @Angew Monica Cellio has made the same suggestion. – Martin Bonner Mar 1 '18 at 10:26
17

Don't notify; refactor

The situation is that you don't feel that it would be appropriate to start this new project when you don't expect to finish it. It's great that you feel this kind of responsibility to your employer. However, you have other options than notifying them.

You say

Also, the code is not that great, since it was my first decent-sized project

So fix that. Refactor the existing code base so that it works better. This is something that helps the company. After doing it the code will work better and be easier to modify. Some things to do as part of a refactor:

  1. Write functional and technical specifications. These four documents (current and future versions of both) should document what you have already done and suggest how you would expect the future work to be done. So when someone comes in to replace you, they can see your thinking about how your code would fit in the overall application. This is something that you are uniquely qualified to do, as you best understand your current code at this moment.

  2. Add unit tests. Unit tests document how the existing code is supposed to work. They also make the code easier to modify, as changes that break the unit tests raise red flags. You may also end up writing some functional tests, as the functionality is what you can be most certain will remain.

  3. Add documentation. Focus on why you are doing things rather than what you are doing. The code (including the unit tests) should be self-documenting of what you are doing. But if you put in a hack to avoid a particular bug, document that. And write unit tests enforcing that.

  4. Modularize. Focus especially on the areas that will need to be modular for the new functionality. Also, sometimes you modularize to make it easier to write unit tests. For example, you may have a long function that ends up doing multiple things. Breaking that down into smaller functions (possibly by leaving the original function but delegating its responsibilities to other functions) can make it possible to write more granular unit tests.

These parts of a refactor are in order of priority. Note that even if the next person throws away your existing work and starts fresh, specifications and tests can provide a starting point.

This way you're doing work that will help them on this project. So if that's where they want you to work, that's where you're working.

You can combine this with prioritization (as suggested by others). Do your more regular work first. But put your extra time to tests and documentation.

Talk to your new employer

I would talk to someone involved in the hiring process who is with your new employer. Explain that your current employer is trying to make longer term plans regarding your work. This concerns you as leaving would then break those plans. So it would be helpful if they could make an offer now. At worst, they might tell you that they're not ready to make an offer. Perhaps that 99% sure is too optimistic. Which would be good to know. At best, they might make the offer now.

Once you have an offer, then notify your current employer as soon as possible. That will fix all these other issues without any need for gymnastics or risk of being unemployed.

If they are really 99% sure to hire you, then they will be aware of the possibilities that you might recommit to your current job or that you might get another offer from someone else. Both those things happen regularly. So it shouldn't be a big deal to hurry the decision a bit. If they aren't willing to hurry, then it's not a 99% sure thing. They are seriously considering other options.

This is much safer than talking to your current employer. At worst you don't get an offer but still have your current job. Talking to your current employer means that you might not have an offer nor a current job.

  • Refactoring was in my plans, I'm just afraid I will definitely not be able to finish it in time (since I have a lot of other things to do besides working on the web app) As for the "talk to your new employer" part, I have already done that: my future manager told me that it's all set and they are just waiting for technicalities (specifically, the guy whose signature is needed to hire me is currently abroad and they're waiting for him to come back) – Hankrecords Mar 1 '18 at 8:24
  • 2
    The refactoring part is a great idea, and even if you don't finish it, You've improved what you can improve. Refactoring is an excellent excuse as well - "It needs to be rewritten slightly so it can do the new things we want it to do" – Miller86 Mar 1 '18 at 10:19
  • 4
    It may be politically easier to bump tests up the list "I don't want to break stuff we already depend on, so I will add some tests first." Specs will be bounced to the top of the priority list when you resign. – Martin Bonner Mar 1 '18 at 10:29
  • 4
    When talking to the prospective new employer about not wanting to drop stuff on the floor, it's useful to remember that you're teaching them about your attitude when you leave them. Saying "I don't want to screw up my employer's projects by lying about my availability" also tells them "I won't screw up your projects by lying about my availability". This should be read as a positive for the new employer, so, if they react poorly, it's a pretty strong signal you get saying "this is probably not a place I want to work at". – pdpi Mar 1 '18 at 12:19
  • @Hankrecords, its not all set until you have the contract in hand. Business needs could change, he might not sign, the whole company could get a hiring freeze, the company might be bought out , there could be a layoff instead of hiring. – HLGEM Mar 6 '18 at 14:14
16

The fact you care about the company and what would happen to the web app if you leave it unfinished doesn't mean they care that much about you or the app.

As you said, this wasn't within your job role (pay grade doesn't matter here) so it's not really within your responsibility. Things like this (duties outside your role) happen all the time in small companies, but that doesn't mean you should be fully responsible for it.

If the company had an actual team of developers you wouldn't worry that much, so why should you worry because of the fact they don't? If they really want to make applications they should hire developers or an external company.

From personal experience the best you could do is to help select the new guy (I presume the people in the company responsible for recruiting have no idea about the requirements) and introduce him to the project. I would avoid leaving your personal contacts as that may lead in being contacted for help when you don't really want to, but if you're OK with it feel free to do it.

The problem you might have is the new company requiring you to start as soon as possible and not finding your replacement before that.

I don't know your superiors, but most probably they won't hold a grudge against you. You didn't sign to be with them for life, it's normal for younger workers to catch the best jobs they can get (opportunities to learn and grow), so they won't try to hold you back.

  • 4
    If this were not he USA, where your new employer would almost certainly own legal right to any "hobby coding", you could suggest when resigning that you are willing to continue developing it in your compensated free time. They probably won't go for it, but it can't hurt to ask. – Mawg Mar 1 '18 at 7:32
  • 3
    @Mawg this is a good idea. He's in Italy, and unless specified in the contract what you do with your personal time and equipment, as long as it doesn't affect the company's business, is completely fine. He can issue a "proforma" invoice, which can be done by anyone basically so that he gets compensation – Marcus Mar 1 '18 at 9:47
  • I am in the USA. NO employer has any legal right to my hobby time programming (for others) whether paid or not. I have never worked in a company or industry that did and I've worked in quite a few. – Michael Durrant Mar 3 '18 at 21:27
  • I once moved jobs and tried to complete old work in my free time while taking on the new job. It didn't work at all well for me. The new job was so absorbing that having the old work hanging around was more of a nuisance than anything else. – Tony van der Peet Mar 4 '18 at 23:04
12

Well, this is a big problem. Fortunately it is not your problem. What you do: You negotiate with the new company. If you sign a contract with the new company, you go to your boss and hand in your notice. That's it.

If you are in the USA, the notice period is typically two weeks. That's how much job security you have, and that's how much security the company has that you continue working for them. If they had wanted to avoid situations like yours, they could have put a longer notice period into the contract, but they didn't. The same thing that makes it easy for them to fire you with two weeks notice is now biting them in the back. That's as it should be.

If you tell them now that you won't be there to finish the project, there are plenty of companies that would fire you on the spot, and if the new company doesn't end up offering you a new job, you have nothing. That's what you need to avoid. So you say nothing until you give your notice.

  • 2
    If you're going to be fired in the US, you probably will not have any notice at all. – Casey Mar 2 '18 at 1:18
  • 2
    @Casey: indeed, and for that matter "they could have put a longer notice period into the contract" sort of assumes you have a contract. If you don't have a contract, and they wanted a notice period, then they could have given you a contract, but they didn't. They decided they'd prefer to save 2 weeks pay in lieu of notice in the event they decide to fire you, rather than have 2 weeks notice you're leaving. It's not the employee's job to second-guess that HR decision by giving notice when not required to do so ;-) – Steve Jessop Mar 2 '18 at 13:06
4

This will be a good opportunity for you develop skills as an independent contractor. Learn what the supervisor wants for the web app, and draw up a statement of work. When you are resigning to start your new job, present the statement of work to the old employer and ask if they wish to retain you as a contractor or a sub-contractor to do the work.

Then, you will be able to continue working part time on a project you enjoy for a nice pile of money, and have the seed for owning your own business. Make sure to negotiate enough time to complete the project while working at your new job.

Also, congrats on the new job!

  • 4
    I haven't had a job in the last 20 years which has allowed side-jobs like this (it is explicitly prohibited in my contract without written permission). That is across UK, Germany, and Switzerland; I have no idea what the situation in Italy is like. – Martin Bonner Feb 28 '18 at 15:08
  • @MartinBonner Yes, that might be typical in software development. However, OP does not mention what field his new job is in. – axsvl77 Feb 28 '18 at 15:23
  • 2
    @MartinBonner: It's always easier to negotiate a transition clause. E.g. "Notwithstanding clause 8, Employee shall be allowed to finish contracts where work has started prior to the start date of this contract, provided such activities do not interfere with activities Employee will be performing for Employer". – MSalters Feb 28 '18 at 15:23
  • @MartinBonner I'm not sure what legal implications this would have, but I'm positive I would be eaten alive by taxes. Interesting answer nonetheless – Hankrecords Feb 28 '18 at 15:27
  • 3
    @MartinBonner that's strange; I have also worked UK, Germany, and Switzerland, plus other European countries and a few Asian, for a few decades. I have never seen such a clause in my contract and AFAIK it would not be legal in Europe. The only time I had it was in the USA. here's an interesting Joel link – Mawg Mar 1 '18 at 7:37
3

I think that handing in your official resignation notice will adequately let your superior know that you won't be able to complete a task.

  • 8
    This adds nothing of value over the answers already here. – Mister Positive Feb 28 '18 at 18:25
  • 4
    This should be the right answer actually. The OP is inventing problems and worrying too much about a role that even he says it is not part of his job duties. – Rui F Ribeiro Feb 28 '18 at 19:33
  • 1
    Yes, this is easily the best answer. – Fattie Mar 4 '18 at 19:40
2

As you said, the person asking you to do this is not your supervisor. You should ask your actual supervisor whether you should start the task. I agree with others who say you shouldn't mention quitting until you are certain. Continue business as usual.

If your supervisor wishes you to allocate resources to the task, then go ahead and see what you can get done. You might learn something, and your employer might choose to pick up where you left off.

I work in IT for a college (i.e. decentralized departments) and constantly receive requests from various "Superiors I Don't Report To" to create cool projects. If I have any doubts, I ask my boss whether he wishes me to prioritize it or not. I'm responsible for my work and for many IT systems, but I'm not high up enough to be responsible for steering the whole ship. This is the upside of having a boss.

2

You're either working for the company, or you're not working for the company. The only gray area you have here is when you're quitting your job. (EG in your notice period)

Given your question: What is the best way to inform my superior that I am not going to be able to add further functionality to the web app since I'm about to leave, without burning any bridges?

There is no light-gray area where you can put work on hold just because you think you might maybe, if x does y, then hand in your resignation. That just sounds unethical. Because if things don't work out the way you hope, and you don't get to change your job, you will still have postponed the project and damaged the company's interests.

If you're not willing to hint on your possible resignation, or more subtly mention the bus factor, you should still just do as you're told.

0

Good answers here, I think the sentiment is consistent, don't say anything until you have a signed offer from the new company, in hand. Not expected, not promised, not in the mail, but signed in hand.

+1 for those who said don't leave contact info with any sort of "call me if you have any questions" type of statements. This is a bad idea. There are always exceptions. But it is a bad idea. Move on.

UNLESS you have a Freelance contract, signed by them, in place that states every minute after your last day is billable to them. Even then the new company may not go for that. If the new company says no to that ( and yes you should absolutely tell them if you're still working for your old employer ) then don't do it. Period. You are likely not as hard to replace as you think. Life at the old company will go on just fine without you.

If you do decide to be kind enough and offer to services as a contractor after your employment ends, set a HARD limit on the number of hours you will work for the old employer for the first 90 days or whatever you decide. Something like a max of 10 hours a week, on nights and weekends only.

You will likely need to ramp up at your new employer. They are going to expect your full, undivided attention while you are at work. Don't hose your relationship with your new employer and certainly don't lie to them.

Make sure you invoice all time spent contracting for old company. Don't try to just be cool with them. Invoice them every two weeks, even if it's just for a couple of hours. Request payment within 30 days. If they don't pay, stop working for them until they do. Don't buy excuses or delays in your payment.

Be prepared for them to say, "no thanks" on the idea of contracting with them. That is ok, don't take it personally. In a year you won't care at all. Pursue YOUR career, remain friendly but professional.

The fact you are self aware enough to ask this question shows you are likely to have a bright future in IT. Good luck!

  • -1 contract & +1 general advice = 0... Where I've lived, signed contracts are extremely rare and if you get such a thing, you aren't likely to see it before employment day 1 (well after notice is given to prior employer). Best to look for is a verbal "offer"... if in doubt, clarify that an official offer has been / is being given. That's as good as it gets, even in successful situations. (But this is tagged Italy, which might operate different.) – TOOGAM Mar 4 '18 at 22:27
-2

There are times where the standard two-week notice is appropriate. There are times when turning in a 30-day notice is appropriate. This might well be one of them. If I were in a position of knowing the truck number is 1 and I was quitting I would deem it reasonable to turn in the 30 day notice rather than the two-week notice.

Given your employer's current position, they might well appreciate you enough to keep you on if the new offer falls through. But you'll have to be the judge of that.

  • I would not recommend giving any notice to a current employer without having an offer in writing first. You never want to be in the position of your job depending on "might well appreciate you enough". – Luke Mar 5 '18 at 4:51
-2

There is a middle-of-the-road approach.

Don't tell them that you're leaving. Do tell them that you are considering some life changes, and that you don't recommend that they start making such a new, long term investment involving you at this time. When they ask, you can say that this is a decision you're making personally, and you have nothing professional to announce at this time. If you do come up with something to share, you will do so.

Note that this will still set off a red flag. Many people here will likely find this to be bad advice (as they would suggest avoiding the red flag altogether). I'm not even suggesting that you should do this. I am simply presenting this as an option that may seem less dramatic... the flag may still be red, but not quite so blood-drippingly red. If you're looking for ideas of what might be less terminal (in some circumstances -- in other cases the employer will still draw their own conclusions and "play it safe" by assuming the worst), this might be an idea to consider, or at least something to fall back onto if a conversation is going down a path you weren't wanting it to.

  • 3
    "considering some life changes" is incredibly vague, but will probably be understood as meaning "i'm leaving the company" anyway. – Luke Mar 5 '18 at 4:47
  • Yes, but "I'm leaving the company" could be due to moving, or reasons other than "I'm dissatisfied with my current employer". Some employers might find such possibilities to be less insulting. – TOOGAM Mar 5 '18 at 5:04
  • 2
    This doesn't make much sense. Best case scenario is they just understand I want to leave and act accordingly. Otherwise, this opens up a plethora of terrible consequences due to possible misunderstandings of what "life changes" means (other than the obvious, and completely understandable, "well we don't care about your life changes. Either you work for us or you don't, there's no middle ground" reaction) – Hankrecords Mar 5 '18 at 10:00

protected by Community Mar 1 '18 at 4:45

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.