Mauro Carvalho Chehab | 609d99a | 2016-09-19 08:07:56 -0300 | [diff] [blame] | 1 | .. _managementstyle: |
| 2 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 3 | Linux kernel management style |
| 4 | ============================= |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 5 | |
| 6 | This is a short document describing the preferred (or made up, depending |
| 7 | on who you ask) management style for the linux kernel. It's meant to |
| 8 | mirror the CodingStyle document to some degree, and mainly written to |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 9 | avoid answering [#f1]_ the same (or similar) questions over and over again. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | |
| 11 | Management style is very personal and much harder to quantify than |
| 12 | simple coding style rules, so this document may or may not have anything |
| 13 | to do with reality. It started as a lark, but that doesn't mean that it |
| 14 | might not actually be true. You'll have to decide for yourself. |
| 15 | |
| 16 | Btw, when talking about "kernel manager", it's all about the technical |
| 17 | lead persons, not the people who do traditional management inside |
| 18 | companies. If you sign purchase orders or you have any clue about the |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 19 | budget of your group, you're almost certainly not a kernel manager. |
| 20 | These suggestions may or may not apply to you. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | |
Jiri Pirko | e11e364 | 2008-10-29 14:00:58 -0700 | [diff] [blame] | 22 | First off, I'd suggest buying "Seven Habits of Highly Effective |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 23 | People", and NOT read it. Burn it, it's a great symbolic gesture. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 25 | .. [#f1] This document does so not so much by answering the question, but by |
| 26 | making it painfully obvious to the questioner that we don't have a clue |
| 27 | to what the answer is. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 28 | |
| 29 | Anyway, here goes: |
| 30 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 31 | .. _decisions: |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 33 | 1) Decisions |
| 34 | ------------ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 35 | |
| 36 | Everybody thinks managers make decisions, and that decision-making is |
| 37 | important. The bigger and more painful the decision, the bigger the |
| 38 | manager must be to make it. That's very deep and obvious, but it's not |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 39 | actually true. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 41 | The name of the game is to **avoid** having to make a decision. In |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 42 | particular, if somebody tells you "choose (a) or (b), we really need you |
| 43 | to decide on this", you're in trouble as a manager. The people you |
| 44 | manage had better know the details better than you, so if they come to |
| 45 | you for a technical decision, you're screwed. You're clearly not |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 46 | competent to make that decision for them. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 47 | |
| 48 | (Corollary:if the people you manage don't know the details better than |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 49 | you, you're also screwed, although for a totally different reason. |
| 50 | Namely that you are in the wrong job, and that **they** should be managing |
| 51 | your brilliance instead). |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 52 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 53 | So the name of the game is to **avoid** decisions, at least the big and |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 54 | painful ones. Making small and non-consequential decisions is fine, and |
| 55 | makes you look like you know what you're doing, so what a kernel manager |
| 56 | needs to do is to turn the big and painful ones into small things where |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 57 | nobody really cares. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 58 | |
| 59 | It helps to realize that the key difference between a big decision and a |
| 60 | small one is whether you can fix your decision afterwards. Any decision |
| 61 | can be made small by just always making sure that if you were wrong (and |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 62 | you **will** be wrong), you can always undo the damage later by |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 63 | backtracking. Suddenly, you get to be doubly managerial for making |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 64 | **two** inconsequential decisions - the wrong one **and** the right one. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 65 | |
| 66 | And people will even see that as true leadership (*cough* bullshit |
| 67 | *cough*). |
| 68 | |
| 69 | Thus the key to avoiding big decisions becomes to just avoiding to do |
| 70 | things that can't be undone. Don't get ushered into a corner from which |
| 71 | you cannot escape. A cornered rat may be dangerous - a cornered manager |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 72 | is just pitiful. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 73 | |
| 74 | It turns out that since nobody would be stupid enough to ever really let |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 75 | a kernel manager have huge fiscal responsibility **anyway**, it's usually |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 | fairly easy to backtrack. Since you're not going to be able to waste |
| 77 | huge amounts of money that you might not be able to repay, the only |
| 78 | thing you can backtrack on is a technical decision, and there |
| 79 | back-tracking is very easy: just tell everybody that you were an |
| 80 | incompetent nincompoop, say you're sorry, and undo all the worthless |
| 81 | work you had people work on for the last year. Suddenly the decision |
| 82 | you made a year ago wasn't a big decision after all, since it could be |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 83 | easily undone. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 84 | |
| 85 | It turns out that some people have trouble with this approach, for two |
| 86 | reasons: |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 87 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 88 | - admitting you were an idiot is harder than it looks. We all like to |
| 89 | maintain appearances, and coming out in public to say that you were |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 90 | wrong is sometimes very hard indeed. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 91 | - having somebody tell you that what you worked on for the last year |
| 92 | wasn't worthwhile after all can be hard on the poor lowly engineers |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 93 | too, and while the actual **work** was easy enough to undo by just |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 94 | deleting it, you may have irrevocably lost the trust of that |
| 95 | engineer. And remember: "irrevocable" was what we tried to avoid in |
| 96 | the first place, and your decision ended up being a big one after |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 97 | all. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 98 | |
| 99 | Happily, both of these reasons can be mitigated effectively by just |
| 100 | admitting up-front that you don't have a friggin' clue, and telling |
| 101 | people ahead of the fact that your decision is purely preliminary, and |
| 102 | might be the wrong thing. You should always reserve the right to change |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 103 | your mind, and make people very **aware** of that. And it's much easier |
| 104 | to admit that you are stupid when you haven't **yet** done the really |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 105 | stupid thing. |
| 106 | |
| 107 | Then, when it really does turn out to be stupid, people just roll their |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 108 | eyes and say "Oops, he did it again". |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 109 | |
| 110 | This preemptive admission of incompetence might also make the people who |
| 111 | actually do the work also think twice about whether it's worth doing or |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 112 | not. After all, if **they** aren't certain whether it's a good idea, you |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 113 | sure as hell shouldn't encourage them by promising them that what they |
| 114 | work on will be included. Make them at least think twice before they |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 115 | embark on a big endeavor. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 116 | |
| 117 | Remember: they'd better know more about the details than you do, and |
| 118 | they usually already think they have the answer to everything. The best |
| 119 | thing you can do as a manager is not to instill confidence, but rather a |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 120 | healthy dose of critical thinking on what they do. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 121 | |
| 122 | Btw, another way to avoid a decision is to plaintively just whine "can't |
| 123 | we just do both?" and look pitiful. Trust me, it works. If it's not |
| 124 | clear which approach is better, they'll eventually figure it out. The |
| 125 | answer may end up being that both teams get so frustrated by the |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 126 | situation that they just give up. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 127 | |
| 128 | That may sound like a failure, but it's usually a sign that there was |
| 129 | something wrong with both projects, and the reason the people involved |
| 130 | couldn't decide was that they were both wrong. You end up coming up |
| 131 | smelling like roses, and you avoided yet another decision that you could |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 132 | have screwed up on. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 133 | |
| 134 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 135 | 2) People |
| 136 | --------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 137 | |
| 138 | Most people are idiots, and being a manager means you'll have to deal |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 139 | with it, and perhaps more importantly, that **they** have to deal with |
| 140 | **you**. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 141 | |
| 142 | It turns out that while it's easy to undo technical mistakes, it's not |
| 143 | as easy to undo personality disorders. You just have to live with |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 144 | theirs - and yours. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 145 | |
| 146 | However, in order to prepare yourself as a kernel manager, it's best to |
| 147 | remember not to burn any bridges, bomb any innocent villagers, or |
| 148 | alienate too many kernel developers. It turns out that alienating people |
| 149 | is fairly easy, and un-alienating them is hard. Thus "alienating" |
| 150 | immediately falls under the heading of "not reversible", and becomes a |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 151 | no-no according to :ref:`decisions`. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 152 | |
| 153 | There's just a few simple rules here: |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 154 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 155 | (1) don't call people d*ckheads (at least not in public) |
| 156 | (2) learn how to apologize when you forgot rule (1) |
| 157 | |
| 158 | The problem with #1 is that it's very easy to do, since you can say |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 159 | "you're a d*ckhead" in millions of different ways [#f2]_, sometimes without |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 160 | even realizing it, and almost always with a white-hot conviction that |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 161 | you are right. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 162 | |
| 163 | And the more convinced you are that you are right (and let's face it, |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 164 | you can call just about **anybody** a d*ckhead, and you often **will** be |
| 165 | right), the harder it ends up being to apologize afterwards. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 166 | |
| 167 | To solve this problem, you really only have two options: |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 168 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 169 | - get really good at apologies |
| 170 | - spread the "love" out so evenly that nobody really ends up feeling |
| 171 | like they get unfairly targeted. Make it inventive enough, and they |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 172 | might even be amused. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 173 | |
| 174 | The option of being unfailingly polite really doesn't exist. Nobody will |
| 175 | trust somebody who is so clearly hiding his true character. |
| 176 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 177 | .. [#f2] Paul Simon sang "Fifty Ways to Leave Your Lover", because quite |
| 178 | frankly, "A Million Ways to Tell a Developer He Is a D*ckhead" doesn't |
| 179 | scan nearly as well. But I'm sure he thought about it. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 180 | |
| 181 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 182 | 3) People II - the Good Kind |
| 183 | ---------------------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 184 | |
| 185 | While it turns out that most people are idiots, the corollary to that is |
| 186 | sadly that you are one too, and that while we can all bask in the secure |
| 187 | knowledge that we're better than the average person (let's face it, |
| 188 | nobody ever believes that they're average or below-average), we should |
| 189 | also admit that we're not the sharpest knife around, and there will be |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 190 | other people that are less of an idiot than you are. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 191 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 192 | Some people react badly to smart people. Others take advantage of them. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 193 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 194 | Make sure that you, as a kernel maintainer, are in the second group. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 195 | Suck up to them, because they are the people who will make your job |
| 196 | easier. In particular, they'll be able to make your decisions for you, |
| 197 | which is what the game is all about. |
| 198 | |
| 199 | So when you find somebody smarter than you are, just coast along. Your |
| 200 | management responsibilities largely become ones of saying "Sounds like a |
| 201 | good idea - go wild", or "That sounds good, but what about xxx?". The |
| 202 | second version in particular is a great way to either learn something |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 203 | new about "xxx" or seem **extra** managerial by pointing out something the |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 204 | smarter person hadn't thought about. In either case, you win. |
| 205 | |
| 206 | One thing to look out for is to realize that greatness in one area does |
| 207 | not necessarily translate to other areas. So you might prod people in |
| 208 | specific directions, but let's face it, they might be good at what they |
| 209 | do, and suck at everything else. The good news is that people tend to |
| 210 | naturally gravitate back to what they are good at, so it's not like you |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 211 | are doing something irreversible when you **do** prod them in some |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 212 | direction, just don't push too hard. |
| 213 | |
| 214 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 215 | 4) Placing blame |
| 216 | ---------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 217 | |
| 218 | Things will go wrong, and people want somebody to blame. Tag, you're it. |
| 219 | |
| 220 | It's not actually that hard to accept the blame, especially if people |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 221 | kind of realize that it wasn't **all** your fault. Which brings us to the |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 222 | best way of taking the blame: do it for another guy. You'll feel good |
| 223 | for taking the fall, he'll feel good about not getting blamed, and the |
| 224 | guy who lost his whole 36GB porn-collection because of your incompetence |
| 225 | will grudgingly admit that you at least didn't try to weasel out of it. |
| 226 | |
| 227 | Then make the developer who really screwed up (if you can find him) know |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 228 | **in_private** that he screwed up. Not just so he can avoid it in the |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 229 | future, but so that he knows he owes you one. And, perhaps even more |
| 230 | importantly, he's also likely the person who can fix it. Because, let's |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 231 | face it, it sure ain't you. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 232 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 233 | Taking the blame is also why you get to be manager in the first place. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 234 | It's part of what makes people trust you, and allow you the potential |
| 235 | glory, because you're the one who gets to say "I screwed up". And if |
| 236 | you've followed the previous rules, you'll be pretty good at saying that |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 237 | by now. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 238 | |
| 239 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 240 | 5) Things to avoid |
| 241 | ------------------ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 242 | |
| 243 | There's one thing people hate even more than being called "d*ckhead", |
| 244 | and that is being called a "d*ckhead" in a sanctimonious voice. The |
| 245 | first you can apologize for, the second one you won't really get the |
| 246 | chance. They likely will no longer be listening even if you otherwise |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 247 | do a good job. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 248 | |
| 249 | We all think we're better than anybody else, which means that when |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 250 | somebody else puts on airs, it **really** rubs us the wrong way. You may |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 251 | be morally and intellectually superior to everybody around you, but |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 252 | don't try to make it too obvious unless you really **intend** to irritate |
| 253 | somebody [#f3]_. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 254 | |
| 255 | Similarly, don't be too polite or subtle about things. Politeness easily |
| 256 | ends up going overboard and hiding the problem, and as they say, "On the |
| 257 | internet, nobody can hear you being subtle". Use a big blunt object to |
| 258 | hammer the point in, because you can't really depend on people getting |
| 259 | your point otherwise. |
| 260 | |
| 261 | Some humor can help pad both the bluntness and the moralizing. Going |
| 262 | overboard to the point of being ridiculous can drive a point home |
| 263 | without making it painful to the recipient, who just thinks you're being |
| 264 | silly. It can thus help get through the personal mental block we all |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 265 | have about criticism. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 266 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 267 | .. [#f3] Hint: internet newsgroups that are not directly related to your work |
| 268 | are great ways to take out your frustrations at other people. Write |
| 269 | insulting posts with a sneer just to get into a good flame every once in |
| 270 | a while, and you'll feel cleansed. Just don't crap too close to home. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 271 | |
| 272 | |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 273 | 6) Why me? |
| 274 | ---------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 275 | |
| 276 | Since your main responsibility seems to be to take the blame for other |
| 277 | peoples mistakes, and make it painfully obvious to everybody else that |
| 278 | you're incompetent, the obvious question becomes one of why do it in the |
| 279 | first place? |
| 280 | |
| 281 | First off, while you may or may not get screaming teenage girls (or |
| 282 | boys, let's not be judgmental or sexist here) knocking on your dressing |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 283 | room door, you **will** get an immense feeling of personal accomplishment |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 284 | for being "in charge". Never mind the fact that you're really leading |
| 285 | by trying to keep up with everybody else and running after them as fast |
Mauro Carvalho Chehab | 7f2b3c6 | 2016-09-19 08:07:48 -0300 | [diff] [blame] | 286 | as you can. Everybody will still think you're the person in charge. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 287 | |
| 288 | It's a great job if you can hack it. |