997 karma · joined July 3, 2012
If you go into the whistleblower's complaint and remove everything that is not his firsthand account there's shockingly little there around bribery. I do think that this individual has an HR legal case for being mistreated based on their writing but that has little to do with the alleged bribery. Reading an audit report that they didn't pen doesn't mean much and the findings could have been made right without their knowledge. Nobody goes back and marks findings on an original audit report 'fixed.' There is also a lot of jumping to conclusions. The only thing in the whistleblower post that I can see that they provided as concrete issue that they were firsthand involved with was a sum of $40,000 which is a great distance away from the $200 MM they are suggesting. If it was as prevalent they would have multiple transactions they were directly aware of and the sum would be much higher than $40,000. There is an assumption laden in the article that the only outcome for any discrepancy are bad actors enriching themselves instead of negligence or incompetence. Bringing in other cases where Microsoft was fined is irrelevant for the purpose of their whistleblowing, nobody cares about the other crimes we already know about we care about the crime you saw.
Too much of this sounds like a jilted employee on a PIP and not enough of it was just straight facts and clear cause for action. You don't need to craft a narrative, just whistleblow on what you saw.
There's a lot more extrapolation of facts into a narrative from the original whistleblower post. Trying to say that licenses that were bought that never were used was bribery is just confusing. Even I have licenses for things kicking around that I never installed but intended to someday. Whole projects can get planned, licenses purchased, and then for one reason or another scrapped but the licenses (or other material from vendors) are still 'bought.' For the bribery to mean anything (or like that other commenter who tried to whip out FCPA randomly) someone has to get enriched by the experience other than the reseller selling something and paying Microsoft its share. The whistleblower post didn't do that well.
There is just not a lot of good information that was provided by the whistleblower to actually connect all of this money that he estimates at $200 million to any sort of reality. Do I think he has enough beef for a employment law retaliation case (if he was in jurisdiction US law)? Probably. Did some people commit bribes and Microsoft was fined/Microsoft fired people? Probably. Do some resellers who are external to Microsoft end up violating the FCPA or 'normal US business ethics' in some regions? Definitely. But they aren't in the US, so the right venue for whistleblowing the activity is in whatever-country-in-question under their laws. Just based on the article and whistleblower post it sounds like there is just an assumption that micro problems in his local leadership were macro problems. I am not convinced.
Example of weird semi-positive was from reporting a particular serial scammer using a YouTube+Cloudflare combo where I would get always a submission receipt but then seemingly arbitrarily feedback that the situation was dealt with.
I would also say that the USB-C ports seem to get dirty in ways that end up affecting how the cable seats for a hours or years it always seemed to be reliable positive connection way more than I've had with other USB types. I haven't really looked at the mechanics of it but the number of times I feel like I've plugged in and gotten positive connection only to find out the connection was loose is way higher than I had with USB-A. With USB-A if you got it into the connector whether it was for an hours or years it always seemed to be reliable and not something to worry about.
I don't mind that people try to setup a minimal product or have people to be self-inserted to do the work that is planned to be automated later on the service company's side, but if your answer to the question 'if we use this product we'll have 1000 artifacts to configure, how do we do this efficiently' is 'you have to go one by one and we'll implement it later' on a product/service that clearly is going to have 1000's of things is just junky and not minimal at all.
EDIT: also don't be that person who says 'well you can do that with the API!' when you in fact can't do it through the API and/or it is the exact same level of clunkiness as the UI.
To be honest this is one of the things that made web browsers and html so good is because it solves this problem really well compared to having to figure this out in native apps across languages the hard way.
So the question is are you contesting the POSIX defined behaviour over using more logical interfaces from the OS or the wild west where people were hacking around broken, platform-specific features and often broken or awkward system libraries or just the more modern case where people use the standard interface instead of a more performant one. In the latter case I agree I wish there was a more 'nice' way of doing more dynamic and efficient feature detection without making simple C programs crazy complex.
It's just an email, don't overthink it. Don't write a rebuttal essay, just express what you are reading and why it doesn't line up for you and send it along. Maybe there's something you're missing or maybe this is a bit of manuscript that was revised a few times and now doesn't line up perfectly. It's no different than going to a friend and asking if they can make heads or tails from it. They wrote a book to share something they found interesting people asking questions and clarifications is what I would think to be one of the few true rewards.
That's still the main thing for me that gives me pause, it ends up being very unreliable when you are trying to secure it or simply put walls up around things. Finding out that your Network plugin doesn't support the thing you need is often not obvious until you have put in a massive amount of resources and work and sometimes it's not reconcilable. The idea of k8s is good, and the model is good, but the observability of features and working through the operational costs are still really raw right now and still has a lot of room for growth.
It depends on your environment and architecture combined with how fast you can move especially with third party components. Having the microservice be 'dumb' can save everything.