There is no obligation for the employer to continue to employ during the notice period an employee when the contract is terminated. The employer can perfectly well decide that the employee doesn't have to come back at the moment he/she is let go, however that doesn't release them of the obligation to pay salary until the end of the notice period. In fiduciary positions it is not uncommon to let people go immediately.

My company. If the check-in is under the guise of "code-cleanup" it doesn't get tested either. Because if the developer is just "cleaning up", there is nothing to test. He couldn't possibly break anything, right?

In the Delphi language, you must explicitly call a base class constructor in a descendant class (a land mine; should be implicit IMO). Awhile after leaving my former senior told me about the subtle, difficult to diagnose bug I created. He seemed convinced it was an easter egg though I denied it. There were no code reviews in our process...

Agreed, TRWTF is that there isn't any log of all of his commits, or presumably any source control at all. ANY form of source control whatsoever (even some old dinosaur like CVS) would have the ability to look up his commits since he put in his notice (and a little before) to verify that they were legit. NONE of these bugs should have made production. Once you find one, you look at all of the guy's commits for the last month, and roll them all back.

Aside: don't just move them to testing for the duration. Let them keep committing that crap. Then, when their new employer asks for a review, give them one based upon their behavior in the last two weeks of their tenure. Make it widely known that you will do that. If no one asks you for a review, then call up the next employer yourself and tell them what the person has done. I wouldn't want this person to work for me, and would very much appreciate if a previous employer gave me a heads up beforehand that someone was prone to stuff like this. It's still too soon in Germany for most WWII jokes, and contracts could be lost because of it.

This type of behaviour could very well lead to a lawsuit and if it can be proven that the recently fired developer introduced these "bugs" with the intent to cause harm to the company he may very well be liable for any costs or loss of revenue his antics caused. Apart from being unprofessional it is extremely stupid.

Review isn't a magic bullet either. Stupid reviewers will fixate on stupid things. I used to work with a pair of duhvelopers who'd check in non-compiling code 1/3 of the time and non-functional code most of the remaining 2/3. But they sure could spot every time I used an unsigned integer or put my { } on the "wrong" line.

My prior employer had a simple policy:
You're terminated (for any reason) you're out the door. Within 10 min of you being informed you're out of a job your account has had an '_' prepended to the username. ALL systems are configured both at a domain policy and a local system policy level to refuse any account who's username starts with an underscore.
Your account will be disabled later in a normal workflow, but your ability to cause mayhem is an instakill.
They do expect you to honor no-competes, but they pay the duration of the period, so if they expect a 6 month no compete then you're on payroll for 6 mo, but you can't come into the office without an escort.

In Any case I've ever seen that did not involve the police removing the employee from the office (theft, etc.) terminated employees were paid for a minimum of two weeks and usually two months.

"Aside: don't just move them to testing for the duration. Let them keep committing that crap. Then, when their new employer asks for a review, give them one based upon their behavior in the last two weeks of their tenure. Make it widely known that you will do that. If no one asks you for a review, then call up the next employer yourself and tell them what the person has done. I wouldn't want this person to work for me, and would very much appreciate if a previous employer gave me a heads up beforehand that someone was prone to stuff like this. It's still too soon in Germany for most WWII jokes, and contracts could be lost because of it."

You can't do that (at least not in the US). You will get sued so fast that your head will spin and the jury will award punitive damages that will make your eyes water and the lawyers salivate.

Well... I wouldn't say that we Germans don't giggle about some weird messages of software, even such as in the article. We're not a people without humor :P

Though if this stuff would go out to our customers without us noticing it, we'd be pissed. Customers are always to be treated well.

Anyways. As much as such messages may be fun or annoying, worse is when software companies try to sell us products that don't work at all. Products that don't even run on systems with best practice configurations.

Immediate escort off premises of someone who has given notice would not prevent this kind of misbehavior - the employee could just as easily place the "Easter Eggs" in before they gave notice.

Termination for cause - maybe, if the employee had not idea they were going to be terminated, but I bet there is at least one story on here of a dev who put in some kind of "Easter Egg" that was only invoked after he/she stopped some kind of periodic behavior - i.e., a "tripwire" of some sort. That is not uncommon either.

I agree, the RWTF is not catching this on delivery to the repository, and then not being able to find it later - although I would guess that this is possibly a dramatization of the actual events and some important clues are probably left out to protect the innocents.

Also, the most rude layoff I have ever had was a corp. that gave me no notice but did give me compensation in lieu of notice based on my time at the corp - which turned out to be equivalent to four months of pay. When I returned to my desk they had disabled my access to the network so I could not checkin two weeks worth of work and they did not bother trying to do it themselves.

They hired me as a contractor some years later and I found that out. I also found that the offshore devs they had hired to help them in my absence had made a bit of a mess. Nonetheless, I cleaned up what I could and worked for them for almost a year until they shut down due to lack of funds (I did get paid). But I still considered it rude. Unless you are terminated for cause I expect an employee to be a professional until they leave the building.

Worth pointing out that it is not only disaffected people who write damaging code in their last few weeks of reluctant employment.

One of our guys left a moderately long term period of employment in which he was custodian of a more-or-less significant piece of software (more-or-less? Hell, it was vital) which I inherited after he left. All was as to be expected, except that the last two commits were an extremely shoddy enhancement that caused certain functions to completely fail. Turned out he had just been uncharacteristically careless. The boss just shrugged and said, ah yeah, he was just a bit demob-happy in those last weeks, fix the code, suck it up and oh, we've implemented a new testing / QA process which involves you packaging up everything and emailing it off to India.

Fashioned as a collection of DLLs looks like '90s to me. So probably no commit messages :-).

All firms I worked at during the 90s didn't do this newfangled version control. You were lucky if there was a central location for the code and backups (which in itself is a sort of primitive version control)

You absolutely can do those things, and legally. The only thing that they would be able to do about it would be to sue you for slander/libel. But it isn't slander/libel, because you can prove that what you said is true. You cannot be sued for saying something that is true, or at least you cannot be sued successfully (citation: https://www.legalzoom.com/articles/libel-laws-and-the-truth-what-if-the-statement-is-true, easy googling, and common sense). The reason you can't be sued? You could legitimately have reported that information to a local paper, and they could print it. In fact, you could choose to do that, though if you keep doing stuff like that you might approach harassment.

Also, if they decide to sue just to tie you up in court, counter sue for intentional destruction of property and theft and win. Destruction of property because they intentionally committed code that was known to obviously be not what you wanted, with damages equaling the salaries of the amount of time it took to clean up, plus opportunity cost/punitive damages. Theft because they did it on company time, damages equal to the approximate amount of time they spent screwing with the codebase, plus punitive if you feel like it. You could legitimately file criminal charges against them as well if you wanted. You have hard proof of what they did, and it was definitely a crime, as much as if the person had decided to break a whole bunch of windows on the way out on the last day.

Also, they aren't going to sue you just to tie you up in court because they just lost their job, and after reporting the information to their new employer, you likely made them unemployed, and lawyers like to actually get paid. Further, no lawyer in his right mind would take that case knowing the backlash.

Are you an Internet expert on employment law too, Kashim? Or just libel and slander? Because I was wondering if there were any labor or employment statutes that might limit what an employer can disclose about a former employee's work performance/status, and to whom.

Actually, come to think of it, I think I'll address those questions to someone currently licensed to practice employment law in my jurisdiction.

In the Netherlands, employers are not allowed to limit the employability of former employees, under any circumstances. This includes negative references.

Oh, and you are also not allowed to disclose why you fired him/her. You cannot even point to the court case where the employee was convicted for theft, fraud, (sexual) harassment or assault (assuming that the employer or one of the employees was the victim).

For this reason, references usually only consist of a confirmation of when an employee worked there, and what his/her job was.

In my jurisdiction, the labor law limits the damage employers can claim for "damage caused by employees during employment" to one-third of daily wages. So usually it doesn't worth to bring the issue to court.

And if you have not yet send the final pay-cheque to the employee and decide to deduct money exceeding the amount allowed by law from the cheque, the employee can legally sue you.

So you'll want to consult your lawyer what you can do if you find your employee doing this kind of things.

Luckily that is not true in Sweden. It might be illegal to call up the new employer and spill the guts about his new employee out of the blue but it is not illegal to disclose information if the new employer calls for a reference. In fact my previous boss had a previous employee call him and ask if he could use him as a reference. My boss replied to him that that probably wouldn't be a good idea but the stupid sob still left my boss as a reference. As expected he didn't get a very good reference. I don't know if he got the job but I doubt it.

And they've taken the "no bad references" up to the point where most companies have the practice of meaningless references.
Basically it's down to: If the company gives either good or plain references, then a plain reference equals a bad reference. So all get the plain ones.

However, you can verbally respond as you please to any phone call for a reference.

Almost every org I have worked for in the USA, for the last few decades has had the following policies:

Only Human Resources/Personnel/et. al. is allowed to handle any inquiry about any employee's status/responsibilities/performance/etc., regardless of their employment status. No reference letters/etc. period.

HR will only confirm or deny that a person worked at the organization and maybe what their employment dates were - nothing more - period.

However, HR people and recruiters, etc., more or less know each other in one way or another, so often the word gets out, without anybody asking, via "the grapevine" if a person is to be avoided. Usually only if they were really problematic though. Generally HR often does not know about such things as performance/etc. unless there was a serious problem (such as the time we had to get a restraining order against a former employee).

Humm... I worked for a subsidy of large U.S. based outsource software vendor, and thought the practice is that every resigned employee will get a boilerplate reference letter that only contains your name, ID number, position, employment period and latest salary after the exit interview.

I was the one submitting the story. It was somewhat embellished (who is Ada anyway? ;-)

This was early 90's and my then employer thought it wasn't necessary to have a source control system, even though I had suggested it.

It was indeed a reference to Allo-allo, by the way.

We worked with a team of 6 programmers on the project, and since we didn't have any commits (just a shared drive) it would have been hard to prove that Edwin did this. One of co-workers was indeed charged with finding all the messages though.
I left the company a few months later (also with two months notice) but not before having seen it going live without a glitch.

So, a comment after aeons. This shit is now running nodebb? Wtf indeed.

Anyway, a few years back i had a job opening and was reviewing people. One guy seemed extremely weird (refusing to submit code samples for unclear reasons, arguing with me - his potential employer - etc) so i figured i'd call his last employer to see what was up.

Reminds me of that one time where I stumbled upon a little time-bomb left by a former coworker (probably unintentional, but you never know). A piece of custom software written in Delphi was running at a customer, and they wanted a small change to it. This kind of thing happens pretty regularly, and as I had unfortunately listed my moderate Delphi skills on my CV, the task ended on my desk. Grabbed a copy of the application and source from the customer site, to be sure I had the most up-to-date customizations, and set about implementing the changes. Copied it back on site, and they start complaining. Sure, my changes were there, but the previous changes had been erased!

Huh?

After a whole lot of digging around and getting information on what the previous changes were, I was able to determine that he had changed the code ... compiled it ... and never saved the changed code! OK, so it's pretty stupid that Delphi allowed that to happen in the first place. But seriously, what developer isn't constantly clicking ctrl+s when editing? Let alone for a rather substantial modification?

So yeah, it would run for years without problem, right until a code change is needed and the software is recompiled.

This makes me believe this person went from his first ever job to his second. And sometime in the future when he wants to get his third job he's going to realize the full consequence of his actions:

Oops... they want references. I can hardly use my current employer, and... oops (again) I know I CAN'T use my previous employer... I wonder if they'll find my college professor and my mom strange references?