Browse Source

More links

master
David Larlet 3 years ago
parent
commit
e8de6419b9

+ 197
- 0
cache/2021/27f60626eb789433d6e2619663bb79f0/index.html View File

@@ -0,0 +1,197 @@
<!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,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Associative trails (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f0f0ea">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f0f0ea">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://adactio.com/journal/17821">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick">

<article>
<header>
<h1>Associative trails</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://adactio.com/journal/17821" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<p><a href="http://interconnected.org/home/2021/02/10/reservoirs">Matt wrote recently</a> about how different writers keep notes:</p>

<blockquote>
<p>I’m also reminded of how writers I love and respect maintain their own reservoirs of knowledge, complete with migratory paths down from the mountains.</p>
</blockquote>

<p>I have <a href="https://adactio.com/notes">a section of my site called “notes”</a> but the truth is that every single thing I post on here—whether it’s <a href="https://adactio.com/links">a link</a>, <a href="https://adactio.com/journal">a blog post</a>, or anything else—is really a “note to self.”</p>

<p>When it comes to retrieving information from this online <a href="https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/">memex</a> of mine, I use <a href="https://adactio.com/tags/">tags</a>. I’ve got search forms on my site, but usually I’ll go to the address bar in my browser instead and think “now, what would past me have tagged that with…” as I type <code>adactio.com/tags/...</code> (or, if I want to be more specific, <code>adactio.com/links/tags/...</code> or <code>adactio.com/journal/tags/...</code>).</p>

<p>It’s very satisfying to use my website as a back-up brain like this. I can get stuff out of my head and squirreled away, but still have it available for quick recall when I want it. It’s especially satisfying when I’m talking to someone else and something they say reminds me of something relevant, and I can go “Oh, let me send you this link…” as I retrieve the tagged item in question.</p>

<p>But I don’t think about other people when I’m adding something to my website. My audience is myself.</p>

<p>I know there’s lots of advice out there about considering your audience when you write, but when it comes to my personal site, I’d find that crippling. It would be one more admonishment from the inner critic whispering “no one’s interested in that”, “you have nothing new to add to this topic”, and “you’re not quailified to write about this.” If I’m writing for myself, then it’s easier to have fewer inhibitions. By treating everything as a scrappy note-to-self, I can avoid agonising about quality control …although I still spend far too long trying to come up with titles for posts.</p>

<p>I’ve noticed—and other bloggers have corroborated this—there’s no correlation whatsover between the amount of time you put into something and how much it’s going to resonate with people. You might spend days putting together a thoroughly-researched article only to have it met with tumbleweeds when you finally publish it. Or you might bash something out late at night after a few beers only to find it on the front page of various aggregators the next morning.</p>

<p>If someone else gets some value from a quick blog post that I dash off here, that’s always a pleasant surprise. It’s a bonus. But it’s not my reason for writing. My website is primarily a tool and a library for myself. It just happens to also be public.</p>

<p>I’m pretty sure that nobody but me uses the tags I add to my links and blog posts, and that’s fine with me. It’s very much a <a href="https://www.vanderwal.net/folksonomy.html">folksonomy</a>.</p>

<p>Likewise, there’s a feature I added to my blog posts recently that is probably only of interest to me. Under each blog post, there’s a heading saying “Previously on this day” followed by links to any blog posts published on the same date in previous years. I find it absolutely fascinating to spelunk down those hyperlink potholes, but I’m sure for anyone else it’s about as interesting as a slideshow of holiday photos.</p>

<p>Matt took this further by adding <a href="http://interconnected.org/home/on-this-day">an “on this day” URL</a> to his site. What a great idea! I’ve now done the same here:</p>

<p><a href="https://adactio.com/archive/onthisday">adactio.com/archive/onthisday</a></p>

<p>That URL is almost certainly only of interest to me. And that’s fine.</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> RSS</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 33
- 0
cache/2021/27f60626eb789433d6e2619663bb79f0/index.md View File

@@ -0,0 +1,33 @@
title: Associative trails
url: https://adactio.com/journal/17821
hash_url: 27f60626eb789433d6e2619663bb79f0

<p><a href="http://interconnected.org/home/2021/02/10/reservoirs">Matt wrote recently</a> about how different writers keep notes:</p>

<blockquote>
<p>I’m also reminded of how writers I love and respect maintain their own reservoirs of knowledge, complete with migratory paths down from the mountains.</p>
</blockquote>

<p>I have <a href="https://adactio.com/notes">a section of my site called “notes”</a> but the truth is that every single thing I post on here—whether it’s <a href="https://adactio.com/links">a link</a>, <a href="https://adactio.com/journal">a blog post</a>, or anything else—is really a “note to self.”</p>

<p>When it comes to retrieving information from this online <a href="https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/">memex</a> of mine, I use <a href="https://adactio.com/tags/">tags</a>. I’ve got search forms on my site, but usually I’ll go to the address bar in my browser instead and think “now, what would past me have tagged that with…” as I type <code>adactio.com/tags/...</code> (or, if I want to be more specific, <code>adactio.com/links/tags/...</code> or <code>adactio.com/journal/tags/...</code>).</p>

<p>It’s very satisfying to use my website as a back-up brain like this. I can get stuff out of my head and squirreled away, but still have it available for quick recall when I want it. It’s especially satisfying when I’m talking to someone else and something they say reminds me of something relevant, and I can go “Oh, let me send you this link…” as I retrieve the tagged item in question.</p>

<p>But I don’t think about other people when I’m adding something to my website. My audience is myself.</p>

<p>I know there’s lots of advice out there about considering your audience when you write, but when it comes to my personal site, I’d find that crippling. It would be one more admonishment from the inner critic whispering “no one’s interested in that”, “you have nothing new to add to this topic”, and “you’re not quailified to write about this.” If I’m writing for myself, then it’s easier to have fewer inhibitions. By treating everything as a scrappy note-to-self, I can avoid agonising about quality control …although I still spend far too long trying to come up with titles for posts.</p>

<p>I’ve noticed—and other bloggers have corroborated this—there’s no correlation whatsover between the amount of time you put into something and how much it’s going to resonate with people. You might spend days putting together a thoroughly-researched article only to have it met with tumbleweeds when you finally publish it. Or you might bash something out late at night after a few beers only to find it on the front page of various aggregators the next morning.</p>

<p>If someone else gets some value from a quick blog post that I dash off here, that’s always a pleasant surprise. It’s a bonus. But it’s not my reason for writing. My website is primarily a tool and a library for myself. It just happens to also be public.</p>

<p>I’m pretty sure that nobody but me uses the tags I add to my links and blog posts, and that’s fine with me. It’s very much a <a href="https://www.vanderwal.net/folksonomy.html">folksonomy</a>.</p>

<p>Likewise, there’s a feature I added to my blog posts recently that is probably only of interest to me. Under each blog post, there’s a heading saying “Previously on this day” followed by links to any blog posts published on the same date in previous years. I find it absolutely fascinating to spelunk down those hyperlink potholes, but I’m sure for anyone else it’s about as interesting as a slideshow of holiday photos.</p>

<p>Matt took this further by adding <a href="http://interconnected.org/home/on-this-day">an “on this day” URL</a> to his site. What a great idea! I’ve now done the same here:</p>

<p><a href="https://adactio.com/archive/onthisday">adactio.com/archive/onthisday</a></p>

<p>That URL is almost certainly only of interest to me. And that’s fine.</p>

+ 330
- 0
cache/2021/7b8d925b24ca7a4777becd5cc212d11a/index.html View File

@@ -0,0 +1,330 @@
<!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,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Technical Mentorship Reimagined: Time-bound and No Awkward Asks Necessary (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f0f0ea">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f0f0ea">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://shopify.engineering/technical-mentorship-reimagined">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick">

<article>
<header>
<h1>Technical Mentorship Reimagined: Time-bound and No Awkward Asks Necessary</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://shopify.engineering/technical-mentorship-reimagined" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<p>Struggling with a concept and frantically trying to find the answers online? Are you thinking: <em>I should just ping a teammate or Is this something I should already know? That’s fine, I’ll ask anyway. </em>And then you do ask and get an answer and are feeling pretty darn proud of yourself and move forward. <em>But wait, now I have about 25 follow-up questions. </em>Sound familiar?</p>

<p>Or how about the career growth questions that can be sometimes too uncomfortable asking your lead or manager? <em>Oh, I know, I’ll take them to reddit. But wait, they have no company context. </em>Yeah, also familiar. <em>I know. I should get a mentor! But darn. I’ve heard so many stories… Who do I approach? Will they be interested? What if they reject me? And what if it’s not working out?</em></p>

<p>Shopify is a collaborative place. We traditionally <a href="https://shopify.engineering/pair-programming-explained" target="_blank" title="Pair Programming Explained - Shopify Engineering" rel="nofollow noopener noreferrer">pair with other developers</a> and conduct code reviews to level up. This approach is great for just-in-time feedback and unblocking us on immediate problems. We wanted to continue this trend and also look at how we can support developers in growing themselves through longer term conversations.</p>

<p>We surveyed our developers at Shopify and learned that they:</p>

<ul>
<li>Love to learn from others at Shopify</li>
<li>Are busy people and find it challenging to make dedicated time for learning</li>
<li>Want to grow in their technical and leadership skills.</li>
</ul>

<p>These findings birthed the idea of building a mentorship program targeted at solving these exact problems.<strong> Enter Shopify’s Engineering Mentorship Program. </strong>Shopify’s RnD Learning Team partnered with developers across the company to design a unique mentorship program and this guide walks readers through the structure, components, value-adds, and lessons we’ve had over the past year.</p>

<h1>Gathering Participants</h1>

<p>Once a quarter developers get an email inviting them to join the upcoming cycle of the program and sign up to be a mentee, mentor, or both. In addition to the email that is sent out, updates are posted in a few prominent Slack channels to remind folks that the signup window for the upcoming cycle is now open.</p>

<p>When signing up to participate in the program, mentees are asked to select their areas of interest and mentors are asked to select their areas of expertise. The current selections include:</p>

<ul>
<li>Back-end</li>
<li>Data</li>
<li>Datastores</li>
<li>Front-end</li>
<li>Infrastructure</li>
<li>Mobile - Android</li>
<li>Mobile - iOS</li>
<li>Mobile - React Native</li>
<li>Non-technical (leadership, management).</li>
</ul>

<p>Mentors are also prompted to choose if they are interested in supporting one or two mentees for the current cycle.</p>

<h1>Matching Mentors and Mentees</h1>

<p>Once the signup period wraps up, we run an automated matching script to pair mentees and mentors. Pairs are matched based on a few criteria:</p>

<ul>
<li>Mentor isn’t mentee's current lead</li>
<li>Mentor and mentee don’t report to same lead</li>
<li>Aligned areas of interest and expertise based on selections in sign-up forms</li>
<li>Mentee job level is less than or equal to mentor job level.</li>
</ul>

<p>The matching system intentionally avoids matching based upon criteria such as geographic location or department to broaden the developer’s network and gain company context they would have otherwise not been exposed to.</p>

<p>Pairs are notified by email of their match and invited to a kickoff meeting where organizers welcome participants, explain the program model and value that they will receive as a mentor or mentee, and answer any questions.</p>

<h1>Running the Six Week Program Cycle</h1>

<p>Each program cycle runs for six weeks and pairs are expected to meet for approximately one hour per week.</p>

<figure><img alt="Shopify’s Engineering Mentorship Program overview" data-src="https://cdn.shopify.com/s/files/1/0779/4361/files/Shopify_Engineering_Mentorship_Program_overview.jpg?v=1612976625" class="lazyload">
<figcaption>Shopify’s Engineering Mentorship Program overview</figcaption>
</figure>

<p>The time bound nature of the program enables developers to try out the program and see if it’s a good fit for them. They can connect with someone new and still feel comfortable knowing that they can walk away, no strings attached.</p>

<p>The voluntary signup process ensures that developers who sign up to be a mentor are committed to supporting a mentee for the six week duration and mentees can rest assured that their mentor is keen on supporting them with their professional growth. The sign-up emails as well as the sign-up form reiterate the importance of only signing up as a mentor or mentee if you can dedicate at minimum an hour per week for the six week cycle.</p>

<h2>Setting Goals</h2>

<p>In advance of the first meeting, mentees are asked to identify technical skills gaps they want to improve. During their first meeting, mentees and mentors work together building a tangible goal that they can work towards over the course of the six weeks. Goals often change and that’s expected.</p>

<p>Through the initial kickoff meeting and weekly check-ins via Slack, we reinforce and reiterate throughout the program that the goal itself is never the goal, but an opportunity to work towards a moving target.</p>

<p>Defining the goal is often the most challenging part for mentees. Mentors take an active role in supporting them craft this—the program team also provides tons of real examples from past mentees.</p>

<h2>Staying Connected as a Group</h2>

<p>Outside of the one on one weekly meetings between each pairing of mentor and mentee, the broader mentorship community stays connected on Slack. Two Slack channels are used to manage the program and connect participants with one another and with the program team.</p>

<p>The first Slack channel is a public space for all participants as well as anyone at the company who is curious about the program. This channel serves the purpose to advertise the program and keep participants connected to each other as well as to the program team. This is done by regularly asking questions and continuously sharing their experiences of what’s working well, how they’ve pivoted (or not) from their initial goals, and any general tips to support fellow mentors and mentees throughout the program.</p>

<p>The second Slack channel is a private space that is used exclusively by the program team and mentors. This channel is a space for mentors to be vulnerable and lean on fellow mentors for suggestions and resources.</p>

<h2>Preparing the Participants with a Guidebook</h2>

<p>Beyond the Slack channels, the other primary resource our participants use is a mentorship guidebook that curates tips and resources for added structure. The program team felt that a guidebook was an important aspect to include for participants who were craving more support. While it is entirely an optional resource to use, many first time mentors and mentees find it to be a helpful tool in navigating an otherwise open ended relationship between themselves and their match. It includes tips on sample agendas for your first meeting, example goals, and ways to support your mentee. For example, invite them to one of your meetings and debrief afterwards, pair, or do a code review.</p>

<h1>Growing Mentor’s Skills Too</h1>

<p>Naturally teaching someone else a technical concept helps reinforce it in our own minds. Our mentors constantly share how they’ve found the program helps refine their craft skills as well:</p>

<p><em>“Taking a step back from my day-to-day work to meet with [them] and chatting about career goals at a higher level, gave me more insight into what I personally want from my career path as well.”</em></p>

<p>The ability to mentor others in their technical acumen and craft is a skill that’s valued at Shopify. As engineers progress in their career here, being an effective mentor becomes a bigger piece of what’s expected in the role. The program gives folks a place to improve both their mentorship and leadership skills through iteration.</p>

<p>Throughout the program, mentors receive tips and resources from engineering leaders at the company that are curated by the program team and shared via Slack, but the most valuable piece ends up being the support they provide each other through a closed channel dedicated to mentors.</p>

<p>Here’s an actual example of how mentors help unblock each other:</p>

<div>
<p><strong>Mentor 1</strong>: <em>Hey! Im curious to know how y’all are supporting your mentees in coming up with a measurable goal? My mentee’s original goal was “learn how Shopify core works” and we’ve scoped that down to “learn how jobs are run in core” but we still don’t have it being something that’s measurable and can clearly be ticked off by the end of the 6 weeks. They aren’t the most receptive to refining the goal so I’m curious how any of you have approached that as well?</em></p>
</div>

<div>
<p><strong>Mentor 2</strong>: <em>Hmmm, I’d try to get to the “why” when they say they want to learn how Shopify core works. Is it so they can find things easier? Make better decisions by having more context? Are they interested in why it’s structured the way it is to inform them on future architecture decisions? Maybe that could help in finding something they can measure. Or if they’re just curious, could the goal be something like being able to explain to someone new to Shopify what the different components of the system are and how they interact? Or they’re able to create a new job in core in x amount of time?</em></p>
</div>

<div>
<p><strong>Mentor 3</strong>: <em>If you've learned how something works, you should be able to tell someone else. So I turn these learning goals into a goal to write a wiki page or report, make a presentation, or teach someone else one on one.</em></p>
</div>

<div>
<p><strong>Mentor 1</strong>: <em>Thanks for all the replies! I surfaced adapting the learning goal to have an outcome so they've decided on building an example that can be used as documentation and shared with their team. They're writing this example in the component their team maintains as well which will help in "learn how Shopify works" as they weren't currently familiar with the component</em>.</p>
</div>

<h1>Gathering Program Feedback</h1>

<p>At the end of the six weeks mentees and mentors are asked to provide constructive feedback to one another and the program officially comes to a close. </p>

<p>Program participants receive a feedback survey that helps organizers understand what’s working well and what to revise for future cycles. Participants share</p>

<ul>
<li>Whether they would recommend the program to someone else or not</li>
<li>What the best part of the program was for them</li>
<li>What they would like to see improved for future cycles.</li>
</ul>

<p>Tweaks are made within a short month or so and the next cycle begins. A new opportunity to connect with someone else, grow your skills, and do it in a time-bound and supportive environment.</p>

<h1>What We’ve Learned in 2020</h1>

<p>Overall, it’s been working well. The type of feedback we receive from participants is definitely share-worthy:</p>

<p><em>“was phenomenal to learn more about Production Engineering and our infrastructure. Answered hundreds of mind-numbing questions with extreme patience and detail; he put in so much time to write and share resources—and we wrapped up with a live exercise too! I always look forward to our sessions and it was like walking into a different, fantasy-like universe each time. Hands down the best mentoring experience of my professional career thus far.” </em>- Senior Developer</p>

<ul>
<li>We’ve had 300+ developers participate as mentees and 200+ as mentors.</li>
<li>98% of survey respondents indicated that they would recommend the program to someone else.</li>
<li>The demand is there. Each cycle of the program we have to turn away potential mentees because we can’t meet the demand due to limited mentors. We are working on strategies to attract more mentors to better support the program in 2021.</li>
</ul>

<p>The themes that emerged in terms of where participants found the most value are around:</p>

<ul>
<li>
<strong>Building relationships</strong>: getting to know people is hard. Getting to know colleagues in a fully remote world is near impossible. This program helps.</li>
<li>
<strong>Having dedicated time for learning set aside each week:</strong> we’ve all got a lot to do. We know that making time for learning is important, but it can easily fall on the back burner. This program helps with that too.</li>
<li>
<strong>Developing technical craft skills</strong>: growing your technical chops? Say no more.</li>
<li>
<strong>Developing skills as a teacher and mentor</strong>: getting better at supporting peers can be tricky. You need experience and a safe space to learn with real people.</li>
<li>
<strong>Gaining broader Shopify context:</strong> being a T-shaped developer is an asset. By T-shaped we are referring to the vertical bar of the “T” as the areas the developer is an expert in, while the horizontal bar refers to areas where the developer has some breadth and less depth of knowledge. Getting outside of our silos and learning about how different parts of Shopify work helps build stronger developers and a stronger team.</li>
</ul>

<p>Reinvesting in the developers at Shopify is one way that we help individuals grow in their careers and increase the effectiveness of our teams.</p>

<p>Some great resources that inspired us:</p>

<div class="marketing-block marketing-block--light marketing-block--padded">
<p><a href="https://www.linkedin.com/in/naqsar/" target="_blank" title="Sarah Naqvi on LinkedIn" rel="nofollow noopener noreferrer">Sarah is a Senior Program Manager</a> who manages Engineering learning programs at Shopify. For the past five years, she has been working on areas such as designing and building the initial version of the Dev Degree program to now designing and delivering the Engineering Mentorship Program. She is focused on helping our engineers develop their professional skills and creating a strong Engineering community at Shopify.</p>
</div>

<p><hr>
<p>We're planning to DOUBLE our engineering team in 2021 by hiring 2,021 new technical roles (see what we did there?). Our platform handled record-breaking sales over BFCM and commerce isn't slowing down. <a href="https://www.shopify.com/careers/2021?itcat=EngBlog&amp;itterm=Post" target="_blank">Help us scale &amp; make commerce better for everyone</a>.</p></p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> RSS</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 113
- 0
cache/2021/7b8d925b24ca7a4777becd5cc212d11a/index.md View File

@@ -0,0 +1,113 @@
title: Technical Mentorship Reimagined: Time-bound and No Awkward Asks Necessary
url: https://shopify.engineering/technical-mentorship-reimagined
hash_url: 7b8d925b24ca7a4777becd5cc212d11a

<p>Struggling with a concept and frantically trying to find the answers online? Are you thinking: <em>I should just ping a teammate or Is this something I should already know? That’s fine, I’ll ask anyway. </em>And then you do ask and get an answer and are feeling pretty darn proud of yourself and move forward. <em>But wait, now I have about 25 follow-up questions. </em>Sound familiar?</p>
<p>Or how about the career growth questions that can be sometimes too uncomfortable asking your lead or manager? <em>Oh, I know, I’ll take them to reddit. But wait, they have no company context. </em>Yeah, also familiar. <em>I know. I should get a mentor! But darn. I’ve heard so many stories… Who do I approach? Will they be interested? What if they reject me? And what if it’s not working out?</em></p>
<p>Shopify is a collaborative place. We traditionally <a href="https://shopify.engineering/pair-programming-explained" target="_blank" title="Pair Programming Explained - Shopify Engineering" rel="nofollow noopener noreferrer">pair with other developers</a> and conduct code reviews to level up. This approach is great for just-in-time feedback and unblocking us on immediate problems. We wanted to continue this trend and also look at how we can support developers in growing themselves through longer term conversations.</p>
<p>We surveyed our developers at Shopify and learned that they:</p>
<ul>
<li>Love to learn from others at Shopify</li>
<li>Are busy people and find it challenging to make dedicated time for learning</li>
<li>Want to grow in their technical and leadership skills.</li>
</ul>
<p>These findings birthed the idea of building a mentorship program targeted at solving these exact problems.<strong> Enter Shopify’s Engineering Mentorship Program. </strong>Shopify’s RnD Learning Team partnered with developers across the company to design a unique mentorship program and this guide walks readers through the structure, components, value-adds, and lessons we’ve had over the past year.</p>
<h1>Gathering Participants</h1>
<p>Once a quarter developers get an email inviting them to join the upcoming cycle of the program and sign up to be a mentee, mentor, or both. In addition to the email that is sent out, updates are posted in a few prominent Slack channels to remind folks that the signup window for the upcoming cycle is now open.</p>
<p>When signing up to participate in the program, mentees are asked to select their areas of interest and mentors are asked to select their areas of expertise. The current selections include:</p>
<ul>
<li>Back-end</li>
<li>Data</li>
<li>Datastores</li>
<li>Front-end</li>
<li>Infrastructure</li>
<li>Mobile - Android</li>
<li>Mobile - iOS</li>
<li>Mobile - React Native</li>
<li>Non-technical (leadership, management).</li>
</ul>
<p>Mentors are also prompted to choose if they are interested in supporting one or two mentees for the current cycle.</p>
<h1>Matching Mentors and Mentees</h1>
<p>Once the signup period wraps up, we run an automated matching script to pair mentees and mentors. Pairs are matched based on a few criteria:</p>
<ul>
<li>Mentor isn’t mentee's current lead</li>
<li>Mentor and mentee don’t report to same lead</li>
<li>Aligned areas of interest and expertise based on selections in sign-up forms</li>
<li>Mentee job level is less than or equal to mentor job level.</li>
</ul>
<p>The matching system intentionally avoids matching based upon criteria such as geographic location or department to broaden the developer’s network and gain company context they would have otherwise not been exposed to.</p>
<p>Pairs are notified by email of their match and invited to a kickoff meeting where organizers welcome participants, explain the program model and value that they will receive as a mentor or mentee, and answer any questions.</p>
<h1>Running the Six Week Program Cycle</h1>
<p>Each program cycle runs for six weeks and pairs are expected to meet for approximately one hour per week.</p>
<figure><img alt="Shopify’s Engineering Mentorship Program overview" data-src="https://cdn.shopify.com/s/files/1/0779/4361/files/Shopify_Engineering_Mentorship_Program_overview.jpg?v=1612976625" class="lazyload">
<figcaption>Shopify’s Engineering Mentorship Program overview</figcaption>
</figure>
<p>The time bound nature of the program enables developers to try out the program and see if it’s a good fit for them. They can connect with someone new and still feel comfortable knowing that they can walk away, no strings attached.</p>
<p>The voluntary signup process ensures that developers who sign up to be a mentor are committed to supporting a mentee for the six week duration and mentees can rest assured that their mentor is keen on supporting them with their professional growth. The sign-up emails as well as the sign-up form reiterate the importance of only signing up as a mentor or mentee if you can dedicate at minimum an hour per week for the six week cycle.</p>
<h2>Setting Goals</h2>
<p>In advance of the first meeting, mentees are asked to identify technical skills gaps they want to improve. During their first meeting, mentees and mentors work together building a tangible goal that they can work towards over the course of the six weeks. Goals often change and that’s expected.</p>
<p>Through the initial kickoff meeting and weekly check-ins via Slack, we reinforce and reiterate throughout the program that the goal itself is never the goal, but an opportunity to work towards a moving target.</p>
<p>Defining the goal is often the most challenging part for mentees. Mentors take an active role in supporting them craft this—the program team also provides tons of real examples from past mentees.</p>
<h2>Staying Connected as a Group</h2>
<p>Outside of the one on one weekly meetings between each pairing of mentor and mentee, the broader mentorship community stays connected on Slack. Two Slack channels are used to manage the program and connect participants with one another and with the program team.</p>
<p>The first Slack channel is a public space for all participants as well as anyone at the company who is curious about the program. This channel serves the purpose to advertise the program and keep participants connected to each other as well as to the program team. This is done by regularly asking questions and continuously sharing their experiences of what’s working well, how they’ve pivoted (or not) from their initial goals, and any general tips to support fellow mentors and mentees throughout the program.</p>
<p>The second Slack channel is a private space that is used exclusively by the program team and mentors. This channel is a space for mentors to be vulnerable and lean on fellow mentors for suggestions and resources.</p>
<h2>Preparing the Participants with a Guidebook</h2>
<p>Beyond the Slack channels, the other primary resource our participants use is a mentorship guidebook that curates tips and resources for added structure. The program team felt that a guidebook was an important aspect to include for participants who were craving more support. While it is entirely an optional resource to use, many first time mentors and mentees find it to be a helpful tool in navigating an otherwise open ended relationship between themselves and their match. It includes tips on sample agendas for your first meeting, example goals, and ways to support your mentee. For example, invite them to one of your meetings and debrief afterwards, pair, or do a code review.</p>
<h1>Growing Mentor’s Skills Too</h1>
<p>Naturally teaching someone else a technical concept helps reinforce it in our own minds. Our mentors constantly share how they’ve found the program helps refine their craft skills as well:</p>
<p><em>“Taking a step back from my day-to-day work to meet with [them] and chatting about career goals at a higher level, gave me more insight into what I personally want from my career path as well.”</em></p>
<p>The ability to mentor others in their technical acumen and craft is a skill that’s valued at Shopify. As engineers progress in their career here, being an effective mentor becomes a bigger piece of what’s expected in the role. The program gives folks a place to improve both their mentorship and leadership skills through iteration.</p>
<p>Throughout the program, mentors receive tips and resources from engineering leaders at the company that are curated by the program team and shared via Slack, but the most valuable piece ends up being the support they provide each other through a closed channel dedicated to mentors.</p>
<p>Here’s an actual example of how mentors help unblock each other:</p>
<div>
<p><strong>Mentor 1</strong>: <em>Hey! Im curious to know how y’all are supporting your mentees in coming up with a measurable goal? My mentee’s original goal was “learn how Shopify core works” and we’ve scoped that down to “learn how jobs are run in core” but we still don’t have it being something that’s measurable and can clearly be ticked off by the end of the 6 weeks. They aren’t the most receptive to refining the goal so I’m curious how any of you have approached that as well?</em></p>
</div>
<div>
<p><strong>Mentor 2</strong>: <em>Hmmm, I’d try to get to the “why” when they say they want to learn how Shopify core works. Is it so they can find things easier? Make better decisions by having more context? Are they interested in why it’s structured the way it is to inform them on future architecture decisions? Maybe that could help in finding something they can measure. Or if they’re just curious, could the goal be something like being able to explain to someone new to Shopify what the different components of the system are and how they interact? Or they’re able to create a new job in core in x amount of time?</em></p>
</div>
<div>
<p><strong>Mentor 3</strong>: <em>If you've learned how something works, you should be able to tell someone else. So I turn these learning goals into a goal to write a wiki page or report, make a presentation, or teach someone else one on one.</em></p>
</div>
<div>
<p><strong>Mentor 1</strong>: <em>Thanks for all the replies! I surfaced adapting the learning goal to have an outcome so they've decided on building an example that can be used as documentation and shared with their team. They're writing this example in the component their team maintains as well which will help in "learn how Shopify works" as they weren't currently familiar with the component</em>.</p>
</div>
<h1>Gathering Program Feedback</h1>
<p>At the end of the six weeks mentees and mentors are asked to provide constructive feedback to one another and the program officially comes to a close. </p>
<p>Program participants receive a feedback survey that helps organizers understand what’s working well and what to revise for future cycles. Participants share</p>
<ul>
<li>Whether they would recommend the program to someone else or not</li>
<li>What the best part of the program was for them</li>
<li>What they would like to see improved for future cycles.</li>
</ul>
<p>Tweaks are made within a short month or so and the next cycle begins. A new opportunity to connect with someone else, grow your skills, and do it in a time-bound and supportive environment.</p>
<h1>What We’ve Learned in 2020</h1>
<p>Overall, it’s been working well. The type of feedback we receive from participants is definitely share-worthy:</p>
<p><em>“was phenomenal to learn more about Production Engineering and our infrastructure. Answered hundreds of mind-numbing questions with extreme patience and detail; he put in so much time to write and share resources—and we wrapped up with a live exercise too! I always look forward to our sessions and it was like walking into a different, fantasy-like universe each time. Hands down the best mentoring experience of my professional career thus far.” </em>- Senior Developer</p>
<ul>
<li>We’ve had 300+ developers participate as mentees and 200+ as mentors.</li>
<li>98% of survey respondents indicated that they would recommend the program to someone else.</li>
<li>The demand is there. Each cycle of the program we have to turn away potential mentees because we can’t meet the demand due to limited mentors. We are working on strategies to attract more mentors to better support the program in 2021.</li>
</ul>
<p>The themes that emerged in terms of where participants found the most value are around:</p>
<ul>
<li>
<strong>Building relationships</strong>: getting to know people is hard. Getting to know colleagues in a fully remote world is near impossible. This program helps.</li>
<li>
<strong>Having dedicated time for learning set aside each week:</strong> we’ve all got a lot to do. We know that making time for learning is important, but it can easily fall on the back burner. This program helps with that too.</li>
<li>
<strong>Developing technical craft skills</strong>: growing your technical chops? Say no more.</li>
<li>
<strong>Developing skills as a teacher and mentor</strong>: getting better at supporting peers can be tricky. You need experience and a safe space to learn with real people.</li>
<li>
<strong>Gaining broader Shopify context:</strong> being a T-shaped developer is an asset. By T-shaped we are referring to the vertical bar of the “T” as the areas the developer is an expert in, while the horizontal bar refers to areas where the developer has some breadth and less depth of knowledge. Getting outside of our silos and learning about how different parts of Shopify work helps build stronger developers and a stronger team.</li>
</ul>
<p>Reinvesting in the developers at Shopify is one way that we help individuals grow in their careers and increase the effectiveness of our teams.</p>
<p>Some great resources that inspired us:</p>

<div class="marketing-block marketing-block--light marketing-block--padded">
<p><a href="https://www.linkedin.com/in/naqsar/" target="_blank" title="Sarah Naqvi on LinkedIn" rel="nofollow noopener noreferrer">Sarah is a Senior Program Manager</a> who manages Engineering learning programs at Shopify. For the past five years, she has been working on areas such as designing and building the initial version of the Dev Degree program to now designing and delivering the Engineering Mentorship Program. She is focused on helping our engineers develop their professional skills and creating a strong Engineering community at Shopify.</p>
</div>

<hr>
<p>We're planning to DOUBLE our engineering team in 2021 by hiring 2,021 new technical roles (see what we did there?). Our platform handled record-breaking sales over BFCM and commerce isn't slowing down. <a href="https://www.shopify.com/careers/2021?itcat=EngBlog&amp;itterm=Post" target="_blank">Help us scale &amp; make commerce better for everyone</a>.</p>

+ 206
- 0
cache/2021/9b2e831c217bc1179c0f74c4fc363c11/index.html View File

@@ -0,0 +1,206 @@
<!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,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Memexes, mountain lakes, and the serendipity of old ideas (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f0f0ea">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f0f0ea">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="http://interconnected.org/home/2021/02/10/reservoirs">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick">

<article>
<header>
<h1>Memexes, mountain lakes, and the serendipity of old ideas</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="http://interconnected.org/home/2021/02/10/reservoirs" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<p class="measure-wide f6 f5-l lh-copy black-80">I’ve noticed that smart people keep notes, and in particular <em>use</em> their notes in a certain way, and it made me think of something I read recently about viruses.</p>

<p class="measure-wide f6 f5-l lh-copy black-80">Where do new influenza outbreaks come from? From <em>Viruses, Plagues, and History</em> (<a href="/home/2020/12/28/books">as previously discussed</a>), one possibility is that <q>newly emerging viruses have actually remained hidden and unchanged somewhere but suddenly come forth to cause an epidemic.</q> There was an H1N1 outbreak in 1977 that was genetically identical to one that was causing epidemics in the 1950s. Where had it been?</p>

<p class="measure-wide f6 f5-l lh-copy black-80">Here’s one idea about bird flu specifically:</p>

<blockquote cite="https://uk.bookshop.org/books/viruses-plagues-and-history-past-present-and-future-9780190056780/9780190056780" class="quoteback bl bw1 pl2 b--light-red ml0 italic i" data-author="Michael B A Oldstone" data-title="Viruses, Plagues, and History">
<p class="measure-wide f6 f5-l lh-copy black-80">[Zhang and colleagues] reported preservation of influenza A viral genes in ice and water from high altitude lakes that are frequently visited by migratory birds. Could influenza virus be preserved in lake ice that melts during spring warming as a source of infecting migratory birds?</p>

</blockquote>

<p class="measure-wide f6 f5-l lh-copy black-80">I am super taken by this concept of reservoirs, in this case frozen mountain lakes that are libraries of ancient viruses, in stasis, waiting for their time to come again – ready to be sipped by a briefly resting bird, perhaps after a decade, more!, and then down from the mountains into a city, and from there the world.</p>

<p><hr class="h1 xh2-ns w1 xw2-ns ml4 mv4 bb bw1 b--white">
<p class="measure-wide f6 f5-l lh-copy black-80">I’m reminded of the European Renaissance, the beginning of the end of the “Dark Ages” that was catalysed (so the story goes) by the <a href="https://en.wikipedia.org/wiki/Transmission_of_the_Greek_Classics">transmission of the Greek Classics</a> <em>back</em> into Europe from Arab culture, where they’d been endemic for hundreds of years.</p>
<hr class="h1 xh2-ns w1 xw2-ns ml4 mv4 bb bw1 b--white">
<p class="measure-wide f6 f5-l lh-copy black-80">And I’m also reminded of how writers I love and respect maintain their own reservoirs of knowledge, complete with migratory paths down from the mountains.</p>
<p class="measure-wide f6 f5-l lh-copy black-80"><strong>Cory Doctorow’s</strong> commentary on tech and society weaves the present day with historical perspective, and any public thinker would be proud to put out one of these pieces a week – but Doctorow puts out between two and four <em>every day</em> on his blog <a href="https://pluralistic.net">Pluralistic</a> and <a href="https://twitter.com/doctorow">on Twitter</a>, in addition to being a prolific author. He detailed his process recently: <a href="https://pluralistic.net/2021/01/13/two-decades/#hfbd">20 years a blogger.</a>.</p>
<blockquote cite="https://pluralistic.net/2021/01/13/two-decades/" class="quoteback bl bw1 pl2 b--light-red ml0 italic i" data-author="Cory Doctorow" data-title="Pluralistic: 13 Jan 2021">
<p class="measure-wide f6 f5-l lh-copy black-80">My composition is greatly aided both 20 years’ worth of mnemonic slurry of semi-remembered posts and the ability to search memex.craphound.com (the site where I’ve mirrored all my Boing Boing posts) easily.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">A huge, searchable database of decades of thoughts really simplifies the process of synthesis.</p></p>
<p></blockquote>
<p class="measure-wide f6 f5-l lh-copy black-80">And it’s interesting, right, this accretive note-taking and the process of taking core samples through the deep time of your own ideas. I’ve built something similar, not as consistently, but for about two decades too, and I keep all my notes in plain text, and all in the same searchable database. I develop nascent ideas in part by typing in keywords, spelunking my own <a href="https://en.wikipedia.org/wiki/Memex">memex</a> for things I’ve previously spotted, connections I’ve made, turns of phrase… most of which I had forgotten, but there they are. And old ideas come back and get recombined and become fresh again. That database of notes is my greatest asset. It’s how I write here, and it’s also how I pretend to be clever when I’m working.</p>
<p class="measure-wide f6 f5-l lh-copy black-80"><em>(If I were giving a single piece of advice to any creative starting out, it would be to start noting down everything that grabs your attention, and keep all your notes in one searchable place, as data that you can carry between whatever applications are faddy at the time because two decades is longer than almost any app is maintained, and grow that corpus over time. Don’t presumptively edit, don’t put time into organising, just accrete, and when you make connections, layer them in too, until eventually the whole thing composts down and starts outgassing brand new thoughts of its own.)</em></p>
<p class="measure-wide f6 f5-l lh-copy black-80"><strong><a href="https://www.robinsloan.com">Robin Sloan</a></strong> - author, media inventor (my favourite Sloan incarnation), and <a href="https://fat.gold">olive oil/zine magnate</a> - also recently detailed his note-taking process: <a href="https://every.to/superorganizers/tasting-notes-with-robin-sloan-25629085">Tasting Notes with Robin Sloan</a>. He is serious about capturing everything, and also about using search and juxtaposition as part of his process: <q>For example, the keyword ‘empire’ would have brought me to both the entry about the man running an empire from his phone, and that one about the cymbal company founded during the Ottoman Empire.</q></p>
<blockquote cite="https://every.to/superorganizers/tasting-notes-with-robin-sloan-25629085" class="quoteback bl bw1 pl2 b--light-red ml0 italic i" data-author="Robin Sloan" data-title="Tasting Notes with Robin Sloan (Superorganizers)">
<p class="measure-wide f6 f5-l lh-copy black-80">I’ve created a system so random notes appear every time I open a browser tab.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">I like the idea of being presented and re-presented with my notations of things that were interesting to me at some point, but that in many cases I had forgotten about. The effect of surprise creates interesting and productive new connections in my brain.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">In order to do this, I’ve put some of my programming skills to work to engineer a kind of Rube Goldberg-y system: as I mentioned previously, I export my notes from nvALT into Simplenote, and just basically use that as a back-end database. That export then gets loaded into a server that I’ve set up to feed me a random note every time I open a blank browser tab.</p></p>
<p></blockquote>
<p class="measure-wide f6 f5-l lh-copy black-80">The empty browser tab as a crystal clear mountain lake!</p>
<hr class="h1 xh2-ns w1 xw2-ns ml4 mv4 bb bw1 b--white">
<p class="measure-wide f6 f5-l lh-copy black-80">When I wrote my <a href="/home/2020/09/10/streak">15 personal rules for blogging</a> I realise now that I had a blind spot about how I keep notes and how I browse them. Doctorow and Sloan’s observations made me see how much I rely on my notes too… and also realise how I’ve neglected building my own deliberate migratory corridors from the past to the present.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">So here’s a start. <strong><a href="/home/on-this-day">This blog now has an On This Day page</a></strong>, which lists posts made on this day since 2007 (it goes back a week too). It’s a bit spartan, and I’m not sure yet how to make best use of it…</p>
<p class="measure-wide f6 f5-l lh-copy black-80">…BUT, right now I can see</p></p>
<p class="measure-wide f6 f5-l lh-copy black-80">And all of those are suddenly new to me again, and spark new thoughts.</p>

<p class="measure-wide f6 f5-l lh-copy black-80">Naturally <a href="/home/on-this-day/feed">there’s an On This Day web feed too</a> so these posts appear in my newsreader each morning. Some personal serendipity to start the day.</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> RSS</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 39
- 0
cache/2021/9b2e831c217bc1179c0f74c4fc363c11/index.md View File

@@ -0,0 +1,39 @@
title: Memexes, mountain lakes, and the serendipity of old ideas
url: http://interconnected.org/home/2021/02/10/reservoirs
hash_url: 9b2e831c217bc1179c0f74c4fc363c11

<p class="measure-wide f6 f5-l lh-copy black-80">I’ve noticed that smart people keep notes, and in particular <em>use</em> their notes in a certain way, and it made me think of something I read recently about viruses.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">Where do new influenza outbreaks come from? From <em>Viruses, Plagues, and History</em> (<a href="/home/2020/12/28/books">as previously discussed</a>), one possibility is that <q>newly emerging viruses have actually remained hidden and unchanged somewhere but suddenly come forth to cause an epidemic.</q> There was an H1N1 outbreak in 1977 that was genetically identical to one that was causing epidemics in the 1950s. Where had it been?</p>
<p class="measure-wide f6 f5-l lh-copy black-80">Here’s one idea about bird flu specifically:</p>
<blockquote cite="https://uk.bookshop.org/books/viruses-plagues-and-history-past-present-and-future-9780190056780/9780190056780" class="quoteback bl bw1 pl2 b--light-red ml0 italic i" data-author="Michael B A Oldstone" data-title="Viruses, Plagues, and History">
<p class="measure-wide f6 f5-l lh-copy black-80">[Zhang and colleagues] reported preservation of influenza A viral genes in ice and water from high altitude lakes that are frequently visited by migratory birds. Could influenza virus be preserved in lake ice that melts during spring warming as a source of infecting migratory birds?</p>

</blockquote>
<p class="measure-wide f6 f5-l lh-copy black-80">I am super taken by this concept of reservoirs, in this case frozen mountain lakes that are libraries of ancient viruses, in stasis, waiting for their time to come again – ready to be sipped by a briefly resting bird, perhaps after a decade, more!, and then down from the mountains into a city, and from there the world.</p>
<hr class="h1 xh2-ns w1 xw2-ns ml4 mv4 bb bw1 b--white">
<p class="measure-wide f6 f5-l lh-copy black-80">I’m reminded of the European Renaissance, the beginning of the end of the “Dark Ages” that was catalysed (so the story goes) by the <a href="https://en.wikipedia.org/wiki/Transmission_of_the_Greek_Classics">transmission of the Greek Classics</a> <em>back</em> into Europe from Arab culture, where they’d been endemic for hundreds of years.</p>
<hr class="h1 xh2-ns w1 xw2-ns ml4 mv4 bb bw1 b--white">
<p class="measure-wide f6 f5-l lh-copy black-80">And I’m also reminded of how writers I love and respect maintain their own reservoirs of knowledge, complete with migratory paths down from the mountains.</p>
<p class="measure-wide f6 f5-l lh-copy black-80"><strong>Cory Doctorow’s</strong> commentary on tech and society weaves the present day with historical perspective, and any public thinker would be proud to put out one of these pieces a week – but Doctorow puts out between two and four <em>every day</em> on his blog <a href="https://pluralistic.net">Pluralistic</a> and <a href="https://twitter.com/doctorow">on Twitter</a>, in addition to being a prolific author. He detailed his process recently: <a href="https://pluralistic.net/2021/01/13/two-decades/#hfbd">20 years a blogger.</a>.</p>
<blockquote cite="https://pluralistic.net/2021/01/13/two-decades/" class="quoteback bl bw1 pl2 b--light-red ml0 italic i" data-author="Cory Doctorow" data-title="Pluralistic: 13 Jan 2021">
<p class="measure-wide f6 f5-l lh-copy black-80">My composition is greatly aided both 20 years’ worth of mnemonic slurry of semi-remembered posts and the ability to search memex.craphound.com (the site where I’ve mirrored all my Boing Boing posts) easily.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">A huge, searchable database of decades of thoughts really simplifies the process of synthesis.</p>

</blockquote>
<p class="measure-wide f6 f5-l lh-copy black-80">And it’s interesting, right, this accretive note-taking and the process of taking core samples through the deep time of your own ideas. I’ve built something similar, not as consistently, but for about two decades too, and I keep all my notes in plain text, and all in the same searchable database. I develop nascent ideas in part by typing in keywords, spelunking my own <a href="https://en.wikipedia.org/wiki/Memex">memex</a> for things I’ve previously spotted, connections I’ve made, turns of phrase… most of which I had forgotten, but there they are. And old ideas come back and get recombined and become fresh again. That database of notes is my greatest asset. It’s how I write here, and it’s also how I pretend to be clever when I’m working.</p>
<p class="measure-wide f6 f5-l lh-copy black-80"><em>(If I were giving a single piece of advice to any creative starting out, it would be to start noting down everything that grabs your attention, and keep all your notes in one searchable place, as data that you can carry between whatever applications are faddy at the time because two decades is longer than almost any app is maintained, and grow that corpus over time. Don’t presumptively edit, don’t put time into organising, just accrete, and when you make connections, layer them in too, until eventually the whole thing composts down and starts outgassing brand new thoughts of its own.)</em></p>
<p class="measure-wide f6 f5-l lh-copy black-80"><strong><a href="https://www.robinsloan.com">Robin Sloan</a></strong> - author, media inventor (my favourite Sloan incarnation), and <a href="https://fat.gold">olive oil/zine magnate</a> - also recently detailed his note-taking process: <a href="https://every.to/superorganizers/tasting-notes-with-robin-sloan-25629085">Tasting Notes with Robin Sloan</a>. He is serious about capturing everything, and also about using search and juxtaposition as part of his process: <q>For example, the keyword ‘empire’ would have brought me to both the entry about the man running an empire from his phone, and that one about the cymbal company founded during the Ottoman Empire.</q></p>
<blockquote cite="https://every.to/superorganizers/tasting-notes-with-robin-sloan-25629085" class="quoteback bl bw1 pl2 b--light-red ml0 italic i" data-author="Robin Sloan" data-title="Tasting Notes with Robin Sloan (Superorganizers)">
<p class="measure-wide f6 f5-l lh-copy black-80">I’ve created a system so random notes appear every time I open a browser tab.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">I like the idea of being presented and re-presented with my notations of things that were interesting to me at some point, but that in many cases I had forgotten about. The effect of surprise creates interesting and productive new connections in my brain.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">In order to do this, I’ve put some of my programming skills to work to engineer a kind of Rube Goldberg-y system: as I mentioned previously, I export my notes from nvALT into Simplenote, and just basically use that as a back-end database. That export then gets loaded into a server that I’ve set up to feed me a random note every time I open a blank browser tab.</p>

</blockquote>
<p class="measure-wide f6 f5-l lh-copy black-80">The empty browser tab as a crystal clear mountain lake!</p>
<hr class="h1 xh2-ns w1 xw2-ns ml4 mv4 bb bw1 b--white">
<p class="measure-wide f6 f5-l lh-copy black-80">When I wrote my <a href="/home/2020/09/10/streak">15 personal rules for blogging</a> I realise now that I had a blind spot about how I keep notes and how I browse them. Doctorow and Sloan’s observations made me see how much I rely on my notes too… and also realise how I’ve neglected building my own deliberate migratory corridors from the past to the present.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">So here’s a start. <strong><a href="/home/on-this-day">This blog now has an On This Day page</a></strong>, which lists posts made on this day since 2007 (it goes back a week too). It’s a bit spartan, and I’m not sure yet how to make best use of it…</p>
<p class="measure-wide f6 f5-l lh-copy black-80">…BUT, right now I can see</p>

<p class="measure-wide f6 f5-l lh-copy black-80">And all of those are suddenly new to me again, and spark new thoughts.</p>
<p class="measure-wide f6 f5-l lh-copy black-80">Naturally <a href="/home/on-this-day/feed">there’s an On This Day web feed too</a> so these posts appear in my newsreader each morning. Some personal serendipity to start the day.</p>

+ 6
- 0
cache/2021/index.html View File

@@ -113,6 +113,8 @@
<li><a href="/david/cache/2021/837e11a57aa3ddcba084963c247f45a6/" title="Accès à l’article dans le cache local : What Is Going To Happen In 2021">What Is Going To Happen In 2021</a> (<a href="https://avc.com/2021/01/what-is-going-to-happen-in-2021/" title="Accès à l’article original distant : What Is Going To Happen In 2021">original</a>)</li>
<li><a href="/david/cache/2021/27f60626eb789433d6e2619663bb79f0/" title="Accès à l’article dans le cache local : Associative trails">Associative trails</a> (<a href="https://adactio.com/journal/17821" title="Accès à l’article original distant : Associative trails">original</a>)</li>
<li><a href="/david/cache/2021/21d3daabe37170d236d2714df3b872fb/" title="Accès à l’article dans le cache local : Free and Open Source RSS Reader for Mac and iOS">Free and Open Source RSS Reader for Mac and iOS</a> (<a href="https://netnewswire.com/" title="Accès à l’article original distant : Free and Open Source RSS Reader for Mac and iOS">original</a>)</li>
<li><a href="/david/cache/2021/1ac1db00072c35c5f6de8d729331b8d4/" title="Accès à l’article dans le cache local : Reconnexion ?">Reconnexion ?</a> (<a href="https://blog.notmyidea.org/reconnexion.html" title="Accès à l’article original distant : Reconnexion ?">original</a>)</li>
@@ -141,6 +143,8 @@
<li><a href="/david/cache/2021/ef2067bf42482ed7c48e1d166cde117a/" title="Accès à l’article dans le cache local : Cameras and Lenses">Cameras and Lenses</a> (<a href="https://ciechanow.ski/cameras-and-lenses/" title="Accès à l’article original distant : Cameras and Lenses">original</a>)</li>
<li><a href="/david/cache/2021/9b2e831c217bc1179c0f74c4fc363c11/" title="Accès à l’article dans le cache local : Memexes, mountain lakes, and the serendipity of old ideas">Memexes, mountain lakes, and the serendipity of old ideas</a> (<a href="http://interconnected.org/home/2021/02/10/reservoirs" title="Accès à l’article original distant : Memexes, mountain lakes, and the serendipity of old ideas">original</a>)</li>
<li><a href="/david/cache/2021/9e5d68c7459c77716c44dd1463be36d8/" title="Accès à l’article dans le cache local : Plaintext HTTP in a Modern World">Plaintext HTTP in a Modern World</a> (<a href="https://jcs.org/2021/01/06/plaintext" title="Accès à l’article original distant : Plaintext HTTP in a Modern World">original</a>)</li>
<li><a href="/david/cache/2021/0b7bcc0e25805a7abd250d2d2ed440f0/" title="Accès à l’article dans le cache local : Routine">Routine</a> (<a href="https://blog.notmyidea.org/routine.html" title="Accès à l’article original distant : Routine">original</a>)</li>
@@ -173,6 +177,8 @@
<li><a href="/david/cache/2021/6faa32ba37a3b1232125db9858700627/" title="Accès à l’article dans le cache local : Design Justice : repolitiser le design">Design Justice : repolitiser le design</a> (<a href="https://www.internetactu.net/2021/02/03/design-justice-repolitiser-le-design/" title="Accès à l’article original distant : Design Justice : repolitiser le design">original</a>)</li>
<li><a href="/david/cache/2021/7b8d925b24ca7a4777becd5cc212d11a/" title="Accès à l’article dans le cache local : Technical Mentorship Reimagined: Time-bound and No Awkward Asks Necessary">Technical Mentorship Reimagined: Time-bound and No Awkward Asks Necessary</a> (<a href="https://shopify.engineering/technical-mentorship-reimagined" title="Accès à l’article original distant : Technical Mentorship Reimagined: Time-bound and No Awkward Asks Necessary">original</a>)</li>
<li><a href="/david/cache/2021/30069f97e4aa989a1d89fe8d88538da8/" title="Accès à l’article dans le cache local : We Had the COVID-19 Vaccine the Whole Time">We Had the COVID-19 Vaccine the Whole Time</a> (<a href="https://nymag.com/intelligencer/2020/12/moderna-covid-19-vaccine-design.html" title="Accès à l’article original distant : We Had the COVID-19 Vaccine the Whole Time">original</a>)</li>
</ul>

Loading…
Cancel
Save