It might hurt the feelings of HR at the new place where he wants to apply though.
No one disagrees with you in principle, but there are realcitrant social practices punishing this kind of feedback. It is always taken as a grudge rather than an observation, and this makes you less attractive as a hire.
This goes the other way too: Generally speaking, companies are expected to refrain from negative commentary when contacted as a reference by subsequent employers. The only exception, and seldom done, is if the employee was terminated due to egregiously bad circumstances.
That is to say, (former) employee doesn't speak ill of (former) employer and (former) employer doesn't speak ill of (former) employee. It's how society keeps itself oiled.
I was told at some point by someone that a layoff can’t be done based on performance, because that would mean it’s a firing instead. An amazon manager told me they were careful to avoid mentioning perf as a factor in their latest layoffs. Is that accurate and if so how does this jive with that at all?
I don't know how it works exactly but there is a meaningful difference between being fired "for cause" vs just being fired in many jurisdictions. For instance, if you're fired for cause then you may not be eligible to collect unemployment insurance. But as I understand it (and IANAL) this would apply only to things like gross misconduct (eg stealing from the company, assaulting colleagues, showing up to work drunk, etc) and poor performance wouldn't really count as being fired for cause.
In the US though employment is "at will" meaning you can be fired for any reason or no reason at all. There are various exceptions to this but the burden of proof is generally on the employee to show that they were wrongfully terminated (eg if they were fired because of their race, sex, sexual orientation, etc).
> [...] but the burden of proof is generally on the employee to show that they were wrongfully terminated [...]
This is same for Switzerland and probably Europe. In Switzerland you have three month's notice for resigning and for being laid off. You can be fired for cause without notice, but this applies only if the cause is severe enough that a continuation of the employment shouldn't be asked of the company or the employee any more. This has consequences for unemployment insurance. Usually the ex-employee needs to wait 4 weeks for unemployment benefits. It's the same if the employee resigned.
Well, to each their own. I find Tokyo's greenery and street gardens to be the most attractive parts of the city ;-). You're right about the lights and it's kind of hard to believe people think Tokyo looks like these pictures.
fyi to anyone seriously considering using these: neither is going to work as expected if something blocks the loop indefinitely. In other words, you won't know how long something blocked the loop until that thing has finished blocking. Timeouts for async code or limits on loop statements are still relevant.
If something is blocking the eventloop indefinitely, it's unlikely to reach production and even if it does, a simple crash report or perf inspection will reveal it. You don't need more tools than node-report for that case.
Permanent eventloop block is the simple case.
Regular eventloop blocking by synchronous processing is the middle ground.
Performance issues with utilization of resources, too many promises or broken backpressure - that's where the fun begins.
If you can run your software locally and simulate load, just use node clinic. It's the best looking one ;)
Yeah this seems to miss some of the biggest features of npm scripts. Access to the project's local packages is probably the biggest feature not mentioned IMO.