The advice is essential for kids entering the workforce. The target audience seems to be highschoolers followed by college students. It has a moderate usage of sarcasm. If it wasn’t loaded with references to back up the claims, parts may feel like name-calling. It seems like the author uses sarcasm as a tool to try and breach the echo-chamber most of his intended audience is nestled in.
But that aside, I’d rate it very high. It’s a short book and goes quick.
A key theme is that: Companies (which he calls the “real world”) are going to expect:
1) a basic level of maturity.
2) you to provide a service worthy of the money they’re going to give you.
Sometimes people ask me what essential skills they need to get a job at a place like Microsoft. They usually expect me to rattle off some list of technologies. But I think basic maturity and the right attitude is even more fundamental: Be professional. Work hard. Do an honest job. When you fall, get back up. People know when you’re lying.
Here are some of my personal favorite rules of the 50 that are most applicable to industry. (There are straw-men misinterpretations of all of these, so if you think the rule is dumb, you probably should read the full explanation from the book):
9. “Your school may have done away with winners and losers. Life hasn’t.” Win-Win scenarios are great, but rare. Competition often forces mutually exclusive choices (eg, there’s only resources to fund 1 project), and that naturally leads to winners and losers.
21. “You’re offended? So what? No, really. So, what?” No, he’s not promoting anarchy. It’s just that there’s a shorter distance between righteous indignation and hypersensitivity than most people admit. Before you go complaining about how much you’re offended by X, realize that you’re probably more offensive than you realize to somebody else over issue Y. Also, sometimes “the right thing” is very offensive and it will require strong leadership to rise above the criticism and solve it.
22. “You are not a victim. So stop whining.” Whining just advertises your weaknesses to others. Nobody really wants to hear a long list of excuses about why you failed. (For example, I can try to explain to customers that Interop-debugging is buggy because it’s really complex and there’s lot of threads and evil race conditions, but that usually doesn’t make them much happier).
25. “Pi does not care what you think.” The title here’s a little vague. What he means is that while some things are gray, some things are black and white. Understand the difference between facts and opinions and realize that your feelings won’t change the facts. Refusing to believe that a bug exists is not a mitigation strategy.
40. “Despite the billion-dollar campaign to turn your brain into tapioca pudding, try to learn to think clearly and logically.” I read this as “get out of the echo-chamber”. If you only surround yourself by people that agree with you, it makes it much harder to realize when you’ve screwed up, and much harder to correct your mistakes before your competition clobbers you. For eg, I think much of the CLR team is very honest with ourselves about the strengths and weaknesses of the .NET runtime. We celebrate the strengths, but also work on improving the weaknesses.
Some folks may think this is crass and harsh. Others may think this is obvious. Regardless, none of this is official Microsoft policy.