Bad title. As stated in the article, the employee was not fired, he's just an intern that left for 2 weeks before returning as a full-time. PR team reported (truthfully) that the employee is no longer with the company, but the article seems to indicate that company still honored the full employment after.
The joke is that Microsoft was truthfully able to say "the individual responsible is no longer with the company", a phrase which normally implies that someone has been fired as a direct consequence of the event, without actually firing anyone. The statement was true because the individual responsible had finished their internship, and hadn't yet been brought back as a full-time employee.
I agree about the title, but I do think it was absolutely a joke or case of diplomatic dexterity:
> The manager of this component replied, completely truthfully, “the individual responsible for this regrettable act is no longer with the company.”
Doesn't really sound like inadvertent or convenient HR/PR team handling, 'manager of this component'. How big would MS have been at the time (Windows 3.1, early 90s) anyway?
Sounds very much to me like they thought it was hilarious, and were thrilled to be able to say they were no longer there on a technicality!
I almost caused a version of our product to be shipped with a 'Blah' hyperlink on the About window. I was testing a new style of button, and the About window was just a convenient place to put it. This was a long time ago, prior to our adoption of source-control in the company, so I made the builds directly off my laptop.
There were many lessons I _should_ have learned, but what I chose to do was to surround all my testing code with #ifdef _DEBUG to make sure it didn't get out to real customers.
This is why I think it's a good idea for languages to have two print functions, one of them specifically intended for temporary debugging, the other for cases where you genuinely want to print to the console, e.g. in some utility script. This way, you can have a linting rule that prevents any "debug prints" from being committed to your repository.
Go kind of works that way, there are the "official" printing functions in fmt, and there's also a pretty much unused builtin println which works well enough for this use case.
I find that it's also a good idea to do this with comments, I personally prefer using TODO and/or FIXME for things that should be fixed eventually but don't deserve a ticket, and using XXX for things I want to remember about fixing before I commit. In the heat of coding, you can write something like `// XXX: handle errors` without breaking out of the flow, like you would with a separate todo list.
Funny how it's considered ethically ok to cause a great deal of angst and bother with the bugs and features of corporate releases, provided the problematic elements are entirely couched in 'professional' language and symbology.
You had me in the first half. I thought that during that time "no blame culture" wasn't a thing, especially since Bill Gates's leading style was yelling a lot. Either way, it's great that they kept the employee.
They didn’t fire him. The joke of the article is they said he was no longer with the company because he took a 2-week break in between his internship and starting full-time. The point is he got away free(ish) through pure luck, and the break was planned before any of this happened.