Slashdot Mirror


Security Plans for When Your Senior Developer Leaves?

An anonymous reader asks: "Our CTO, responsible for all hardware and networking setup, who also coincidentally happens to be our senior (and only) developer, has just resigned to go work for the competition. We are not a software company, but he's written proprietary code that we use on a daily basis to work. What interim measures should we be taking to ensure a smooth transition to the next person hired to take over? What can we do about security, since this person designed and implemented all current security procedures? What about ensuring that we have all the intellectual property to which we're entitled? As one co-worker put it: 'His resignation was a surprise to us, but it definitely wasn't a surprise to him.' If he wanted to leave some hard-to-find malicious timed-release back-door-opening code running, it's certainly within his means. We don't expect any malicious action, and can rely on a reasonable level of co-operation and documentation before he goes, but I want to get a sense of what others have done in this situation."

6 of 90 comments (clear)

  1. Too late! by Anonymous Coward · · Score: 5, Insightful

    You should phrase the question "what should we do the next time"

  2. Trust by HRbnjR · · Score: 4, Insightful
    What can we do about security, since this person designed and implemented all current security procedures? If he wanted to leave some hard-to-find malicious timed-release back-door-opening code running, it's certainly within his means.

    If you think they are the type of person who may do something like that, you probably shouldn't have put them in charge of security.

  3. Re:start from scratch! by metacosm · · Score: 4, Insightful
    God -- comments like this make me a bit crazy -- this is a company, unlike you, they don't live in fantasy land.

    Any company with one developer is going to be a small business -- small businesses have budgets, just like REAL people -- believe it or not, companies don't want to spend every penny of budget on IT, since -- without sales -- there is no damn IT department. Making a bunch of silly recommendations that are beyond the means of this company is silly.

    Some or your recommendations are valid
    • Secure core machines (possibly with a consultant)
    • Make sure that you have backups and do test restores, move backups off-site every once in awhile


    The rest of your recommendations were intelligent assuming a magical world with no budgets, no deadlines and no need to be realistic. But -- if you take into account the real world -- they were moronic.
  4. audit the code by falsification · · Score: 4, Insightful
    First and most obviously, get him to document his code fully and properly before he leaves. It's the honorable thing to do. In addition to writing up documentation, the code should be fully commented. He should walk people in your company how to compile the code. Maybe there's a trick to it.

    Then, once he's gone, audit the code. Maybe you'll need to hire an outside consultant to do it. Anyway, once the source code is audited, you still aren't in the clear. It could be that he put a backdoor in the binaries, leaving the backdoor out of the copy of the source code he pointed you toward. Thus, once you are done auditing the code, compile it. Do a file compare of the current binaries and the newly compiled binaries.

    In Windows, the command line is fc /b filename1 filename2.

    If there are any differences, that doesn't necessarily mean anything significant. Move the current binaries to a temp directory or someplace out of the way. Don't delete them, as they could be important later. Copy the newly compiled binaries in. Test the whole system to make sure it works.

    As for ensuring your intellectual property is protected, I don't know how you can truly do that from a technical standpoint. You should notify your corporate legal counsel of your concern. If you don't know who that is, bring it to your CEO's attention.

    Good luck.

  5. don't be an idiot and learn... by kevin+lyda · · Score: 4, Insightful

    first, treat the person leaving with respect. if this person is mature then they won't burn bridges - neither should you.

    don't accuse him of things he might not have done. don't screw around with his career. shake hands, wish him well and generally be professional. it's business. cope.

    second, solve your problems. the person who is leaving has his own issues - poor communication, poor loyalty, excessive greed, whatever. those are his problems. let him work on those, they're not your problem.

    the main reason for your discomfort is that you put all your eggs in one basket. and now your basket has left. so in the future hire two people, not just one.

    and when you have these two people on board, talk to them more often. find out how they feel. you were taken by surprise by this person leaving, that suggests poor communication - on his part or your part.

    finally, you seem to have no idea what code this person wrote even though your business seems to depend on it. does the code go in a source code control system? do you have a release procedure? can you get the previous releases?

    you need to answer yes to all three of those. if you don't answer yes to all of those now, make sure you can in the future.

    --
    US Citizen living abroad? Register to vote!
  6. You need a registered bad-ass by Glonoinha · · Score: 4, Insightful

    Quite honestly, your company needs to get their ducks in a row. Here is what you are up against :

    Your company sounds small enough that they had very few 'computer guys' but big enough that the computer infrastructure is fairly complex.

    The guy in charge (your soon to be ex-CTO) probably designed and built the existing systems from the ground up. As he didn't have anybody watching over his back, do not be surprised if there is some jury-rigging in there. He probably shared some of the quirks with some of the other computer guys, but not all.

    He may be an important part of the wet-ware in your system. An easy to understand example would be a bowling alley - if your company has to bowl a strike every time the ball gets thrown, he was the guy that walked down the alley continually making minor adjustments to the path of the ball. This could be custom reporting on your data, swapping out the backup tapes, deleting temporary files, cleaning out the log files so they don't fill the hard drive, or booting the servers in a particular order so as not to overload the UPS. It has become routine that he takes for granted and probably doesn't even think about them any more so when he doesn't mention it (and they don't get done) ...

    You have some pretty important apps that he may be the only guy that understands how they work.

    Today is the day of truth, you are on the cusp of finding out if he is disgruntled or not. If he is disgruntled, the LAST people you want talking to him is HR. They will either piss him off more than he is, or try to bully him - you need to get his favorite tech to take him off-site, dinner or to a strip club, and off the record find out why he is leaving, what his primary concerns are, what he would honestly have changed given the chance, what he anticipates the hot-spots being after he is gone, and most importantly : does he have any recommendations for a good replacement.

    This last one is key. There are lots of paper tigers out there (MCS* certs), lots of guys that are good at network administration, lots of guys that can code language A or B or C++, lots of guys that can diagnose and maintain an SQL Server, and lots of guys that can operate in the role of CTO to work as manager and liason between the IT department and upper manglement. You are going to find precious few people that can do ALL of the above(*), and unfortunately that is exactly what you need to do - and find a guy that enjoys doing it because the first few months are going to be rough. Doubly rough if your CTO is disgruntled, so if one of trusted colleages was in there he might hesitate before setting off some time bombs that his pal is going to have to clean up.

    The penalty for getting this wrong is going to be pretty severe.

    (*) I would be perfect for the job, but I am pretty happy where I am.

    --
    Glonoinha the MebiByte Slayer