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 told the company I work for that I want to phase myself out, but that I would stick around for a couple months before applying anywhere to help in the recruitment of my replacement. I offered this because I am the sole web developer and I didn't want to leave them helpless.

The problem is, they want to hire someone very under qualified to avoid having to pay a high salary.

As far as I'm concerned, it's their company and they can run it how they want. However, when it comes to me helping find and train someone before I go, I'm in a position where I don't know what to do.

To give a little perspective, I built them a medium sized e-commerce system using an MVC framework; there's more to it, but I'll leave it at that. The candidates they are finding me to review are people who have never worked as a programmer, have made a couple really crappy static websites using a WYSIWYG program and are calling themselves web designers.

I know these people have no chance at success. I have tried to explain it to the company, but they don't want to hear it; they think one of these people can be trained and be up and running at my level in about a year. The reality is, I don't think their site will last a year if they go this route.

I think maybe they think I am just trying to make myself look good and the new candidates look bad for some reason, which is not the case at all. I would like to leave what I have worked hard on in capable hands.

So what is the ethical and professional thing to do here? Just keep telling them that these candidates are no good until they actually find a decent one, up until its time for me to leave, at which point I leave them with no one? Or just accept that they are going to destroy themselves and do the best I can to pick the best out of the candidates and teach him/her what I can before I go?

I really just want to do the right thing here, so I can leave on good terms. And if a year down the road they fail, I can have a clean conscience.

share|improve this question
21  
I would at this point tell the company that you will only train the person for X days. If they don't want to hire the kind of talent you feel is right for the job, and they are not going to offer you reasons to stay yourself, then there is nothing you can do. Suggest the best person from the talent they are interested in, after your X days, wipe your hands of the company. Why you would even offer to stay, when the company I guarantee you, wouldn't do the same should tell you something. –  Ramhound Dec 14 '11 at 16:40
3  
You may want to make it very clear to the company that the software they need the new person to take over, is a complex piece of work and a certain minimum of skill is required. Perhaps compare it to an expensive automobile - you do want qualified mechanics to look after it. –  user1249 Dec 14 '11 at 16:50
8  
I think you've been excessively generous by giving them such unlimited advance notice. Would they do that for you? Just give your notice when the time comes and get out of there. If the replacement can't do it, you'll have an opportunity for side work. At that point your rate should be high enough that they'll make a priority for considering better candidates. –  Angelo Dec 14 '11 at 17:31
1  
There really should be more people like John, Helping your employer finding a replacement for yourself is a thing you don't hear to often these days. To me being a good employee means caring for what you leave behind and taking responsibility for a future where you aren't around! –  HTDutchy Dec 14 '11 at 21:15
5  
You cannot fix stupid. Just get up and leave. Trying to help them is like trying to help fellow students graduate by letting them copy your homework. By trying to help them you are giving an unfair evolutionary advantage to people who do not understand software and yet want to run software shops. Imagine what will happen if these people breed. –  Job Dec 15 '11 at 1:59

11 Answers 11

up vote 71 down vote accepted

Here's what you do:

  • Let them know that the candidates they are sending you are all unqualified
  • Give them your minimum qualifications
  • Reject anyone who does not meet those qualifications.

If they refuse to give you resumes of anyone who meets your qualifications, then you have done your part.

Regarding ethics, you don't have a responsibility to replace yourself--that's the hiring manager's job. If you want to go beyond ethics into kindness, then offering to help out is great, but stick to your guns on what the job really requires.

Finally, set a deadline for leaving the company, don't languish in this job. They could very well be sending you unqualified candidates so that you will stick around (although that is unlikely). But once you set that deadline, let them know so that the expectations are understood.

share|improve this answer
7  
+1: Set of minimum qualifications required is an absolute must. –  Loki Astari Dec 14 '11 at 17:27
22  
After all, what are they going to do, fire you? :-) –  BRPocock Dec 14 '11 at 18:40
3  
Good advice, but, part of the problem with the software industry is the lack of quality qualifications. I've met plenty of university graduates, even from Oxbridge, even with masters or doctorates, who are hopeless. I've also met plenty with years of experience who should never have been employed. The best thing is probably to have a lot of requirements to filter out the poor applicants and to be flexible about them if a good person comes along with no industry experience or qualifications. –  jheriko Dec 14 '11 at 21:10
3  
That's not a problem exclusive to the software industry. The minimum qualifications exist simply to help weed out people who have no chance of qualifying. From there, you start the interview process. –  Richard Dec 14 '11 at 21:53

If you are interviewing just keep rejecting the people who are not qualified to do the work. If you have left who is going to train these people? JUst document the reasons why you think the rejected candidates are unqualified and then leave with a clear concience. You tried your best to get them to understand what they were doing wrong, you owe them no loyalty later if they do not listen to your advice.

share|improve this answer

My opinion from reading this (only an opinion): different mindset.

By doing some "reverse engineering" on some similar situations I can (only) assume that you work for a place which believes developers are interchangeable, which is unfortunately the common conception outside IT shops (and even some IT ones). Viewing the work under that prism, you are paid "more", not based on capability/skills but only on the knowledge of the system's internals (emphasis to "only"). In this mindset any other (preferably cheaper) developer would do, only if he is given enough time to learn on how the application works.

Based on your question, it is difficult to change such perception to someone who has not engaged with IT operations a lot. Your conscience should be clear, you cannot do anything

That's what I thought from reading your question and associating it with previous experience.

share|improve this answer

You've said it yourself - You have given them more than a fair amount of notice, offered to stay for a few months to get the new recruit up to speed so far as you can, and told them that their current potential candidates are not good enough.

That is above and beyond what is required of you. Just keep being honest with them up until you leave, whether you find a good candidate or not, and your terms of leaving should be fine.

(and as HLGEM says, you owe them no loyalty once you're gone)

share|improve this answer
1  
At this point depending how long he has been in the field, I might even suggest he not even use this company as a reference, since at this point they do not value his skills. This is shown clearly by the fact, after being told he is leaving, they are dragging their feet to replace him. Sure most of the blame can land on him, for allowing this to happen, sounds like he should wash his hands of the company as quickly as possible. –  Ramhound Dec 14 '11 at 19:06

Rejecting them is not only protecting the company, it is protecting your reputation down the road. Your main requirements in this role imo are:

  1. Provide a list of requirements for HR to have some sort of idea of what to look for
  2. Screen appropriately
  3. Be clear about timelines, both for the training necessary and your specific departure

If the meat of the job is backend development, then that might involve a CS degree as a bare minimum as web programming can be learned but basic programming understanding is harder to pick up on the job.

share|improve this answer
3  
"Rejecting them is not only protecting the company, it is protecting your reputation down the road." - Great call Eric. I have a friend who was presented with several unqualified candidates & wanted to reject them all, but was asked, "if you have to pick one, who would you pick?" A year down the road when that person had failed, he was reminded, "you chose him!" –  Paddyslacker Dec 14 '11 at 21:19

You need to try your hardest to explain they need someone with experience, and preferably someone who has worked alone before. I would ask them who and how they expect to train someone when you are gone, you need to make them understand that 99% of the knowledge of their system is going to leave with you, and they can either have you spending time teaching basics, or teaching someone how to actually work with the application. I suggest hiring an example to so them that they need someone with experience. Don't hire a total failure, but if you have a reasonable candidate hire them and show your company how much its going to take to make this person even half of you. this will likely end in that guy getting fired though and your company not liking you too much.

you are in a lose/lose situation that you tried to be nice about and offer the chance to make it a win. If you hire no one and leave they will hate you when everything collapses, because you abandoned them, if you hire someone unqualified they will hate you when everything collapses, because you hired someone bad to spite them. your best hope is to have everything collapse on an unqualified developer while you are still there to fix it and get someone qualified to replace you, assuming your company realizes that they need some one qualified after the unqualified guy screws up.

share|improve this answer
4  
-1. Do you really suggest hiring some poor bastard just to make him look bad and get him fired? What if the guy quit is old job to get this one? What if he had to move to a different town to get this job? This sounds really unfair! –  nikie Dec 14 '11 at 17:53
    
@nikie its an unfair situation, turning down every resume they give you isn't any better, also if you know the guy is doomed from day one, you can pick someone who won't have their life completely destroyed –  Ryathal Dec 14 '11 at 18:02
    
@Ryathal - I partially agree with your suggestion for the wrong reasons. I think the author has already spent more time then they should, trying to find a replacement, and should wash their hands of the company as quickly as possible. As I said in my original comment, find the best person for the job out of the current talent pool, and walk away from the situation. Your suggestion about proving somebody is going to fail is just wrong, one has to have a pressional duty not to do that to another person in the field, because in most situations the employeer won't do it. –  Ramhound Dec 14 '11 at 19:11
4  
-100 turning down every resume they give you isn't any better. Yes, it absolutely is better. For one, that's exceedingly unfair to someone who is outside the current situation (the new hire). Additionally, the OP doesn't have any obligation to force the employer to realize anything. The OP has agreed to help hire someone qualified; if management refuses to send him someone qualified, I don't see any problem at all with rejecting every resume. –  Adam Robinson Dec 14 '11 at 22:16
3  
It's answers like this that make me wish I could downvote multiple times. –  hafichuk Dec 15 '11 at 0:27

Do both things - 1) keep telling them that these candidates are no good until they actually find a decent one, that you don't think their site will last a year if they go this route and 2) keep telling them who is the one you would pick from those out of those you reviewed so far.

As far as I can tell this is most safe way if you want to both leave on good terms and have a clean conscience when (if) they fail.

  • several years ago I would probably recommend only rejecting the candidates because, well because that felt right to me back then - after all the the "experienced guy leaving" seems to be the best one to know. Actually it still feels right but since then, I have been on the both sides and I learned that what I feel is not the whole story.
     
    First thing I learned is if you don't inform them about who is currently "best of the worst" so to speak, this will most likely make a very bad impression. Second thing is that there's a (slight but non-zero) chance that you overestimate the damage and that they will be able to handle things even with inferior replacement.
share|improve this answer

You should not care.

The company is obviously run by morons and you are better off leaving. The question is silly and indicates a naive sense that you somehow are valued for your programming skill in a company with no understanding or appreciation of it.

First make sure you have your ducks in a row and jump the hell out of there.

Just to qualify my opinion, I have jumped from place to place on contracts and once I arrived at Microsoft and other places like those, the world was a beautiful place. I eventually realized after that there is a bit of a ceiling on those ones too in terms of pay although software companies are so much nicer to work for.

When you graduate from being a worker, the real world opens up and you are truly free. Just make sure you have saved up enough since business has its ups and downs.

share|improve this answer

A lot of great answers have already been posted, so I'll avoid rehashing those.

I would also add:

  • attempt to document things, so that when they finally do realize they've hired someone woefully unqualified, that once they get around to hiring someone with a clue (and maybe the docs you produce can be used to filter out the wannabes), the new hire will be able to use your docs as a jumping-off point
  • presumably there will be an exit interview; present a short document (1 page will probably do) explaining your efforts/reasons at trying to get the company to hire someone appropriate, perhaps highlight some skills they should look for, mention that you've made a reasonable effort at trying to document the environment; if at all possible, make a couple copies, have both yourself and the HR contact sign and date both copies, ie, "I have read and understood the above"

Merely a CYA effort.

share|improve this answer

Being in a similar situation in the past, I found the best approach is to actually find them a contractor that can come in when/as needed. Since it sounds like they are in a maintenance phase, they might not need a body full time and you could probably sell this as a cost savings option to the company.

It's upper managements job to find and hire a suitable replacement and you should only be sending them people you would recommend for the position. Be there to help screen if you want to, but it's not your responsibility. The fact that they're relying on someone who is leaving the company to hire a replacement shows how irresponsible they are.

As for ethics, the only issue I see is not having (high-level) documentation in place for whomever takes over your role. If things like username/passwords/sshkeys, repository locations, etc are in your head, get them down and make sure that your higher-ups know where to find the information.

share|improve this answer

Been there, done that

I went through almost the exact same situation: I was hired as a non-programmer by a company with 50 or so employees, saw a need, and over the course of several years, taught myself programming and built a fairly sophisticated intranet system for them.

When I got ready to leave, I wanted to help with the transition, for three reasons:

  • I was grateful that I'd been given the chance to tinker and learn
  • I liked my system and wanted to leave it in good hands.
  • I wanted another developer to see and appreciate my careful coding and documentation.
  • Honestly, I felt that it would show that they valued what I had built. It would make me feel good.

So I offered to help hire and train a programmer. Like yours, my company underestimated the skill and training needed to pick up where I'd left off, and didn't want to pay a real developer's salary. They basically ignored my list of qualifications. I gave only one actual technical interview to someone who failed miserably, and didn't get any other candidates.

The result

In the end, they had me spend a few days "training" someone who already worked at the company and was in the process of learning HTML. He showed some promise, but knew he had a long way to go.

As you hope to do, I left with a clean conscience. I knew I had done my best to help them carry on. I was disappointed that they thought so little of my work that they assumed someone so inexperienced could take it over, but despite how self-explanatory I'd tried to make the system, I knew that wasn't true.

After I left, I heard that their sysadmin (who was good) had also left, and, due to their seriously undervaluing technical ability, the company had also pushed the burden of that job also onto the poor guy who took over for me. And predictably, he too, soon left for greener fields.

A couple of months ago I got an email from a non-technical employee asking a question like "do you remember which server the application is running on and the password to it?" I hardly knew how to respond.

Do your best and move on

You can't make people value quality if they don't already. All you can do is give good information. Tell them what kind of person is needed and what they'd need to pay to get someone qualified. Give them some tips on sites where programmers look for jobs. Give honest evaluations of candidates.

Most of all, set a deadline and keep it. Be helpful, and then be gone.

share|improve this answer
    
In my opinion, this is a model good-subjective answer. –  Mark Booth Dec 15 '11 at 11:13
    
+1 for "You can't make people value quality if they don't already." That succinctly sums up the underlying problem here. –  akmad Dec 15 '11 at 17:17

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.