123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798 |
- <!doctype html><!-- This is a valid HTML5 document. -->
- <!-- Screen readers, SEO, extensions and so on. -->
- <html lang=fr>
- <!-- Has to be within the first 1024 bytes, hence before the <title>
- See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
- <meta charset=utf-8>
- <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
- <!-- The viewport meta is quite crowded and we are responsible for that.
- See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
- <meta name=viewport content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
- <!-- Required to make a valid HTML5 document. -->
- <title>Do the Right Thing (archive) — David Larlet</title>
- <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
- <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
- <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
- <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
- <link rel="manifest" href="/manifest.json">
- <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
- <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
- <meta name="apple-mobile-web-app-title" content="David Larlet">
- <meta name="application-name" content="David Larlet">
- <meta name="msapplication-TileColor" content="#da532c">
- <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
- <meta name="theme-color" content="#f0f0ea">
- <!-- That good ol' feed, subscribe :p. -->
- <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
-
- <meta name="robots" content="noindex, nofollow">
- <meta content="origin-when-cross-origin" name="referrer">
- <!-- Canonical URL for SEO purposes -->
- <link rel="canonical" href="http://timjwade.com/2018/08/06/do-the-right-thing.html">
-
- <style>
- /* http://meyerweb.com/eric/tools/css/reset/ */
- html, body, div, span,
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
- a, abbr, address, big, cite, code,
- del, dfn, em, img, ins,
- small, strike, strong, tt, var,
- dl, dt, dd, ol, ul, li,
- fieldset, form, label, legend,
- table, caption, tbody, tfoot, thead, tr, th, td,
- article, aside, canvas, details, embed,
- figure, figcaption, footer, header, hgroup,
- menu, nav, output, ruby, section, summary,
- time, mark, audio, video {
- margin: 0;
- padding: 0;
- border: 0;
- font-size: 100%;
- font: inherit;
- vertical-align: baseline;
- }
- /* HTML5 display-role reset for older browsers */
- article, aside, details, figcaption, figure,
- footer, header, hgroup, menu, nav, section { display: block; }
- body { line-height: 1; }
- blockquote, q { quotes: none; }
- blockquote:before, blockquote:after,
- q:before, q:after {
- content: '';
- content: none;
- }
- table {
- border-collapse: collapse;
- border-spacing: 0;
- }
-
- /* http://practicaltypography.com/equity.html */
- /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
- /* https://www.filamentgroup.com/lab/js-web-fonts.html */
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
- font-weight: 300;
- font-style: normal;
- font-display: swap;
- }
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
- font-weight: 300;
- font-style: italic;
- font-display: swap;
- }
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
- font-weight: 700;
- font-style: normal;
- font-display: swap;
- }
-
- @font-face {
- font-family: 'ConcourseT3';
- src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
- url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
- font-weight: 300;
- font-style: normal;
- font-display: swap;
- }
-
-
- /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
- body {
- /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
- font-family: "EquityTextB", Palatino, serif;
- background-color: #f0f0ea;
- color: #07486c;
- font-kerning: normal;
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: subpixel-antialiased;
- text-rendering: optimizeLegibility;
- font-variant-ligatures: common-ligatures contextual;
- font-feature-settings: "kern", "liga", "clig", "calt";
- }
- pre, code, kbd, samp, var, tt {
- font-family: 'TriplicateT4c', monospace;
- }
- em {
- font-style: italic;
- color: #323a45;
- }
- strong {
- font-weight: bold;
- color: black;
- }
- nav {
- background-color: #323a45;
- color: #f0f0ea;
- display: flex;
- justify-content: space-around;
- padding: 1rem .5rem;
- }
- nav:last-child {
- border-bottom: 1vh solid #2d7474;
- }
- nav a {
- color: #f0f0ea;
- }
- nav abbr {
- border-bottom: 1px dotted white;
- }
-
- h1 {
- border-top: 1vh solid #2d7474;
- border-bottom: .2vh dotted #2d7474;
- background-color: #e3e1e1;
- color: #323a45;
- text-align: center;
- padding: 5rem 0 4rem 0;
- width: 100%;
- font-family: 'ConcourseT3';
- display: flex;
- flex-direction: column;
- }
- h1.single {
- padding-bottom: 10rem;
- }
- h1 span {
- position: absolute;
- top: 1vh;
- left: 20%;
- line-height: 0;
- }
- h1 span a {
- line-height: 1.7;
- padding: 1rem 1.2rem .6rem 1.2rem;
- border-radius: 0 0 6% 6%;
- background: #2d7474;
- font-size: 1.3rem;
- color: white;
- text-decoration: none;
- }
- h2 {
- margin: 4rem 0 1rem;
- border-top: .2vh solid #2d7474;
- padding-top: 1vh;
- }
- h3 {
- text-align: center;
- margin: 3rem 0 .75em;
- }
- hr {
- height: .4rem;
- width: .4rem;
- border-radius: .4rem;
- background: #07486c;
- margin: 2.5rem auto;
- }
- time {
- display: bloc;
- margin-left: 0 !important;
- }
- ul, ol {
- margin: 2rem;
- }
- ul {
- list-style-type: square;
- }
- a {
- text-decoration-skip-ink: auto;
- text-decoration-thickness: 0.05em;
- text-underline-offset: 0.09em;
- }
- article {
- max-width: 50rem;
- display: flex;
- flex-direction: column;
- margin: 2rem auto;
- }
- article.single {
- border-top: .2vh dotted #2d7474;
- margin: -6rem auto 1rem auto;
- background: #f0f0ea;
- padding: 2rem;
- }
- article p:last-child {
- margin-bottom: 1rem;
- }
- p {
- padding: 0 .5rem;
- margin-left: 3rem;
- }
- p + p,
- figure + p {
- margin-top: 2rem;
- }
-
- blockquote {
- background-color: #e3e1e1;
- border-left: .5vw solid #2d7474;
- display: flex;
- flex-direction: column;
- align-items: center;
- padding: 1rem;
- margin: 1.5rem;
- }
- blockquote cite {
- font-style: italic;
- }
- blockquote p {
- margin-left: 0;
- }
-
- figure {
- border-top: .2vh solid #2d7474;
- background-color: #e3e1e1;
- text-align: center;
- padding: 1.5rem 0;
- margin: 1rem 0 0;
- font-size: 1.5rem;
- width: 100%;
- }
- figure img {
- max-width: 250px;
- max-height: 250px;
- border: .5vw solid #323a45;
- padding: 1px;
- }
- figcaption {
- padding: 1rem;
- line-height: 1.4;
- }
- aside {
- display: flex;
- flex-direction: column;
- background-color: #e3e1e1;
- padding: 1rem 0;
- border-bottom: .2vh solid #07486c;
- }
- aside p {
- max-width: 50rem;
- margin: 0 auto;
- }
-
- /* https://fvsch.com/code/css-locks/ */
- p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
- font-size: 1rem;
- line-height: calc( 1.5em + 0.2 * 1rem );
- }
- h1 {
- font-size: 1.9rem;
- line-height: calc( 1.2em + 0.2 * 1rem );
- }
- h2 {
- font-size: 1.6rem;
- line-height: calc( 1.3em + 0.2 * 1rem );
- }
- h3 {
- font-size: 1.35rem;
- line-height: calc( 1.4em + 0.2 * 1rem );
- }
- @media (min-width: 20em) {
- /* The (100vw - 20rem) / (50 - 20) part
- resolves to 0-1rem, depending on the
- viewport width (between 20em and 50em). */
- p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
- font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
- margin-left: 0;
- }
- h1 {
- font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- h2 {
- font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- h3 {
- font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- }
- @media (min-width: 50em) {
- /* The right part of the addition *must* be a
- rem value. In this example we *could* change
- the whole declaration to font-size:2.5rem,
- but if our baseline value was not expressed
- in rem we would have to use calc. */
- p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
- font-size: calc( 1rem + .6 * 1rem );
- line-height: 1.5em;
- }
- p, li, pre, details {
- margin-left: 3rem;
- }
- h1 {
- font-size: calc( 1.9rem + 1.5 * 1rem );
- line-height: 1.2em;
- }
- h2 {
- font-size: calc( 1.5rem + 1.5 * 1rem );
- line-height: 1.3em;
- }
- h3 {
- font-size: calc( 1.35rem + 1.5 * 1rem );
- line-height: 1.4em;
- }
- figure img {
- max-width: 500px;
- max-height: 500px;
- }
- }
-
- figure.unsquared {
- margin-bottom: 1.5rem;
- }
- figure.unsquared img {
- height: inherit;
- }
-
-
-
- @media print {
- body { font-size: 100%; }
- a:after { content: " (" attr(href) ")"; }
- a, a:link, a:visited, a:after {
- text-decoration: underline;
- text-shadow: none !important;
- background-image: none !important;
- background: white;
- color: black;
- }
- abbr[title] { border-bottom: 0; }
- abbr[title]:after { content: " (" attr(title) ")"; }
- img { page-break-inside: avoid; }
- @page { margin: 2cm .5cm; }
- h1, h2, h3 { page-break-after: avoid; }
- p3 { orphans: 3; widows: 3; }
- img {
- max-width: 250px !important;
- max-height: 250px !important;
- }
- nav, aside { display: none; }
- }
-
- ul.with_columns {
- column-count: 1;
- }
- @media (min-width: 20em) {
- ul.with_columns {
- column-count: 2;
- }
- }
- @media (min-width: 50em) {
- ul.with_columns {
- column-count: 3;
- }
- }
- ul.with_two_columns {
- column-count: 1;
- }
- @media (min-width: 20em) {
- ul.with_two_columns {
- column-count: 1;
- }
- }
- @media (min-width: 50em) {
- ul.with_two_columns {
- column-count: 2;
- }
- }
-
- .gallery {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-around;
- }
- .gallery figure img {
- margin-left: 1rem;
- margin-right: 1rem;
- }
- .gallery figure figcaption {
- font-family: 'ConcourseT3'
- }
-
- footer {
- font-family: 'ConcourseT3';
- display: flex;
- flex-direction: column;
- border-top: 3px solid white;
- padding: 4rem 0;
- background-color: #07486c;
- color: white;
- }
- footer > * {
- max-width: 50rem;
- margin: 0 auto;
- }
- footer a {
- color: #f1c40f;
- }
- footer .avatar {
- width: 200px;
- height: 200px;
- border-radius: 50%;
- float: left;
- -webkit-shape-outside: circle();
- shape-outside: circle();
- margin-right: 2rem;
- padding: 2px 5px 5px 2px;
- background: white;
- border-left: 1px solid #f1c40f;
- border-top: 1px solid #f1c40f;
- border-right: 5px solid #f1c40f;
- border-bottom: 5px solid #f1c40f;
- }
- </style>
-
- <h1>
- <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
- Do the Right Thing (archive)
- <time>Pour la pérennité des contenus liés. Non-indexé, retrait sur simple email.</time>
- </h1>
- <section>
- <article>
- <h3><a href="http://timjwade.com/2018/08/06/do-the-right-thing.html">Source originale du contenu</a></h3>
- <p>Some years ago when I was living in an Ashram in rural Virginia, I met
- a wise, old man. I knew he was a wise, old man because he embodied
- certain stereotypes about wise, old men. First, he was a Gray-Bearded
- Yogi. Before this he was a New Yorker and a practicing Freudian
- Psychoanalyst. Sometimes he would say a lot of interesting and funny
- things, and at other times he would smile and nod and say nothing at
- all. I can’t remember if he ever stroked his beard.</p>
-
- <p>One day he said to me, “Asoka,” (the name under which I was going at
- the time). “Asoka,” he said, “do you know what is the single driving
- force behind all our desires, motives and actions?” I thought about
- this for some time. I had my own ideas but, knowing he was a Freudian,
- suspected that the answer was going to be something to do with the
- libido.</p>
-
- <p>“You probably suspect that the answer is going to be something to do
- with the libido,” he said. “But it’s not.” I listened patiently. “It’s
- the need … to be right.” I laughed. While I wasn’t totally surprised
- not to have got the right answer, this particular one for some reason
- blew me away. I wasn’t prepared. I had never framed human nature in
- those terms before.</p>
-
- <p>I wouldn’t expect anyone else to have the same reaction. I suspect
- others would find this to be either obvious, banal, or plainly wrong,
- and if this is you, I don’t intend to convince you otherwise (there
- might be a certain irony in trying to do so). What I want to do
- instead is document what became for me a personal manifesto, and a
- lens through which I began to look at the world. As a lens, you are
- free to pick it up, take a look through it, and ultimately discard it
- if you wish. But I rather like it a lot.</p>
-
- <p>What happened that day was really only the start of a long
- process. Eventually I would see that a preoccupation with being right
- was essentially an expression of power and that rectifying (from the
- Late Latin <em>rectificare</em> - to “make right”) was about exerting power
- over others. I would also see that this preoccupation had perhaps more
- to do with the appearance of being right, and that the cost of
- maintaining it would be in missed opportunities for learning. And I
- would also see that, while the rectification obsession was not a
- uniquely male problem, there seemed to be a general movement of
- rightness from that direction, and we would do well to examine that
- too.</p>
-
- <p>I was the principle subject of my examination, and it has become a
- goal to continue to examine and dismantle the ways in which I assert
- “rightness” in the world.</p>
-
- <h3 id="a-little-bit-about-myself">A little bit about myself</h3>
-
- <p>Allegedly I come from a long line of <em>know-it-alls</em>. Unsurprisingly,
- it’s a behavior that passes down the male side of my family. Of
- course, I don’t really believe this is a genetic disposition, and it’s
- easy to see how this might work.</p>
-
- <p>As a child I remember my family’s praising me for being ‘brainy’. They
- gave me constant positive feedback for being right. As long as I
- appeared to be right all the time I felt like I was winning. In
- actuality, though, I was losing. I learned to hide my ignorance of
- things so as never to appear wrong. I’ve spent most of my life missing
- answers to questions I didn’t ask. I became lazy, unconsciously
- thinking that my smarts would allow me to coast through life.</p>
-
- <p>Once I left School, and with it a culture principally concerned with
- measuring and rewarding rightness, I had a hard time knowing how to
- fit in or do well. It would take years of adjustments before I felt
- any kind of success. Whenever something became hard, I’d try something
- new, and I was always disappointed to find that opportunities were not
- handed to me simply because I was ‘smart’. When I didn’t get into the
- top colleges I applied to it devastated me. I would later drop out of
- a perfectly good college, get by on minimum wage jobs when I was lucky
- enough even to have one, fail to understand why I didn’t get any of
- the much better jobs I applied for.</p>
-
- <p>I stumbled upon a section in Richard Wiseman’s <em>59 Seconds: Think a
- Little, Change a Lot</em> that claimed that children who are praised for
- hard work will be more successful than those that are praised for
- correctness or cleverness (there is some research that supports
- this). It came as a small comfort to learn that I was not alone. More
- importantly, it planted in me a seed whose growth I continue to
- nurture today.</p>
-
- <p>I still don’t fully grasp the extent to which these early experiences
- have shaped my thinking and my behavior, but I have understood it well
- enough to have turned things around somewhat, applied myself, and have
- some awareness of my rectifying behavior, even if I can’t always
- anticipate it.</p>
-
- <p>It is one thing to intervene in your own actions toward others, to
- limit your own harmful behavior. It is quite another when dealing with
- the dynamics of a group of people all competing for rightness. What
- I’m especially interested in currently is the fact that I don’t
- believe I’ve ever seen such a high concentration of people who are
- utterly driven by the need to be right <em>all the time</em> as in the tech
- industry.</p>
-
- <p>Let’s look at some of the different ways that being right has manifest
- itself negatively in the workplace.</p>
-
- <h3 id="on-leadership-and-teamwork">On Leadership and Teamwork</h3>
-
- <p>There is a well-known meme about the experience of being a programmer,
- and it looks like this:</p>
-
- <p><img src="/assets/two-states.png" class="img-responsive" alt="The two states of every programmer"/></p>
-
- <p>There is some truth to this illustration of the polarization of
- feelings felt through coding. However, it is all too common for
- individuals to wholly identify with one or the other. On the one side
- we have our rock stars, our 10x developers and brogrammers. On the
- other we have people dogged by imposter syndrome. In reality, the two
- abstract states represent a continuous and exaggerated part of us
- all. Having said that, I believe that <em>everyone</em> is in the middle, but
- much closer to the second state than the first. All of us.</p>
-
- <p>In my personal experience I have felt a strong feeling of camaraderie
- when I’m working with people who all humbly admit they don’t <em>really</em>
- know what they’re doing. This qualification is important - nobody is
- saying they are truly incompetent, just that there are distinct limits
- to their knowledge and understanding. There is the sense that we don’t
- have all the answers, but we will nonetheless figure it out
- together. It promotes a culture of learning and teamwork. When
- everyone makes themselves vulnerable in this way great things can
- happen. The problem is that it only takes one asshole to fuck all that
- up.</p>
-
- <p>When a team loses its collective vulnerability as one person starts to
- exert rightness (and therefore power) downwards onto it, we lose all
- the positive effects I’ve listed above. I’ve seen people become
- competitive and sometimes downright hostile under these
- conditions. Ultimately it rewards the loudest individuals who can make
- the most convincing semblance of being right to their peers and
- stifles all other voices.</p>
-
- <p>This is commonly what we call “leadership”, and while I don’t want to
- suggest that leadership and teamwork are antagonistic to each other, I
- do want to suggest that a certain style of leadership, one concerned
- principally with correctness, is harmful to it. A good leader will
- make bold decisions, informed by their team, to move forward in some
- direction, even if sometimes that turns out to be the wrong one. It’s
- OK to acknowledge this and turn things around.</p>
-
- <h3 id="on-productivity">On Productivity</h3>
-
- <p>A preoccupation with being right can have a directly negative effect
- on productivity. One obvious way is what I will call refactoring
- hypnosis - a state wherein the programmer forgets the original intent
- of their refactoring efforts and continues to rework code into a more
- “right” state, often with no tangible benefit while risking
- breakages at every step.</p>
-
- <p>Style is another area that is particularly prone to pointless
- rectification. It is not unusual for developers to have a preference
- for a certain style in whatever language they are using. It is
- interesting that while opposing styles can seem utterly “wrong” to the
- developer it seems that this is the area of software development in
- which there are the fewest agreements over what we consider to be good
- or “right”. In Ruby there have been attempts to unify divergent
- opinion in the <a href="https://github.com/rubocop-hq/ruby-style-guide">Ruby Style Guide</a> but it has been known to go back
- and forth on some of its specifics (or merely to state that there are
- competing styles), and the fact that teams and communities eventually
- grow their own style guides (AirBnb, GitHub, thoughtbot, Seattle.rb)
- shows that perhaps the only thing we can agree on is that a codebase
- be consistent. Where it lacks consistency there lie opportunities to
- rectify, but this is almost always a bad idea if done for its own
- sake.</p>
-
- <p>Finally, being right simply isn’t agile. One of the core tenets of the
- Agile Manifesto is that while there is value in following a plan,
- there is more value in responding to change. This seems to suggest
- that our plans, while useful, will inevitably be wrong in crucial
- ways. An obsession with rightness will inevitably waste time -
- accepting that we will be wrong encourages us to move quickly, get
- feedback early on and iterate to build the right thing in the shortest
- time.</p>
-
- <h3 id="on-culture">On Culture</h3>
-
- <p>As I’ve asserted above, none of us <em>really</em> knows what we are doing
- (for different values of “really”), and indeed this sentiment has been
- commonly expressed even among some of the most experienced and
- celebrated engineers. I think that there is both humor and truth in
- this but, while I believe the sentiment is well-intentioned, words are
- important and can sometimes undermine what’s being expressed
- here. I’ve seen people I look up to utter something of the form, look,
- I wrote [some technology you’ve probably heard of], and I still do
- [something stupid/dumb] - what an idiot! This doesn’t reassure me at
- all. All I think is, wow, if you have such a negative opinion of
- yourself, I can’t imagine what you’d think of me.</p>
-
- <p>Perhaps instead of fostering a culture of self-chastisement we can
- celebrate our wrongness. We know that failure can sometimes come at
- great cost, but it’s almost always because of flaws in the systems we
- have in place. A good system will tolerate certain mistakes well, and
- simply not let us make other kinds of mistakes. A mistake really is a
- cause for celebration because it is also a learning, and celebrating
- creates an opportunity to share that learning with others while
- simultaneously destigmatizing its discovery. I am happy that my team
- has recently formalized this process as part of our weekly
- retrospectives - I would encourage everyone to do this.</p>
-
- <p>One of the most harmful ways I’ve seen the rectification obsession
- play out is in code reviews. The very medium of the code review
- (typically GitHub) is not well set up for managing feelings when
- providing close criticism of one’s work. We can exacerbate this with
- an obsession with being right, especially when there are multiple
- contenders in the conversation.</p>
-
- <p>I have been on teams where this obsession extends into code review to
- the point where, in order for one to get one’s code merged, a reviewer
- has to deem it “perfect”. Ironically, this seems less an indicator of
- high code quality in the codebase and more of the difficulty of ever
- making changes to the code subsequently. Having your work routinely
- nitpicked can be a gruelling experience - worse so when review take
- place in multiple timezones and discussions go back and forth over
- multiple days or even weeks. Personally, I’ve been much happier when
- the team’s standard for merging is “good enough”, encouraging
- iterative changes and follow up work for anything less crucial.</p>
-
- <p>It is hard to overstate the importance of language when looking at
- these interactions. There has been much talk recently about the use of
- the word “just” (as in “just do it this way”) in code review, and I am
- glad that this is undergoing scrutiny. It seems to suggest that not
- only is the recipient wrong, but deeply misguided - the “right” way is
- really quite simple. This serves to exert power in a humiliating way,
- one that minimizes our effort and intellect along the way. Of course,
- there are countless more ways that we can do harm through poorly
- chosen words, but I am glad that we have started to examine this.</p>
-
- <h3 id="on-mansplaining">On Mansplaining</h3>
-
- <p>It is telling to me that the standard introduction to any
- mansplanation, <em>well, actually….</em>, is almost the ultimate expression
- of rectification. It is appropriate that we have identified this
- behavior as an expression of masculine insecurity - the man uses sheer
- volume and insistence to counter a position he poorly
- understands. More innocent mansplanations still work in the same way -
- without contradicting a man may simply offer some explanation (I am
- right!), believing this to be helpful to the person whose ignorance he
- has assumed.</p>
-
- <p>I am aware that there could be some irony in trying to frame the whole
- of this phenomenon in terms of my manifesto, but it is not my
- intention to do so. It is rather that mansplaining reveals a great
- deal about the harm done and intentions behind rectifying behavior.</p>
-
- <h3 id="doing-the-right-thing">Doing the Right Thing</h3>
-
- <p>I do not want to suggest a feeling of smug superiority - just about every
- harmful behavior I have described above I have also engaged in at some
- point. I know I will continue to do so, too. But I want this to be
- better, and I want to work with people who are also committed to these
- goals.</p>
-
- <p>Looking back to the start of my journey, I have to question now the
- intent of the wise, old man in his original assertion about human
- behavior. Was this yet another example of some unsolicited advice from
- a person who exploited their maleness and seniority to add more weight
- to their pronouncements than perhaps they deserved? Is this all that
- wise, old men do? Almost certainly.</p>
-
- <p>As it turned out, I did not wholly embrace it as truth (none of the
- above makes any claims to social science or psychology), but neither
- rejected it wholesale. I discovered that while it may not be literally
- true, I might arrive at smaller truths by entertaining it as an idea
- (the contradiction is probably what made me laugh). I’m grateful that
- it was shared with me.</p>
-
- <p>That there is nothing <em>wrong</em> with <em>being right</em>. Rather, it is the
- <em>desire</em> to be right that colors our judgment, that leads us on the
- wrong path. Being right is also not the same thing as <em>doing the right
- thing</em>. And I want to focus my efforts now on this, while trying to
- free myself from the tyranny of being right.</p>
- </article>
- </section>
-
-
- <nav id="jumpto">
- <p>
- <a href="/david/blog/">Accueil du blog</a> |
- <a href="http://timjwade.com/2018/08/06/do-the-right-thing.html">Source originale</a> |
- <a href="/david/stream/2019/">Accueil du flux</a>
- </p>
- </nav>
-
- <footer>
- <div>
- <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
- <p>
- Bonjour/Hi!
- Je suis <a href="/david/" title="Profil public">David Larlet</a>, je vis actuellement à Montréal et j’alimente cet espace depuis 15 ans. <br>
- Si tu as apprécié cette lecture, n’hésite pas à poursuivre ton exploration. Par exemple via les <a href="/david/blog/" title="Expériences bienveillantes">réflexions bimestrielles</a>, la <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a> ou en t’abonnant au <a href="/david/log/" title="S’abonner aux publications via RSS">flux RSS</a> (<a href="/david/blog/2019/flux-rss/" title="Tiens c’est quoi un flux RSS ?">so 2005</a>).
- </p>
- <p>
- Je m’intéresse à la place que je peux avoir dans ce monde. En tant qu’humain, en tant que membre d’une famille et en tant qu’associé d’une coopérative. De temps en temps, je fais aussi des <a href="https://github.com/davidbgk" title="Principalement sur Github mais aussi ailleurs">trucs techniques</a>. Et encore plus rarement, <a href="/david/talks/" title="En ce moment je laisse plutôt la place aux autres">j’en parle</a>.
- </p>
-
- <p>
- Voici quelques articles choisis :
- <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
- <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
- <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
- <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
- <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
- <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
- <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
- <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
- <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
- <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
- <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
- <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
- <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
- <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
- <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
- et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
- </p>
- <p>
- On peut <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">échanger par courriel</a>. Si éventuellement tu souhaites que l’on travaille ensemble, tu devrais commencer par consulter le <a href="http://larlet.com">profil dédié à mon activité professionnelle</a> et/ou contacter directement <a href="http://scopyleft.fr/">scopyleft</a>, la <abbr title="Société coopérative et participative">SCOP</abbr> dont je fais partie depuis six ans. Je recommande au préalable de lire <a href="/david/blog/2018/cout-site/" title="Attention ce qui va suivre peut vous choquer">combien coûte un site</a> et pourquoi je suis plutôt favorable à une <a href="/david/pro/devis/" title="Discutons-en !">non-demande de devis</a>.
- </p>
- <p>
- Je ne traque pas ta navigation mais mon
- <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
- conserve des logs d’accès.
- </p>
- </div>
- </footer>
- <script type="text/javascript">
- ;(_ => {
- const jumper = document.getElementById('jumper')
- jumper.addEventListener('click', e => {
- e.preventDefault()
- const anchor = e.target.getAttribute('href')
- const targetEl = document.getElementById(anchor.substring(1))
- targetEl.scrollIntoView({behavior: 'smooth'})
- })
- })()
- </script>
|