CINXE.COM

Upwork’s Zoe Harte and Han Yuan on Managing People and Products in a Distributed Company – Distributed.blog

<!doctype html> <html lang="en-US"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="profile" href="https://gmpg.org/xfn/11" /> <title>Upwork&#8217;s Zoe Harte and Han Yuan on Managing People and Products in a Distributed Company &#8211; Distributed.blog</title> <meta name='robots' content='max-image-preview:large' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//secure.gravatar.com' /> <link rel='dns-prefetch' href='//s0.wp.com' /> <link rel='dns-prefetch' href='//fonts-api.wp.com' /> <link rel='dns-prefetch' href='//widgets.wp.com' /> <link rel='dns-prefetch' href='//jetpack.wordpress.com' /> <link rel='dns-prefetch' href='//public-api.wordpress.com' /> <link rel='dns-prefetch' href='//0.gravatar.com' /> <link rel='dns-prefetch' href='//1.gravatar.com' /> <link rel='dns-prefetch' href='//2.gravatar.com' /> <link rel='dns-prefetch' href='//v0.wordpress.com' /> <link rel='preconnect' href='//c0.wp.com' /> <link rel='preconnect' href='//i0.wp.com' /> <link rel="alternate" type="application/rss+xml" title="Distributed.blog &raquo; Feed" href="https://distributed.blog/feed/" /> <link rel="alternate" type="application/rss+xml" title="Distributed.blog &raquo; Comments Feed" href="https://distributed.blog/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="Distributed.blog &raquo; Upwork&#8217;s Zoe Harte and Han Yuan on Managing People and Products in a Distributed Company Comments Feed" href="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/feed/" /> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/distributed.blog\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <link rel='stylesheet' id='all-css-76e030b4bfc7af4162a84dc6a868afd8' href='https://distributed.blog/_static/??-eJydU1FOwzAMvRAhGkzAD+JnEgfgAChNTGZI4ipONnp73JZNG6PdtL84fi9+z3a2rbKUCqSi21A9Jta+SthA9rqpGJxuAtkvFbDJJneaSxfg1jLfbE+pwXRUi/IZ3TEQkw3VAetP1hEcGggQe+Zh0Aodsgrgje1uI6azbMkdxoecnbRY1U5dBkvZKVMdkhpcac5Wf2SBKkhuypWlAczaIZfRl9rdqcVVLPgWLCMlvopuEkZThD7jdttairzWG3FGWZtaSDgFrS5Sfeyb2qLzUNTwvNRkoY03PWZK2t8FkTotJUHw/HbsLe3nuYJW1EGyKMErrYxznX4bxYxvB1OAT5SUtcxbqgG4AGW+6ieU1sioI7k6mKQYR621YZux7fuoJGuCksNv+p/spQUCfsFEJ/7olj6MY1Jz6H4BMjbSdKc3JqNppMoF2EvfTGaD/t9tmnLIa5PBDcPqj5j8OeZ7b5XJojQ5kCc+Cnb/9iU+Lx7v7x6Wd8vl0w9Cd8Us' type='text/css' media='all' /> <style id='wp-block-library-inline-css'> .has-text-align-justify{text-align:justify;} </style> <style id='distributed-style-inline-css'> .site-header a.external, .site-header a[href*="//"]:not([href*="distributed.blog"]) { padding-right: 17px; background: url("https://distributed.blog/wp-content/themes/distributed/assets/img/arrow_black.svg") center right no-repeat; background-size: 13px; } @media only screen and (max-width: 829px) { .site-header a.external, .site-header a[href*="//"]:not([href*="distributed.blog"]) { padding-right: 17px; background: url("https://distributed.blog/wp-content/themes/distributed/assets/img/arrow_white.svg?v2") center right no-repeat; } } </style> <link rel='stylesheet' id='print-css-a05b6913677766d3c0f2dfc3069de92a' href='https://distributed.blog/wp-content/themes/seedlet/assets/css/print.css?m=1686218411' type='text/css' media='print' /> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id='distributedblog-audio2pocketcasts-style-inline-css'> </style> <style id='jetpack-sharing-buttons-style-inline-css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--primary: #DB0042;--wp--preset--color--foreground: #000000;--wp--preset--color--background: #FFFFFF;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--gradient--hard-diagonal: linear-gradient(to bottom right, #3C8067 49.9%, #FAFBF6 50%);--wp--preset--gradient--hard-diagonal-inverted: linear-gradient(to top left, #3C8067 49.9%, #FAFBF6 50%);--wp--preset--gradient--hard-horizontal: linear-gradient(to bottom, #3C8067 50%, #FAFBF6 50%);--wp--preset--gradient--hard-horizontal-inverted: linear-gradient(to top, #3C8067 50%, #FAFBF6 50%);--wp--preset--gradient--diagonal: linear-gradient(to bottom right, #3C8067, #FAFBF6);--wp--preset--gradient--diagonal-inverted: linear-gradient(to top left, #3C8067, #FAFBF6);--wp--preset--gradient--horizontal: linear-gradient(to bottom, #3C8067, #FAFBF6);--wp--preset--gradient--horizontal-inverted: linear-gradient(to top, #3C8067, #FAFBF6);--wp--preset--gradient--stripe: linear-gradient(to bottom, transparent 20%, #3C8067 20%, #3C8067 80%, transparent 80%);--wp--preset--font-size--small: 16px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 24px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--xs: 14px;--wp--preset--font-size--xl: 36px;--wp--preset--font-size--huge: 48px;--wp--preset--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} </style> <link rel='stylesheet' id='dashicons-css' href='https://distributed.blog/wp-includes/css/dashicons.min.css?ver=6.7.1' media='all' /> <link rel='stylesheet' id='seedlet-fonts-css' href='https://fonts-api.wp.com/css?family=Fira+Sans%3Aital%2Cwght%400%2C400%3B0%2C500%3B1%2C400%7CPlayfair+Display%3Aital%2Cwght%400%2C400%3B0%2C700%3B1%2C400&#038;subset=latin%2Clatin-ext' media='all' /> <link rel='stylesheet' id='distributed-fonts-css' href='https://fonts-api.wp.com/css2?family=Source+Serif+Pro%3Aital%2Cwght%400%2C400%3B0%2C700%3B1%2C400%3B1%2C700&#038;display=swap&#038;ver=202448' media='all' /> <style id='jetpack-global-styles-frontend-style-inline-css'> :root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;} </style> <script type='text/javascript' src='https://distributed.blog/wp-includes/js/dist/vendor/wp-polyfill.min.js?m=1726797335'></script> <script src="https://distributed.blog/wp-content/plugins/gutenberg/build/vendors/react.min.js?ver=18" id="react-js"></script> <script type='text/javascript' src='https://distributed.blog/_static/??-eJydzEsOwjAMRdENkQYoUmGAWEs+prhN7Chx2orV0ykjFIZPT+euSTkmARKdQh2Rih7rPi3kUduKwesFyHMuOoNxoqayqVxJMEIXkbqpHNbfDVOFk0bysDUoG9j+g9ysCmQ0Ad9GkEl5eJoaRCWT96M5+WKeS7PykDI4I+DbKccv84j309Cf++NluF0/ulelJA=='></script> <script src="https://distributed.blog/wp-content/plugins/gutenberg/build/vendors/react-dom.min.js?ver=18" id="react-dom-js"></script> <script type='text/javascript' src='https://distributed.blog/_static/??-eJyVjUkOgzAMAD9EcFkk2kPFWxKwgivHBJwoPL/tkRscR6PRlGimVRJKgsjZkyj4/EOHuweXiWdAnWxEs6TAQDLjUQeS+qNVudAyhr+/25EaXSzzWgxu2Z7HY3g3Q9d2j354Pb8Y7Uf/'></script> <script src="https://distributed.blog/wp-content/plugins/gutenberg/build/i18n/index.min.js?ver=bd5a2533e717a1043151" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script src="https://distributed.blog/wp-content/plugins/gutenberg/build/keycodes/index.min.js?ver=54656f44cb3b10270813" id="wp-keycodes-js"></script> <script type='text/javascript' src='https://distributed.blog/_static/??-eJyVzUEOgkAMQNELOVTFBFwYzwJMMylh2jrTCt5etq4My794+auGSdiQDXTxRFwh+Z4jlgSj0xJBC0kh+4SXoyMQR9yaTNzM9bT+55NklXrc7dv3YBgGpXoYF4y+hSJuxL/rZ35cuvbanm/dvf8C9aNgBA=='></script> <script src="https://distributed.blog/wp-content/plugins/gutenberg/build/data/index.min.js?ver=71db7892453ff3860580" id="wp-data-js"></script> <script id="wp-data-js-after"> ( function() { var userId = 0; var storageKey = "WP_DATA_USER_" + userId; wp.data .use( wp.data.plugins.persistence, { storageKey: storageKey } ); } )(); </script> <script type='text/javascript' src='https://distributed.blog/_static/??-eJyFy0kOgCAMQNELCXVK1IXxLCIN1kAlDFFvL1tXLn/y3+XFdnJCTuBtNsQRTC6pMBhQmayGPTkrykCJMAKxxls6YnnE6vrX+nQi4Kqfj1zc3Axd29X9MI0vOfkwsw=='></script> <script src="https://distributed.blog/wp-content/plugins/gutenberg/build/a11y/index.min.js?ver=d413713617218893642b" id="wp-a11y-js"></script> <script src="https://distributed.blog/wp-content/plugins/gutenberg/build/rich-text/index.min.js?ver=ccbb4ffb493956d90121" id="wp-rich-text-js"></script> <script type='text/javascript' src='https://distributed.blog/_static/??-eJyFyzkOgCAQAMAPKatiQiiMb5EjuAYWwhF8vrZWllNMT6OOVC1VSL45pAKuvVQ2O1ANvYFyxlx1NBaQjL1ZQGJXGfr/7EcmJPd5e9hmwRc+rULKBxomLqw='></script> <script src="https://distributed.blog/wp-content/plugins/gutenberg/build/blocks/index.min.js?ver=d6b6a82fcb28656f8de7" id="wp-blocks-js"></script> <script id="jetpack-mu-wpcom-settings-js-before"> var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https:\/\/distributed.blog\/wp-content\/mu-plugins\/wpcomsh\/vendor\/automattic\/jetpack-mu-wpcom\/src\/build\/"}; </script> <script src="https://distributed.blog/wp-content/themes/distributed/assets/js/css-vars-ponyfill2.js?ver=6.7.1" id="css-vars-ponyfill-js"></script> <script src="https://distributed.blog/wp-content/themes/distributed/assets/js/ie11-fix.js?ver=1.0" id="ie11-fix-js"></script> <link rel="https://api.w.org/" href="https://distributed.blog/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://distributed.blog/wp-json/wp/v2/posts/1896" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://distributed.blog/xmlrpc.php?rsd" /> <link rel="canonical" href="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/" /> <link rel='shortlink' href='https://wp.me/paXfVj-uA' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://distributed.blog/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdistributed.blog%2F2019%2F07%2F11%2Fupwork-hr-engineering-distributed-company%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://distributed.blog/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdistributed.blog%2F2019%2F07%2F11%2Fupwork-hr-engineering-distributed-company%2F&#038;format=xml" /> <style>img#wpstats{display:none}</style> <link rel="pingback" href="https://distributed.blog/xmlrpc.php"><link rel="amphtml" href="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/amp/"> <!-- Jetpack Open Graph Tags --> <meta property="og:type" content="article" /> <meta property="og:title" content="Upwork&#8217;s Zoe Harte and Han Yuan on Managing People and Products in a Distributed Company" /> <meta property="og:url" content="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/" /> <meta property="og:description" content="Upwork&#8217;s Zoe Harte discusses how she helps run a blended team of full-time and freelance employees. Then Upwork&#8217;s Han Yuan shares his insights on the “soft” skills engineers need to wor…" /> <meta property="article:published_time" content="2019-07-11T10:00:02+00:00" /> <meta property="article:modified_time" content="2021-08-03T16:35:50+00:00" /> <meta property="og:site_name" content="Distributed.blog" /> <meta property="og:image" content="https://i0.wp.com/distributed.blog/wp-content/uploads/2019/05/cropped-favicon-1.png?fit=512%2C512&#038;ssl=1" /> <meta property="og:image:width" content="512" /> <meta property="og:image:height" content="512" /> <meta property="og:image:alt" content="" /> <meta property="og:locale" content="en_US" /> <meta name="twitter:text:title" content="Upwork&#8217;s Zoe Harte and Han Yuan on Managing People and Products in a Distributed Company" /> <meta name="twitter:image" content="https://i0.wp.com/distributed.blog/wp-content/uploads/2019/05/cropped-favicon-1.png?fit=240%2C240&amp;ssl=1" /> <meta name="twitter:card" content="summary" /> <!-- End Jetpack Open Graph Tags --> <link rel="icon" href="https://i0.wp.com/distributed.blog/wp-content/uploads/2019/05/cropped-favicon-1.png?fit=32%2C32&#038;ssl=1" sizes="32x32" /> <link rel="icon" href="https://i0.wp.com/distributed.blog/wp-content/uploads/2019/05/cropped-favicon-1.png?fit=192%2C192&#038;ssl=1" sizes="192x192" /> <link rel="apple-touch-icon" href="https://i0.wp.com/distributed.blog/wp-content/uploads/2019/05/cropped-favicon-1.png?fit=180%2C180&#038;ssl=1" /> <meta name="msapplication-TileImage" content="https://i0.wp.com/distributed.blog/wp-content/uploads/2019/05/cropped-favicon-1.png?fit=270%2C270&#038;ssl=1" /> <style type="text/css" id="wp-custom-css">/* Christy getting overly picky 10.11.23 */ :root { --brighter_red: #fe4c57; } #main .entry-header .entry-title { text-align: left; } .post .entry-header .entry-title { text-wrap: pretty; } .page-id-2663 .wp-block-group .wp-block-group__inner-container { padding: 0; } hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots) { max-width: 720px; } .post .entry-header .entry-meta { text-align: left; } @media (max-width: 1515px) { #header-widget-area { padding-bottom: 0; } } .home .wp-container-11.wp-container-11 { flex-direction: column; align-items: center; padding: 2em 1em 2.5em; border: 1px solid #ccc; border-radius: 8px; } .home-addendum-content hr { display: none; } .home #main { padding-top: 3rem; } @media (max-width: 829px) { #header-widget-area { padding-top: 50px; } } /* Changing background colour of header & footer */ #head-width-wrap, .site-footer { background:var(--brighter_red); } #header-widget-area { color: #000; } #header-widget-area a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; color: #000; } .site-header .site-branding .site-title > a::after { background: url(https://distributed.blog/wp-content/uploads/2023/10/matt_circle_new.png) top left no-repeat; background-size: contain; } .site-footer .widget-title, .site-footer a.imprint { color: #000; } .site-footer::before { opacity: .05; }</style></head> <body class="post-template-default single single-post postid-1896 single-format-standard wp-embed-responsive jps-theme-distributed singular has-main-navigation hide-footer-credit"> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a> <header id="masthead" class="site-header header_classes default-max-width has-title-and-tagline has-menu" role="banner"> <nav id="site-navigation" class="primary-navigation" role="navigation" aria-label="Main"> <button id="primary-close-menu" class="button close"> <span class="dropdown-icon close">Close <svg class="svg-icon" width="24" height="24" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 10.9394L5.53033 4.46973L4.46967 5.53039L10.9393 12.0001L4.46967 18.4697L5.53033 19.5304L12 13.0607L18.4697 19.5304L19.5303 18.4697L13.0607 12.0001L19.5303 5.53039L18.4697 4.46973L12 10.9394Z" fill="currentColor"/></svg> </span> <span class="hide-visually collapsed-text">collapsed</span> </button> <div class="extra-navigation-wrapper"> <div class="primary-menu-container"><ul id="menu-primary" class="menu-wrapper"><li id="menu-item-3463" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-3463"><a href="https://distributed.blog">Home</a></li> <li id="menu-item-37" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37"><a href="https://distributed.blog/podcast/">Podcast</a></li> <li id="menu-item-2683" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2683"><a href="https://distributed.blog/tools/">Tools</a></li> <li id="menu-item-4261" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-4261"><a href="#" aria-haspopup="true" aria-expanded="false">Best Practices</a><svg class="svg-icon" width="24" height="24" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.96954 10.2804L11.9999 15.3107L17.0302 10.2804L15.9695 9.21973L11.9999 13.1894L8.0302 9.21973L6.96954 10.2804Z" fill="currentColor"/></svg> <ul class="sub-menu"> <li id="menu-item-4262" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4262"><a href="https://distributed.blog/an-automattic-field-guide-to-meetups/">Meetups</a></li> </ul> </li> <li id="menu-item-38" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38"><a href="https://distributed.blog/about/">About</a></li> <li id="menu-item-1268" class="external menu-item menu-item-type-custom menu-item-object-custom menu-item-1268"><a target="_blank" href="https://automattic.com/work-with-us/">Work With Us</a></li> <li id="menu-item-1305" class="external menu-item menu-item-type-custom menu-item-object-custom menu-item-1305"><a target="_blank" href="https://ma.tt">Ma.tt</a></li> <li id="menu-item-3633" class="jetpack-instant-search__open-overlay-button menu-item menu-item-type-custom menu-item-object-custom menu-item-3633"><a href="#">Search</a></li> </ul></div> </div><!-- .extra-navigation-wrapper --> </nav><!-- #site-navigation --> <div class="menu-button-container"> <button id="primary-open-menu" class="button open"> <span class="dropdown-icon open">Menu <svg class="svg-icon" width="24" height="24" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 6H19.5V7.5H4.5V6ZM4.5 12H19.5V13.5H4.5V12ZM19.5 18H4.5V19.5H19.5V18Z" fill="currentColor"/></svg> </span> <span class="hide-visually expanded-text">expanded</span> </button> </div> <div id="head-width-wrap"> <div class="site-branding"> <p class="site-title"><a href="https://distributed.blog/" rel="home">Distributed.blog</a></p> <p class="site-description"> The future of work is here. </p> </div><!-- .site-branding --> <div class="right-flex"> <div id="header-widget-area" class="hw-widget widget-area" role="complementary"> <div class="header-widget"><h2 class="header-widget-title">The future of work is here.</h2> <div class="textwidget"><p>The Distributed Podcast is an in-depth conversation about the future of work — with the companies and leaders driving it. Hosted by Co-Founder of WordPress and CEO of Automattic Matt Mullenweg. <a href="/podcast#subscribe">Subscribe</a>.</p> </div> </div> </div> </div> </div> </header><!-- #masthead --> <div id="content" class="site-content"> <section id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <article id="post-1896" class="post-1896 post type-post status-publish format-standard hentry category-podcast entry"> <header class="entry-header default-max-width"> <h1 class="entry-title">Upwork&#8217;s Zoe Harte and Han Yuan on Managing People and Products in a Distributed Company</h1> <div class="entry-meta"> <span class="posted-on"><a href="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/" rel="bookmark"><time class="entry-date published" datetime="2019-07-11T03:00:02-07:00">Jul 11, 2019</time><time class="updated" datetime="2021-08-03T09:35:50-07:00">August 3, 2021</time></a></span> </div><!-- .meta-info --> <div class="entry-author author-avatar-show"> <div class="author-avatar"> <img alt='' src='https://secure.gravatar.com/avatar/767fc9c115a1b989744c755db47feb60?s=48&#038;d=identicon&#038;r=g' srcset='https://secure.gravatar.com/avatar/767fc9c115a1b989744c755db47feb60?s=96&#038;d=identicon&#038;r=g 2x' class='avatar avatar-48 photo' height='48' width='48' decoding='async'/> </div><!-- .author-avatar --> <div class="author-heading"> <h2 class="author-title"> Published by <span class="author-name">Matt</span> </h2> </div><!-- .author-heading --> <p class="author-bio"> In 2002 I started contributing to Open Source software, and life has just gotten better from there. Co-founder of WordPress, founder Automattic. <a class="author-link" href="https://distributed.blog/author/matt/" rel="author"> View all posts by Matt </a> </p><!-- .author-bio --> </div><!-- .entry-auhtor --> </header> <div class="entry-content"> <p> <em>Read more about Zoe Harte in &#8220;<a href="https://distributed.blog/2019/07/11/how-to-do-hr-in-a-blended-company/">How to do HR in a Blended Company</a>&#8221; and about Han Yuan in &#8220;<a href="https://distributed.blog/2019/07/11/engineering-with-empathy/">Engineering with Empathy</a>.&#8221;</em> </p> <figure class="wp-block-audio"><audio controls src="https://distributed.blog/wp-content/uploads/2019/07/distributed-han-zoe-master-v1.mp3"></audio><figcaption>Subscribe to Distributed at <a href="https://pca.st/distributed">Pocket Casts</a>, <a href="https://podcasts.apple.com/us/podcast/distributed-with-matt-mullenweg/id1463243282">Apple Podcasts</a>, <a href="https://open.spotify.com/show/59bljZU7v9cJTXKvlfnFN8?si=Iv4hgJMFRCCx4SpmXlLArg">Spotify</a>, <a href="https://distributed.blog/category/podcast/feed/">RSS</a>, or <a href="https://distributed.blog/podcast/">wherever you like to listen</a>.</figcaption></figure> <p>On today&#8217;s episode, two leaders at Upwork share how they do distributed. First up is Zoe Harte, Upwork&#8217;s Head of Human Resources and Talent Innovation, who speaks about her experience of overseeing a blended team of full-time and freelance employees. Then, I talk to Han Yuan, Upwork&#8217;s Senior VP of Engineering, who shares insights on the “soft” skills engineers need to work effectively in a distributed world. </p> <p><em>The full episode transcript is below.</em></p> <p class="has-text-align-center">***</p> <p><strong>MATT MULLENWEG: Back in June we had the pleasure of <a href="https://distributed.blog/2019/05/16/upworks-stephane-kasriel-on-fixing-the-american-dream/">speaking with Stephane Kasriel</a>, the CEO of Upwork, the world’s largest freelance marketplace. Stephane laid out a compelling case for the distributed model as a way for talent-starved companies in expensive, crowded cities to do business with workers who live in places with comparatively sluggish economies.</strong></p> <p><strong>But Upwork’s not just thinking about this in theoretical terms: they practice what they preach, with a distributed workforce of their own. In this episode, we’ll talk to two Upwork employees from two very different practice areas who give us glimpses of how their company does distributed.&nbsp;</strong></p> <p><strong>First up is Zoe Harte, Upwork’s Head of Human Resources and Talent Innovation. Upwork’s legal, finance, and even HR departments are a blended mix of full-time and freelance employees scattered across dozens of countries and cultures. Zoe helped to grow the company’s workforce by 75 percent over the last six years, giving her a world-class perspective on how to expand and maintain fluid, flexible teams.&nbsp;</strong></p> <p><strong>After a great conversation with Zoe, I speak with Han Yuan, Upwork’s Senior VP of Engineering. Han gives us an inside look at how his team’s diversity of culture and thought becomes a powerful asset. He says this diversity fosters curiosity and allows the company to tap into a wide array of perspectives and experiences.&nbsp;</strong></p> <p><strong>OK, let’s get started with Zoe Harte.&nbsp;</strong></p> <hr class="wp-block-separator"/> <p>ZOE HARTE: My name is Zoe Harte. I look after human resources and talent innovation here at Upwork. I&#8217;ve been here six years now. I started when we were oDesk, prior to the merger of Elance and oDesk, and have seen everything transform. I&#8217;ve been doing HR for almost 20 years at this point.</p> <p><strong>MATT: Wow.</strong></p> <p>ZOE: Yes. And I spent almost a decade at Yahoo.</p> <p><strong>MATT: Tell me a little bit about your HR team.&nbsp;</strong></p> <p>ZOE: There&#8217;s the traditional side of the house, which is — we have recruiting, we have the HR business partners.</p> <p><strong>MATT: How many people?</strong></p> <p>ZOE: We&#8217;re about 20 in that world. And then we have — there is another group of people who help do the onboarding for the talent innovation team — is what we call the freelancers, who work directly for us, and they help them with the onboarding, getting access to the Upwork systems in a compliant fashion and provisioning them, making sure their business documents and all of that are done in an appropriate way.</p> <p>There are also people in our organization who partner with freelancers, who are working for our enterprise clients to help make sure that they are onboarded successfully onto the platform, getting access to those companies&#8217; data or whatever it is that they need. That&#8217;s where making sure all the documentation, the independent business license and all those things are done. So it&#8217;s pretty varied in terms of what HR encompasses for us.</p> <p><strong>MATT: So about 20 for the full-time?</strong></p> <p>ZOE: Mhm.</p> <p><strong>MATT: So 450 full-time Upworkers.&nbsp;</strong></p> <p>ZOE: Yup.</p> <p><strong>MATT: About how many for that broader talent group?</strong></p> <p>ZOE: That&#8217;s about four.</p> <p><strong>MATT: Oh, so that&#8217;s pretty leveraged.</strong></p> <p>ZOE: It&#8217;s really leveraged. Yes. They would like to have a little more help there. But we also then use freelancers ourselves back to supplement the team too. Our team —&nbsp;</p> <p><strong>MATT: What sort of things do you use freelancers for in HR?</strong></p> <p>ZOE: For everything. We use freelancers to help us design learning programs. We&#8217;re moving some of our compensation to a different philosophy. We worked with a freelancer to do a video explaining the why and the how that impacts everybody. We work with freelancers when we&#8217;re looking to bring in different skills or scale in our organization.&nbsp;</p> <p>So for example, when we were building out our Chicago presence and we were hiring a lot of sales people, we needed to do a big hiring push all at once. I knew we didn&#8217;t need a ton of recruiters full-time focused on that, but we needed a lot of sources to really dig deep into the talent network within Chicago. And so we did that with bringing people on in the platform. So that&#8217;s just a scale issue. And then for skills, like video design. I can&#8217;t do that. But this person made this video that&#8217;s amazing, and it makes it a complex thing that&#8217;s coming out of our department easily digestible and clear.</p> <p><strong>MATT: I definitely live in the distributed work world and until you started talking about that I had never thought about parts of HR being something that could be freelance.</strong></p> <p>ZOE: It all can. And that&#8217;s one of the things that is so great about how Stephane has set us up here, is that the expectation is every single organization within Upwork is a blended organization that relies on freelancers as well as full-time employees. So legal, finance, all of us, even the organizations that you&#8217;d be like, “That&#8217;s hard,” there&#8217;s always additional stuff that can be done.</p> <p><strong>MATT: Yeah. And the third bucket you talked about was enterprise. You might need to define enterprise just quickly.</strong></p> <p>ZOE: Mm, sorry.</p> <p><strong>MATT: And what that means in your business and then how many people work on that.</strong></p> <p>ZOE: So for our enterprise business, that is out of our sales function and so that&#8217;s working with our largest accounts. So the biggest companies with whom we work, Fortune 500 and Fortune 50.&nbsp;</p> <p><strong>MATT: So I might come to you say &#8220;Hey I need 1000 folks to do X, Y, Z.&#8221;</strong></p> <p>ZOE: Precisely. I need to translate these medical documents.</p> <p><strong>MATT: “And I want you to manage it for me.”</strong></p> <p>ZOE: So we do both. We have some where it is “I want you to give me just the output, you figure out how to do it,” and then we have others where they are more involved in the guidance themselves and so they&#8217;ll say for the marketing organization “We want a design initiative that&#8217;s X, Y, and Z and we&#8217;ll do it this way.” So Microsoft is a shining example of a company that&#8217;s partnered really extensively with us and knows how to utilize freelancers in a wide variety of projects.</p> <p><strong>MATT: Are there other big clients you can talk about like that?</strong></p> <p>ZOE: Companies like Dropbox and Pinterest are using us for a variety of different things as well. And then most of the bigger companies — we&#8217;ve got GE and other people like that — who are really digging in within different functions organizationally, be it marketing or some of the writing organization, or particularly web design. And the technology pieces — obviously a lot of engineers can really be scaled. We do that here, I&#8217;m sure.</p> <p><strong>MATT: HR is so critical to being a distributed company. How should companies be thinking about this if they&#8217;re starting to hire? Let&#8217;s say right now I have all my people in one office in Houston, Texas, and now I want to start to engage and hire people in other places, what do I need to think about?</strong></p> <p>ZOE: You need to think about a lot of things, like, “Is this going to be — I&#8217;m going to do this for one set of expansion, so I&#8217;m going to go to these three additional states and then I know that&#8217;s going to be pretty steady for X period of time.” If that&#8217;s the case then I would argue, depending on how many people it is, it may be worth setting up [a] nexus in those places and so then you&#8217;re beholden to pay the taxes there and set up all those legal and financial things that you need to do.&nbsp;</p> <p>If not and you&#8217;re interested in saying “I&#8217;m going to need three people in this place for the next three months and then I want to explore the opportunity to have local translators in Brazil for X, Y and Z reasons,” then I think you may benefit by exploring a freelance relationship with those people where you can dial it up or dial it down.&nbsp;</p> <p>And it allows both parties to really engage in a way that&#8217;s very clear and communicative about [how] these are the objectives of why we&#8217;re doing it this way, communication and transparency in terms of what the goals are, the deadlines, etcetera. But you&#8217;re not then in a place where you need to manage all the tax implications and all the financial and all the legal ramifications of setting up businesses in a myriad of different countries, which can be hugely taxing, pardon the pun. But in terms of what you need to do organizationally, it can be such a distraction and so much overhead that arguably freelancers in that way can be much more efficient for a business.</p> <p><strong>MATT: [Are] there ways to manage some of this complexity? Because even in the U.S. you have different worker&#8217;s comp laws, you have different tax rates, you have so much stuff.</strong></p> <p>ZOE: You do. Firstly I would say, have a really good tax person that you can use as a resource, whether that&#8217;s somebody you contract with or otherwise. You can, obviously if you’re doing it the freelance way — I would be wrong to not say Upwork will do a lot of this for you, right? We can help with a lot of that.&nbsp;</p> <p>But I think in general it&#8217;s about being mindful and intentional about it. I think sometimes what happens is we fall in love with a person and a candidate and we think this person is perfect and you&#8217;ve already made some kind of oral commitment to them, like “I really want you to work with us on X, Y project,” and then you&#8217;re like, “Oh, but man, they&#8217;re in Massachusetts and the taxes in Massachusetts are a nightmare.” Or it&#8217;s whichever state it is where you realize, “Oh, one of our biggest customers is there and if we set up a nexus there, then we may have to look at our taxes differently because they&#8217;re also there. So what do we trigger for both our customers and for ourselves?”</p> <p>So I think the biggest advantage you have — we have some great tax people here and it really helps us. And we have been very intentional about the places that we have full-time employees versus the places where we&#8217;re open to partnering with freelancers — which is worldwide, versus the places where we&#8217;ll engage with leased employees — because that makes it a lot easier for us.</p> <p><strong>MATT: And had you been at a distributed organization before?</strong></p> <p>ZOE: Personally I’ve always had a distributed team so I never have worked with a team that was solely in one place. And it&#8217;s funny, I hadn&#8217;t actually reflected and made that connection that I had never done it until I was thinking about talking with you about it. But I have always had that.</p> <p><strong>MATT: People probably think of a Yahoo as being almost famously all in one place.</strong></p> <p>ZOE: Well now, yes.</p> <p><strong>MATT: Help people understand how maybe that org was really large and…&nbsp;</strong></p> <p>ZOE: It was. It was sort of ginormous. I was there from &#8217;99 to 2008. And so the company was about 14,000 at its biggest during that time, but certainly grew and contracted at various times.</p> <p><strong>MATT: That&#8217;s a wild time to be at Yahoo, by the way.</strong></p> <p>ZOE: You know what, I can&#8217;t say enough good things about it. We had various offices. So there was a large campus in Sunnyvale but there [were] also offices — we moved our customer service organization up to Hillsboro, Oregon. We had Broadcast.com, Mark Cuban&#8217;s thing, in Dallas. We were in LA and New York as well, and then of course all over the world there were Yahoo offices.</p> <p>So even when I was just managing one person as an HR manager, she was based in Oregon, I was based in California. The other thing, towards the end of my time there, when I had left HR for a while, I was looking after the international customer care organization, and that was in 20 plus countries.</p> <p><strong>MATT: Wow, how many people was that?</strong></p> <p>ZOE: That was about 300 people at that time.</p> <p><strong>MATT: Wow.</strong></p> <p>ZOE: That was a really great learning opportunity and it also makes you mindful of time zones and different customs and different expectations about availability and responses over the weekend, or what it all looks like and how different it is in different places.&nbsp;</p> <p><strong>MATT: In the taxonomy of distributed versus all being in the same room, I guess I would call Yahoo or companies like that as multi-office.</strong></p> <p>ZOE: Precisely.</p> <p><strong>MATT: There&#8217;s offices all over the world, across all time zones. People would go into that office the majority of the time and —&nbsp;</strong></p> <p>ZOE: Yes, there was a lot less actual remote work. Like I&#8217;m in my home, you&#8217;re in your home, somebody&#8217;s in a co-working space.&nbsp;</p> <p><strong>MATT: So we just built a time machine. You can go back 20 years and talk to Zoe in 1999 at Yahoo.</strong></p> <p>ZOE: I know, she could be on it.</p> <p><strong>MATT: What would you tell her about what you&#8217;ve learned at Upwork, a massively distributed organization, that you think would help maybe someone listening to this who is in a multi-office type place?</strong></p> <p>ZOE: I think being precise and intentional about your communication cadence is probably the number one thing that you can do.</p> <p><strong>MATT: What does the cadence mean there?</strong></p> <p>ZOE: So to me that means saying, okay, our entire organization will connect this many times a year in this many ways. And so there will be an all-department meeting once a month, once a quarter, whatever is appropriate, and that we will cover these three priorities and in broad progress and how it&#8217;s impacting the business overall. And then the expectation would be that the smaller subsets of teams are meeting in this way. The leadership team is meeting in this way, and you as the overall leader are connecting with your direct reports on this regular basis, and then making sure that you connect with every single person in your organization at least once every *blank* months.</p> <p><strong>MATT: Are there some things you think are unique to how Upwork is structured or some processes you have like that, cadences that you have, that you&#8217;d want to share, like best practices?&nbsp;</strong></p> <p>ZOE: One of the things that is actually one of our greatest tools, which is a tool that I — everybody has got their own variation of it. Internally we use Upwork Messenger, the Dash Team. And there is just constantly the ongoing conversation that people have. So there is obviously a lot of work that gets done in that way. But there is also the check-in about like, “Hey I know your daughter should be hearing back from colleges she applied to, is everything going okay? Did she get into the one she wanted to get into?” And just building that camaraderie and that understanding. That&#8217;s not something that’s unique to us, it&#8217;s something that is drilled into us that we will continually make sure that we are connecting on a personal level as well as a professional level with individuals.</p> <p><strong>MATT: Just from the culture? Or the tool does that?</strong></p> <p>ZOE: From the culture as much as anything, and the tool really facilitates that for us. So for most of us that&#8217;s the first thing we do that’s work-related every day. So for my organization, we have a room for the leadership team and the first thing we do every morning is check in, say good morning — any personal updates, anything like “The kids are fighting so I&#8217;m going to be late to school and then late to work,” or whatever it is, right?&nbsp;</p> <p>And then it&#8217;s, “Here are the three things I&#8217;m going to do this day, and I need your help in this thing. And, oh my gosh, the meeting we thought was a fortnight away is now next week! Can you help me get those metrics that I need earlier?” And it just allows us to constantly be recalibrating the work that our teams are doing and connecting them back to the bigger, broader picture of what we&#8217;re doing.</p> <p>It&#8217;s really simple. I feel like I should have [these] massive words of wisdom for you and I don&#8217;t. I think it&#8217;s just, talk more, communicate more, be clear about what you&#8217;re asking and clear about when you need help.</p> <p><strong>MATT: Just because it&#8217;s simple doesn&#8217;t mean it&#8217;s easy though.</strong></p> <p>ZOE: No, that&#8217;s true. I mean it&#8217;s really hard, right? And if everybody could communicate well I think a lot of things could be different.</p> <p><strong>MATT: Is there something different you would look for when hiring someone to work in this kind of environment than you would if they were going to come into an office everyday?</strong></p> <p>ZOE: Obviously it won&#8217;t surprise you: Are they a good communicator, do they ask quickly for help and self-identify and see that as a strength that they&#8217;re asking for help versus a threat or a weakness.&nbsp;</p> <p><strong>MATT: But how do you screen for that?&nbsp;</strong></p> <p>ZOE: I&#8217;m a big believer in behavioral interviewing and asking for really specific examples and then walking people through scenarios and saying, “Hey, this happens” — and often it&#8217;s something that&#8217;s literally happened the day before — “What do you do in this situation?”</p> <p><strong>MATT: I know that one thing that Upwork does is these meetups.</strong></p> <p>ZOE: Yes.</p> <p><strong>MATT: From an HR point of view, what are the pluses and minuses of these meetups?</strong></p> <p>ZOE: [laughs] That is a great question. The pluses are getting together. Nine out of ten times that is really fantastic. It&#8217;s an opportunity to put a face to a name, it&#8217;s an opportunity to share more personal stories, connect, to see how the work that you&#8217;ve done has made life easier for me and vice versa and all those things. And to brainstorm and just have more synergy. Sitting around, talking over a cup of coffee, you do tend to come up with different ideas than if you&#8217;re in an official meeting.&nbsp;</p> <p>Challenges can — it can sometimes be easier to relate to somebody via a screen. When you&#8217;re in person maybe there is just something you guys don&#8217;t like about each other, right? That can be hard. It also sometimes can feel forced, or like it has to be absolutely brilliant or it&#8217;s been a failure because they happen infrequently. They cost a lot of money, there is a big opportunity cost.</p> <p><strong>MATT: And yours are longer, right?</strong></p> <p>ZOE: Yes, right.</p> <p><strong>MATT: I&#8217;ve heard 10 to 14 days?</strong></p> <p>ZOE: They do tend to be long. So you&#8217;re also going deep for a long time with a group of people that you&#8217;re used to one very specific type of interaction with. And as much as we have hangouts that celebrate people&#8217;s birthdays, or whatever it is —&nbsp;</p> <p><strong>MATT: Wait, say that again. You&#8217;ll have a virtual hangout on someone&#8217;s birthday?</strong></p> <p>ZOE: Yes, absolutely. We love a virtual hang out. Probably not the greatest HR example but there are definitely virtual happy hours that happen with distributed teams around here.</p> <p><strong>MATT: Sure. [Being] in the same time zone helps that.</strong></p> <p>ZOE: Yes it really does. That&#8217;s when you&#8217;re like, “Ugh it&#8217;s 6:00 in the morning, no can do.” The challenge is that it&#8217;s a group of people. And you get any group of people together for X period of time — think about Thanksgiving. Lots of pros for Thanksgiving, also some cons when a family that&#8217;s not always together is together for an extended period of time.</p> <p><strong>MATT: I think much like Automattic, some Upwork meetups often happen and people stay at Airbnbs and stuff.</strong></p> <p>ZOE: Yes.</p> <p><strong>MATT: So that co-living is an additional variable. And by the way, you have to check the Airbnbs sometimes. We&#8217;ve definitely had it where something they listed as a bedroom was actually — you had to walk through another bedroom to get through and things like that.</strong></p> <p>ZOE: Oh yeah, no, no one wants that. One of the big things that I personally advocate for a lot is making sure that all employees, but in particular women, when they&#8217;re traveling, never have to be at a place that has — their bedroom door is a door to the outside. Just from a safety perspective, like an emotional safety perspective. I want you to have a hallway, I want you to have somewhere that feels safer than that.&nbsp;</p> <p>And just making sure that physical safety is something that you&#8217;ve been really clear about with everybody, like here are the expectations around that. And being flexible. If somebody gets somewhere and is like, “I just can&#8217;t,” then you&#8217;ve gotta have some wiggle room around that. And so that may mean a buffer in your budget, which hopefully you don&#8217;t need it.</p> <p><strong>MATT: To get a hotel room or something.</strong></p> <p>ZOE: Yeah, like you need a separate hotel room? Totally fine, I get it.</p> <p><strong>MATT: You probably want to avoid cross-gender sharing of those&#8230;?</strong></p> <p>ZOE:&nbsp; Yes, yes.</p> <p><strong>MATT: Dishes and clean up.</strong></p> <p>ZOE: Ohhh dishes, yes.&nbsp;</p> <p><strong>MATT: I feel like you have something to say there.</strong></p> <p>ZOE: Sorry, I can — apparently that just hits a sore spot personally. It brings back bad roommate situations.</p> <p><strong>MATT: Tell me about dishes.</strong></p> <p>ZOE: Yeah, right? Who&#8217;s going to clean up the mess? Is there a rotation, is that clear, is that part of it? And this certainly, I heard a story about this, like an expectation about who was doing the keynote was based on gender, or there were two people with the same name, one was a woman who was a very senior leader, one was a relatively junior team man, who was a man. And it was first name only on the thing, and one of them was doing the keynote. And one of the remote attendees was like, &#8220;Oh I just assumed it was him.&#8221;&nbsp;</p> <p><strong>MATT: Hmm.</strong></p> <p>ZOE: Okay. Well A, whoops, you should know more about the organization to understand who is the leader in this situation. So I just think understanding that but also understanding specific — especially gender roles in different cultures. You don&#8217;t want to get into a situation where the expectation is that the woman is doing the dishes or whatever it is, or the men are taking out the rubbish all the time. You&#8217;ve got to just be intentional.</p> <p><strong>MATT: You just said something really key as well, which is “across different cultures.”</strong></p> <p>ZOE: Yeah.</p> <p><strong>MATT: If you’re distributed and coming together, there might be people from — ten people from ten different countries —&nbsp;</strong></p> <p>ZOE: Absolutely, right.</p> <p><strong>MATT: — and it&#8217;s easy to forget that. People live different in different countries. So you almost need that defined for your company. What are those expectations and the habits and culture of how you want to operate?</strong></p> <p>ZOE: Yes. Again the more proactive communication you have about this, the better off you are. Because it&#8217;s not just things about gender. Does everybody eat meat? Are there religious ramifications for how meat is prepared? All of those different things. Are there people who pray before dinner? What are the expectations of this? Do you have somebody who is a nursing mother who is going to need time to pump in between the schedules?</p> <p><strong>MATT: How about mentorship and learning and training? How do you do that particularly across your full-time versus freelancers?&nbsp;</strong></p> <p>ZOE: We have tended to focus on our full-time employees in terms of learning and development initiatives. One of the things about freelancers is, by the nature of their work they are re-skilling at a higher level than the rest of us who are in these corporate jobs.&nbsp;</p> <p><strong>MATT: It&#8217;s almost more Darwinian, being in the open market.</strong></p> <p>ZOE: Yes, they&#8217;re doing it constantly. They are much more aware of what is going on in terms of the influx of need for skills and things such as that. The research that we have done shows that the half life of a skill is about five years right now. So if you are an independent business who is working to garner your next project and the next client, you are much more mindful, and as such I should learn X new thing. So often we learn from that part of our community, “Oh goodness, we should be training on blank.”</p> <p><strong>MATT: Diversity and inclusion is something that usually is covered by HR. How do you think about that in a distributed organization and a global organization like you all?</strong></p> <p>ZOE: We&#8217;ve done frankly a lot of self-reflection. We worked with Paradigm, who is a consultancy who have a lot of attention right now, to re-evaluate every single full-time-people process in the company last year, which is not a small thing in terms of scope but also not a small thing when you really think you&#8217;re doing very well, and you care a lot, and you&#8217;re trying your best to realize all the places you’re flawed and can do better. By the nature of how our organization is structured, and the fact that it is a small portion of the people who are working to make Upwork “Upwork” that are full-time, we have a huge amount of diversity already due to the nature of the freelancers who are working with us at any given time.&nbsp;</p> <p><strong>MATT: As we close out, your biggest tips. Let&#8217;s say someone new is joining and they haven&#8217;t worked in a distributed manner before. What do you point them to?</strong></p> <p>ZOE: I point them to learning as much as they can about how our business works and the different roles that people have organizationally. I point them to not being shy and just proactively communicating. Like, “These are the four things I&#8217;ve been asked to work on, I understand these two really well, this one I think is like this — can you help me figure that out? And this fourth one, I&#8217;ve got no idea, I&#8217;ve never even heard of this before, who can help me?”&nbsp;</p> <p>And then really making sure that they understand how their piece of the puzzle is impacting this incredible mission. I think every person who is associated with Upwork believes in our mission and our vision. And you feel it when you work here. And hopefully you feel it coming in and visiting us.&nbsp;</p> <p><strong>MATT: What is that mission?</strong></p> <p>ZOE: Our mission is to create economic opportunity so people have better lives. I&#8217;ve worked at many different places and you see values on the walls and you see a mission, and people talk about it. But I&#8217;ve never been in a place where the values are used to make business decisions at the executive staff level. It&#8217;s really inspiring and I think that makes everybody eager to do the very best that they can do while they&#8217;re here, because it&#8217;s not just for us.</p> <p><strong>MATT: As we look forward, from your HR point of view you&#8217;ve seen how work has changed. Twenty years from now, what percentage of jobs do you think are distributed?</strong></p> <p>ZOE: Gosh.. 70? I think a vast majority are going to be.</p> <p><strong>MATT: Wow.</strong></p> <p>ZOE: Because real estate is so phenomenally expensive, the things that are just happening to make it easier even than it is already, and I would say it&#8217;s really easy right now to do it. It&#8217;s going to be a non-issue. It&#8217;s going to feel like I&#8217;m here with you if you&#8217;re in Singapore and I&#8217;m in Sydney. It&#8217;s not going to matter.</p> <p>I think the beauty of that is the world gets smaller and we learn more and we understand more, we have more diversity of experience in our day-to-day lives. I look at my grandparents who traveled a fair amount, but the people that my children know versus the people that they know — their circle will be so much broader and they will have so many more inputs. So that can only be positive for business, right?</p> <p><strong>MATT: That sounds like an amazing world for our current or future children to grow up in.</strong></p> <p>ZOE: It does. I hope so.</p> <p><strong>MATT: Thank you for [being] part of helping to create that at Upwork and also with sharing your stories for the listeners here.&nbsp;</strong></p> <p>ZOE: Thank you very much for having me, I appreciate it.</p> <p>***</p> <p>HAN YUAN: My name is Han Yuan. I&#8217;m the head of engineering for Upwork. I have been at the company for three-and-a-half years.</p> <p><strong>MATT: Had you worked distributed before joining Upwork? And how is engineering from a distributed or non-distributed view?</strong></p> <p>HAN: I have under multiple contexts. I think both from a, “I&#8217;m at a company and we have multiple offices around the world,” and also in situations where we had one or more agencies that we worked with directly and we collaborated in more of a — I would not say black box but more like a white box way. So really engaging with agencies in a staff augmentation way.</p> <p>What&#8217;s fascinating about Upwork is that we&#8217;re pretty distributed. When we look at the engineering team they hail from over 40 countries around the world.</p> <p><strong>MATT: Wow, like currently living in 40 countries?</strong></p> <p>HAN: Right.</p> <p><strong>MATT: And that&#8217;s of the 350.</strong></p> <p>HAN: Right.</p> <p><strong>MATT: But we&#8217;re in an office right now in Mountain View.&nbsp;</strong></p> <p>HAN: Mhm.</p> <p><strong>MATT: Tell me about that.</strong></p> <p>HAN: Typically we try to make sure that all of the key meetings happen between nine to five West Coast time.&nbsp;</p> <p><strong>MATT: Do you have many people in the Asia Pacific time zones?</strong></p> <p>HAN: We do not.</p> <p><strong>MATT: That makes sense because those core hours would be tough to keep there.</strong></p> <p>HAN: Most of our personnel is somewhere between South America, Europe and Eastern Europe. We also find that because we have an agile organization, the leads of those agile teams are oftentimes not here in Mountain View. And in a sense they do have the authority or they’re expected to recruit and hire for their own teams. There is a tendency to hire within one or two time zones of wherever they happen to be. Geographic dispersion of our team is probably partially organic in that sense.</p> <p><strong>MATT: You come into this Mountain View office about how often?</strong></p> <p>HAN: I come in about four to five days a week.</p> <p><strong>MATT: Oh yeah, that&#8217;s pretty good.</strong></p> <p>HAN: I still come in pretty regularly.</p> <p><strong>MATT: What do you like about it?</strong></p> <p>HAN: I think I like the routine a little bit. And some of it is just my own personal situation where it&#8217;s harder for me to work at home. We also happen to have most of our product managers on premise. And so collaborating face-to-face with the product managers [and] designers is a key part of my job, and so I do tend to come to the office pretty regularly.</p> <p><strong>MATT: How do you keep the folks who aren&#8217;t here as in sync?</strong></p> <p>HAN: I think that’s a really good question and that&#8217;s probably one of the greatest challenges of leading a distributed team. And it breaks down to a couple of things. One is, “How do you maintain a consistent culture?” That&#8217;s a very difficult problem.&nbsp;</p> <p><strong>MATT: What does culture mean to you right then?</strong></p> <p>HAN: In a lot of cases it has a lot to do with how both the big and small things regarding how people interact and communicate with each other on a day-to-day basis and what their expectations are. So for me, it&#8217;s being very, very explicit in certain cases what people expect from each other.&nbsp;</p> <p>So for example, how long can you sit on a pull request? Can you sit on it forever, can you sit on it for one day, three days? Without that code in place, different engineers from different parts of the world have potentially different points of view on what is being responsive to a colleague.</p> <p>And so we spend quite a bit of time documenting and being very explicit about what we expect in terms of behavior from our engineers. And hopefully to the extent that we&#8217;re consistent, we reward and we also give feedback for behavior when it&#8217;s inconsistent. But I think that&#8217;s a key part of it.</p> <p><strong>MATT: Yeah.</strong></p> <p>HAN: The second thing I think is more of a practical thing, which is we generally bias towards hiring people who have strong written communication because we want to do things as asynchronously as possible. In order to do that, being able to write well is very important. I think chat is less interesting to us in general because it&#8217;s a little bit synchronous in nature. And so we want to encourage our engineers and our team to really put things down thoughtfully and clearly.</p> <p>And then along those lines, as an organization, we spend a lot of time trying to create transparency within this working operating system of how we build the site. And so a big part of that is making sure that when there are issues everybody understands it, even from the executive standpoint — the engineering executives — and then also having the ability for teams to propose and communicate innovation at all levels of the organization or recognize people at all levels of the organization. And so we have various mechanisms to achieve that.&nbsp;</p> <p><strong>MATT: You mentioned if I were going to make a proposal you&#8217;d want me to write it out and really present it. How about when there are those technical agreements? Two great engineers, maybe on different teams, or maybe the same team, have a difference of opinion for which way they should go. How do you work that out, especially when you can&#8217;t get people around the white board or in the same room?&nbsp;</strong></p> <p>HAN: In a distributed organization there is a tendency, and rightfully so — you have to<strong> </strong>have some structure where you say, “Hey you are the CEO of this problem.” And so there are times when I may come to an engineer or engineers come to each other and say, “Hey can you make this change” or “I’m really worried about this thing that you built, you should make this change,” and as the owner, of course, you could say no. But in that sense the decision making is very clear and absolute. But we have seen situations where the decision was the wrong decision or multiple people came to that decision maker and said, “I really think you guys are doing a bad idea,” and they said no multiple times.&nbsp;</p> <p>And so over time, in order to flag these issues, what we encourage teams to do is, as soon as you have come to a place where you disagree, you follow our proposal process, which is the same format: State your problem, state each other&#8217;s point of view, and then bring it to the adjudicating body, which in this case would either be an architecture review, or we have a different body called eng staff, which is the top 30 senior people in the engineering organization, to adjudicate over this.</p> <p><strong>MATT: You had something really key in there I wanted to ask about. You said &#8220;make the other side&#8217;s arguments.&#8221; Tell me about that. Because that&#8217;s not a normal thing to do. Normally if I&#8217;m proposing something I would just make my argument.</strong></p> <p>HAN: We really want to encourage empathy in general. And so a key part of empathy is being able to try to see the other person&#8217;s point of view. And in an organization as distributed as ours where people come from all around the world, we view it as an essential ingredient to developing deep and meaningful collaboration.</p> <p><strong>MATT: What do you think is the main benefit of what you do that couldn&#8217;t be accomplished if you had a traditional office approach like you did in prior jobs?</strong></p> <p>HAN: I think there&#8217;s a bunch of practical things that people would often say, like, “Oh, we can do 24-7 development&#8221; or &#8220;you can have access to talent.” And I think those are valid. But if you were to ask me, the most important thing is diversity of thought. And I think that has a lot to do with different people from different backgrounds and different parts of the world who have experienced different things and have worked on different things, and that is quite powerful. I think when nurtured well it creates the conditions for things like creativity, empathy, collaboration, and things like that, and I think that&#8217;s very valuable.</p> <p><strong>MATT: Can you share an example where that came into play or you felt like that improved the outcome?</strong></p> <p>HAN: It happens oftentimes in big and small ways. For example, because people are very aware that they come from different places, they tend to ask more questions, which I think does elicit a little bit more thought from other people and it also forces people to normalize their communication, their language, and their reaction to things, that&#8217;s a little bit more neutral. But these are very subtle things. Diversity of thought comes from the place of actually interacting with somebody who isn&#8217;t very familiar with how you do things.</p> <p><strong>MATT: Are there any commonalities or practices of the highest performing engineering teams? Do they do daily stand ups? What sort of things do they adopt?</strong></p> <p>HAN: The highest performing teams actually have much smoother communication between the product team and them. There is context setting that — the transmission of context is just cleaner because when that happens, the engineers are brought into the solution space, not just in the implementation space.</p> <p><strong>MATT: Yeah. So let&#8217;s say I was leading an engineering team that you perceived [to be] bottom quartile at the company, wasn&#8217;t doing as well. How would you coach me to have a better context setting or connect better with my colleagues to be more effective?</strong></p> <p>HAN: For all of our groups we have them document what their vision and values are for that team and align around what&#8217;s important to them. So for some organizations, for example, if you’re on a platform team, you may value very, very clean code, maintainable code, and you may value doing things very well over speed. For teams that are working on things that don&#8217;t have product-market fit yet, we encourage them to break things, write things a little bit on the side, and that&#8217;s fine. And they can go ahead and say, “Hey this is what we&#8217;re going to do,” and explain why we&#8217;re going to do it.</p> <p><strong>MATT: How about in-person versus remote? Let’s say I was this engineering manager in Houston and I was like, “Hey there&#8217;s this product person in Mountain View I&#8217;m just not connecting with.” Would you encourage us to get together physically or are there meetups? How does that work across the full-time and non-full-time people?</strong><br></p> <p>HAN: In almost every case team performance has improved after they&#8217;ve met face to face. Once. [laughter] Now the gains that you get from meeting up twice, three times, four times, a hundred times, tends to fall off quite a bit.&nbsp;</p> <p><strong>MATT: Diminishing marginal utility.</strong></p> <p>HAN: Exactly. But the first time the gains are huge. So we typically fly groups of 30 or 40 folks on meetups. And since we&#8217;re so distributed it tends to be some kind of random city on the planet that is more or less geographically accessible to those teams.</p> <p><strong>MATT: Those would be freelancers and full-timers?</strong></p> <p>HAN: Yes.&nbsp;</p> <p><strong>MATT: Cool.</strong></p> <p>HAN: And then these meetups can last for a week to two weeks. So that’s usually enough facetime for people to get a feel for how they work.</p> <p><strong>MATT: Yeah. You mentioned you find it hard to work from home when we started. Tell me a bit more about what you find challenging working from home or not?</strong></p> <p>HAN: I think this is a personal quirk apropos of nobody else. But I really like to partition when I&#8217;m working and when I&#8217;m not. And to your point about isolated time, even during the work day, I have not had this in six weeks but historically I try to block off at least three hours. When I write code, and I still do from time to time at home, not at work, I&#8217;ve done a bunch of performance studies on myself and I know that I can only generate about four and a half hours of solid code. I&#8217;m very —</p> <p><strong>MATT: I&#8217;m curious how you knew when it started to drop off.</strong></p> <p>HAN: So if you really want to know&#8230;</p> <p><strong>MATT: Yeah.</strong></p> <p>HAN: This is what I did to myself. I would measure blocks of time of 30 minutes and then set a timer and every 30 minutes I would tick on a scale of one to three whether or not I did what I thought I was going to do in those blocks. When I start the next block I tell myself what I want to accomplish and then —&nbsp;</p> <p><strong>MATT: Very Pomodoro-like.</strong></p> <p>HAN: It&#8217;s very Pomodoro-like. This was back when I was, I would argue, gainfully unemployed, where I was working on my own thing. I ran this over ten hours a day, seven days a week for about 12 to 18 months. And so I had significant data on how I work and I found out that, generally speaking, my prime hours are somewhere between 11:00 and 3:00. And so once I figured that out I —&nbsp;&nbsp;</p> <p><strong>MATT: Morning or night?</strong></p> <p>HAN: During the day. And once I figured that out I was like okay, in the afternoon I&#8217;m going to go hang out, work out, do other things. As a result I feel like, at least for myself, I have a few hours that are good and most of it&#8217;s not so great.&nbsp;</p> <p><strong>MATT: That is utterly fascinating, first. What other variables did you find?</strong></p> <p>HAN: Sleep was really important too. So when I started to correlate the number of hours that I slept, that was really important.</p> <p><strong>MATT: How much do you need there?</strong></p> <p>HAN: I typically need six and a half to seven hours.&nbsp;</p> <p><strong>MATT: I do want to talk about tools a little bit. What are the tools that you use when you share this writing or these proposals? What do you rely on there, particularly on the engineering?</strong></p> <p>HAN: Day-to-day collaboration — I would say our most important tool is actually the G Suite. Being able to co-author documents in real time, comment, assign action items, it is a game-changer for us, especially when it comes to assembling information very quickly. When we have site incidents, for example, we really need to make sure that a document is written quickly so that it&#8217;s fresh on the top of people&#8217;s minds, and then we run the post mortem. That level of tooling is critical.</p> <p>We have a messaging client on our platform which we use for day-to-day business but the challenge is that when the site is down, oftentimes our messaging system is also down, because it&#8217;s part of the same platform.</p> <p><strong>MATT: Oh yeah. What&#8217;s your fallback?</strong></p> <p>HAN: Yeah, so our fallback is typically Slack. And so Slack is still very important. In order to reduce mean time to response our tech ops team and site reliability teams always collaborate on Slack, and so they&#8217;re basically online on Slack. We also use Hangouts quite extensively just for video collaboration. But also during site incidents, Hangouts are important because usually —&nbsp;&nbsp;</p> <p><strong>MATT: You&#8217;ll spin one up?</strong></p> <p>HAN: We will spin them up just because we have found that chatting back and forth is usually not fast enough. Hangouts also give us the ability to see what&#8217;s on each other&#8217;s screens. And so during those kinds of events it&#8217;s actually more important to watch an engineer type instead of look at their face, their panicked face. [laughs] So I think that level of collaboration is very, very critical and that&#8217;s when we need to go full real-time but remain distributed. Everything else is probably standard tech text stuff, like Git&#8217;s important, things like that.</p> <p><strong>MATT: Jira, Github, what&#8217;s the —&nbsp;</strong></p> <p>HAN: We use Jira, and then, essentially all the Atlassian stuff like Bitbucket and so on and so forth. We don&#8217;t dictate what the engineers do on their own machines. We have a “bring your own device” policy and so people use different kinds of tools.</p> <p><strong>MATT: Favorite thing about distributed work?</strong></p> <p>HAN: The people you meet.</p> <p><strong>MATT: Least favorite thing?</strong></p> <p>HAN: Miscommunication.</p> <p><strong>MATT: Especially across cultures and languages, right?</strong></p> <p>HAN: Yeah.</p> <p><strong>MATT: Final one. Twenty years from now what percentage of jobs do you think will be distributed?&nbsp;</strong></p> <p>HAN: I think almost all cognitive labor can be distributed. I don&#8217;t know how many companies or what percentage of companies will be fully distributed and I think there will probably be a spectrum of fully distributed companies, like Automattic, and partially distributed companies.&nbsp;</p> <p><strong>MATT: Pick a number over all and we can check it in 20 years.</strong></p> <p>HAN: I would say most companies will be partially distributed. And that maybe 20 percent of companies will be fully distributed.</p> <p><strong>MATT: So that would be 35% of jobs?</strong></p> <p>HAN: Yeah.</p> <p><strong>MATT: Cool. I really appreciate it.</strong></p> <hr class="wp-block-separator"/> <p><strong>MATT: That was Han Yuan from Upwork, and before that you heard Zoe Harte, also from Upwork. You can follow Zoe on Twitter at @ZoeSHarte, that’s Z-O-E-S-H-A-R-T-E. Han’s not on Twitter, but he’s pretty active on LinkedIn — just search for Han-Shen Yuan, that’s H-A-N-S-H-E-N-Y-U-A-N, and you’ll find him.&nbsp;</strong></p> <p><strong>As the world’s largest network of freelancers, Upwork has a big opportunity to define what distributed work looks like in a big, blended company. I’m glad that they have such thoughtful people throughout the organization who are thinking hard about how to create economic opportunity and great work experiences.&nbsp;</strong></p> <p><strong>Next time on the Distributed podcast, we’ll be speaking with someone I’ve been working with for a few years now. John Maeda is an author and a certified design guru, if there is such a thing. He also happens to be the Global Head of Computational Design and Inclusion at Automattic. We’re going to talk about how the distributed model impacts design teams, and about the tools and processes he’s using to foster creativity among them.&nbsp;</strong></p> <p><strong>Thanks for joining us.&nbsp;</strong><br></p> <div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li class="share-twitter"><a rel="nofollow noopener noreferrer" data-shared="sharing-twitter-1896" class="share-twitter sd-button share-icon" href="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/?share=twitter" target="_blank" title="Click to share on Twitter" ><span>Twitter</span></a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer" data-shared="sharing-facebook-1896" class="share-facebook sd-button share-icon" href="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/?share=facebook" target="_blank" title="Click to share on Facebook" ><span>Facebook</span></a></li><li class="share-end"></li></ul></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-161885925-1896-6746a218d3209' data-src='https://widgets.wp.com/likes/?ver=14.1-a.7#blog_id=161885925&amp;post_id=1896&amp;origin=distributed.blog&amp;obj_id=161885925-1896-6746a218d3209&amp;n=1' data-name='like-post-frame-161885925-1896-6746a218d3209' data-title='Like or Reblog'><h3 class="sd-title">Like this:</h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class="loading">Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div> </div><!-- .entry-content --> <footer class="entry-footer default-max-width"> <span class="posted-on"><a href="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/" rel="bookmark"><time class="entry-date published" datetime="2019-07-11T03:00:02-07:00">Jul 11, 2019</time><time class="updated" datetime="2021-08-03T09:35:50-07:00">August 3, 2021</time></a></span> </footer><!-- .entry-footer --> </article><!-- #post-${ID} --> <div id="comments" class="comments-area default-max-width"> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Leave a Reply<small><a rel="nofollow" id="cancel-comment-reply-link" href="/2019/07/11/upwork-hr-engineering-distributed-company/#respond" style="display:none;">Cancel reply</a></small></h3> <form id="commentform" class="comment-form"> <iframe title="Comment Form" src="https://jetpack.wordpress.com/jetpack-comment/?blogid=161885925&#038;postid=1896&#038;comment_registration=0&#038;require_name_email=1&#038;stc_enabled=1&#038;stb_enabled=1&#038;show_avatars=1&#038;avatar_default=identicon&#038;greeting=Leave+a+Reply&#038;jetpack_comments_nonce=b0331e2fa5&#038;greeting_reply=Leave+a+Reply+to+%25s&#038;color_scheme=light&#038;lang=en_US&#038;jetpack_version=14.1-a.7&#038;iframe_unique_id=1&#038;show_cookie_consent=10&#038;has_cookie_consent=0&#038;is_current_user_subscribed=0&#038;token_key=%3Bnormal%3B&#038;sig=9e1e429a63c20a106a34a77647fea7781a3fd5ea#parent=https%3A%2F%2Fdistributed.blog%2F2019%2F07%2F11%2Fupwork-hr-engineering-distributed-company%2F" name="jetpack_remote_comment" style="width:100%; height: 430px; border:0;" class="jetpack_remote_comment" id="jetpack_remote_comment" sandbox="allow-same-origin allow-top-navigation allow-scripts allow-forms allow-popups" > </iframe> <!--[if !IE]><!--> <script> document.addEventListener('DOMContentLoaded', function () { var commentForms = document.getElementsByClassName('jetpack_remote_comment'); for (var i = 0; i < commentForms.length; i++) { commentForms[i].allowTransparency = false; commentForms[i].scrolling = 'no'; } }); </script> <!--<![endif]--> </form> </div> <input type="hidden" name="comment_parent" id="comment_parent" value="" /> </div><!-- #comments --> </main><!-- #main --> </section><!-- #primary --> </div><!-- #content --> <footer id="colophon" class="site-footer default-max-width" role="contentinfo" aria-label="Footer"> <div class="widget-area"> <div class="widget-column footer-widget-1"> <section id="mailchimp-signup-form-2" class="widget widget_mailchimp_signup_form"> <div class="mc_embed_signup"> <form action="https://wordpress.us8.list-manage.com/subscribe/post?u=4471f40dba4ec0e34130a91a5&#038;id=3a5ecba915" method="post" id="mc-embedded-subscribe-form-2" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> <div class="mc_embed_signup_scroll"> <h2 class="widget-title">Subscribe to Our Newsletter</h2> <div class="mc-field-group"> <input type="email" value="" placeholder="Email Address" name="EMAIL" class="required email" id="mce-EMAIL-2"> </div> <div class="mce-submit clear"> <input type="hidden" value="html" name="EMAILTYPE"> <input type="submit" value="Sign Up" name="subscribe" id="mc-embedded-subscribe-2" class="button"> </div> </div> </form> </div> </section><section id="block-2" class="widget widget_block"><p><a href="https://wordpress.com/wp/?partner_domain=distributed.blog&#038;utm_source=Automattic&#038;utm_medium=colophon&#038;utm_campaign=Concierge%20Referral&#038;utm_term=distributed.blog" class="imprint" target="_blank" rel="nofollow">Proudly powered by WordPress. Create your own site at WordPress.com.</a></p> </section> </div> </div><!-- .widget-area --> <div class="site-info"> <a class="site-name" href="https://distributed.blog/" rel="home">Distributed.blog</a><span class="comma">,</span> </div><!-- .site-info --> </footer><!-- #colophon --> </div><!-- #page --> <!-- --> <script defer id="bilmur" data-customproperties="{&quot;woo_active&quot;:&quot;0&quot;}" data-provider="wordpress.com" data-service="atomic" src="https://s0.wp.com/wp-content/js/bilmur.min.js?m=202448"></script> <div class="jetpack-instant-search__widget-area" style="display: none"> </div> <div class="jetpack-subscription-modal"> <div class="jetpack-subscription-modal__modal-content"> <div class="wp-block-group has-border-color jetpack-subscription-modal__modal-content-form" style="border-color:#dddddd;border-width:1px;margin-top:0;margin-bottom:0;padding:32px"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"> <h2 class="wp-block-heading has-text-align-center" style="margin-top:4px;margin-bottom:10px;font-size:26px;font-style:normal;font-weight:600">Discover more from Distributed.blog</h2> <p class='has-text-align-center' style='margin-top:4px;margin-bottom:0px;font-size:15px'>Subscribe now to keep reading and get access to the full archive.</p> <div class="wp-block-jetpack-subscriptions__supports-newline is-style-compact wp-block-jetpack-subscriptions"> <div class="wp-block-jetpack-subscriptions__container is-not-subscriber"> <form action="https://wordpress.com/email-subscriptions" method="post" accept-charset="utf-8" data-blog="161885925" data-post_access_level="everybody" data-subscriber_email="" id="subscribe-blog" > <div class="wp-block-jetpack-subscriptions__form-elements"> <p id="subscribe-email"> <label id="subscribe-field-label" for="subscribe-field" class="screen-reader-text" > Type your email… </label> <input required="required" type="email" name="email" style="font-size: 16px;padding: 15px 23px 15px 23px;border-radius: 50px;border-width: 1px;" placeholder="Type your email…" value="" id="subscribe-field" title="Please fill in this field." /> </p> <p id="subscribe-submit" > <input type="hidden" name="action" value="subscribe"/> <input type="hidden" name="blog_id" value="161885925"/> <input type="hidden" name="source" value="https://distributed.blog/2019/07/11/upwork-hr-engineering-distributed-company/"/> <input type="hidden" name="sub-type" value="subscribe-block"/> <input type="hidden" name="app_source" value="atomic-subscription-modal-lo"/> <input type="hidden" name="redirect_fragment" value="subscribe-blog"/> <input type="hidden" name="lang" value="en_US"/> <input type="hidden" id="_wpnonce" name="_wpnonce" value="76153b5c2b" /><input type="hidden" name="_wp_http_referer" value="/2019/07/11/upwork-hr-engineering-distributed-company/" /><input type="hidden" name="post_id" value="1896"/> <button type="submit" class="wp-block-button__link" style="font-size: 16px;padding: 15px 23px 15px 23px;margin: 0; margin-left: 10px;border-radius: 50px;border-width: 1px;" name="jetpack_subscriptions_widget" > Subscribe </button> </p> </div> </form> </div> </div> <p class="has-text-align-center jetpack-subscription-modal__close" style="margin-top:20px;font-size:14px"><a href="#">Continue reading</a></p> </div></div> </div> </div> <div style="display:none"> <div class="grofile-hash-map-767fc9c115a1b989744c755db47feb60"> </div> </div> <script type="text/javascript"> window.WPCOM_sharing_counts = {"https:\/\/distributed.blog\/2019\/07\/11\/upwork-hr-engineering-distributed-company\/":1896}; </script> <link rel='stylesheet' id='all-css-b0d6b7d7a5fa6c09ac0a91b73201e943' href='https://distributed.blog/wp-content/plugins/jetpack/_inc/blocks/subscriptions/view.css?m=1727160864' type='text/css' media='all' /> <script src="https://www.google.com/recaptcha/api.js?render=6Lc70KsZAAAAAKrFftCHq7PuyPqftsaU3f-pKF0W" id="google-recaptcha-js"></script> <script id="google-recaptcha-js-after"> grecaptcha.ready( function() { grecaptcha.execute( '6Lc70KsZAAAAAKrFftCHq7PuyPqftsaU3f-pKF0W', { action: 'submit' } ).then( function( token ) { document.getElementById( 'recaptcha-response' ).value = token; } ); } ); </script> <script id="record-audio-block-js-extra"> var recordAudioData = {"postId":"1896","apiURL":"https:\/\/distributed.blog\/wp-json\/wp\/v2\/media\/","nonce":"bdb537054c","recaptchaURL":"https:\/\/distributed.blog\/wp-json\/record-audio-block\/v1\/recaptcha_verify\/"}; </script> <script id="coblocks-tinyswiper-initializer-js-extra"> var coblocksTinyswiper = {"carouselPrevButtonAriaLabel":"Previous","carouselNextButtonAriaLabel":"Next","sliderImageAriaLabel":"Image"}; </script> <script type='text/javascript' src='https://distributed.blog/_static/??-eJyVzcEOwiAQBNAfct2okXoxfgsFNFthl8DSRr/eWmN61etk3syUwQlrYMXUIMd2I65YgpPiwTZPAn0Ud8e+UfR4LXMZAvvtUDfTar/QydKu6KkqDmsAlilZJeFf5Ti/SKmoxA+oE+VQ/j592w8FYlKykZ7LzCWdd92+O5yOxpgX1URiVw=='></script> <script src="https://distributed.blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-assets/build/i18n-loader.js?minify=true&amp;ver=becd7d9884bc1b331e45" id="wp-jp-i18n-loader-js"></script> <script id="wp-jp-i18n-loader-js-after"> wp.jpI18nLoader.state = {"baseUrl":"https://distributed.blog/wp-content/languages/","locale":"en_US","domainMap":{"jetpack-admin-ui":"plugins/jetpack","jetpack-assets":"plugins/jetpack","jetpack-backup-pkg":"plugins/jetpack","jetpack-blaze":"plugins/jetpack","jetpack-boost-core":"plugins/jetpack","jetpack-boost-speed-score":"plugins/jetpack","jetpack-classic-theme-helper":"plugins/jetpack","jetpack-compat":"plugins/jetpack","jetpack-config":"plugins/jetpack","jetpack-connection":"plugins/jetpack","jetpack-explat":"plugins/jetpack","jetpack-forms":"plugins/jetpack","jetpack-image-cdn":"plugins/jetpack","jetpack-import":"plugins/jetpack","jetpack-ip":"plugins/jetpack","jetpack-jitm":"plugins/jetpack","jetpack-licensing":"plugins/jetpack","jetpack-masterbar":"plugins/jetpack","jetpack-my-jetpack":"plugins/jetpack","jetpack-password-checker":"plugins/jetpack","jetpack-plugins-installer":"plugins/jetpack","jetpack-post-list":"plugins/jetpack","jetpack-protect-models":"plugins/jetpack","jetpack-protect-status":"plugins/jetpack","jetpack-publicize-pkg":"plugins/jetpack","jetpack-search-pkg":"plugins/jetpack","jetpack-stats":"plugins/jetpack","jetpack-stats-admin":"plugins/jetpack","jetpack-sync":"plugins/jetpack","jetpack-videopress-pkg":"plugins/jetpack","jetpack-waf":"plugins/jetpack","jetpack-wordads":"plugins/jetpack","woocommerce-analytics":"plugins/jetpack"},"domainPaths":{"jetpack-admin-ui":"jetpack_vendor/automattic/jetpack-admin-ui/","jetpack-assets":"jetpack_vendor/automattic/jetpack-assets/","jetpack-backup-pkg":"jetpack_vendor/automattic/jetpack-backup/","jetpack-blaze":"jetpack_vendor/automattic/jetpack-blaze/","jetpack-boost-core":"jetpack_vendor/automattic/jetpack-boost-core/","jetpack-boost-speed-score":"jetpack_vendor/automattic/jetpack-boost-speed-score/","jetpack-classic-theme-helper":"jetpack_vendor/automattic/jetpack-classic-theme-helper/","jetpack-compat":"jetpack_vendor/automattic/jetpack-compat/","jetpack-config":"jetpack_vendor/automattic/jetpack-config/","jetpack-connection":"jetpack_vendor/automattic/jetpack-connection/","jetpack-explat":"jetpack_vendor/automattic/jetpack-explat/","jetpack-forms":"jetpack_vendor/automattic/jetpack-forms/","jetpack-image-cdn":"jetpack_vendor/automattic/jetpack-image-cdn/","jetpack-import":"jetpack_vendor/automattic/jetpack-import/","jetpack-ip":"jetpack_vendor/automattic/jetpack-ip/","jetpack-jitm":"jetpack_vendor/automattic/jetpack-jitm/","jetpack-licensing":"jetpack_vendor/automattic/jetpack-licensing/","jetpack-masterbar":"jetpack_vendor/automattic/jetpack-masterbar/","jetpack-my-jetpack":"jetpack_vendor/automattic/jetpack-my-jetpack/","jetpack-password-checker":"jetpack_vendor/automattic/jetpack-password-checker/","jetpack-plugins-installer":"jetpack_vendor/automattic/jetpack-plugins-installer/","jetpack-post-list":"jetpack_vendor/automattic/jetpack-post-list/","jetpack-protect-models":"jetpack_vendor/automattic/jetpack-protect-models/","jetpack-protect-status":"jetpack_vendor/automattic/jetpack-protect-status/","jetpack-publicize-pkg":"jetpack_vendor/automattic/jetpack-publicize/","jetpack-search-pkg":"jetpack_vendor/automattic/jetpack-search/","jetpack-stats":"jetpack_vendor/automattic/jetpack-stats/","jetpack-stats-admin":"jetpack_vendor/automattic/jetpack-stats-admin/","jetpack-sync":"jetpack_vendor/automattic/jetpack-sync/","jetpack-videopress-pkg":"jetpack_vendor/automattic/jetpack-videopress/","jetpack-waf":"jetpack_vendor/automattic/jetpack-waf/","jetpack-wordads":"jetpack_vendor/automattic/jetpack-wordads/","woocommerce-analytics":"jetpack_vendor/automattic/woocommerce-analytics/"}}; </script> <script type='text/javascript' src='https://distributed.blog/wp-content/plugins/gutenberg/build/url/index.min.js?m=1732304798'></script> <script id="jetpack-instant-search-js-before"> var JetpackInstantSearchOptions=JSON.parse(decodeURIComponent("%7B%22overlayOptions%22%3A%7B%22colorTheme%22%3A%22dark%22%2C%22enableInfScroll%22%3Atrue%2C%22enableFilteringOpensOverlay%22%3Atrue%2C%22enablePostDate%22%3Atrue%2C%22enableSort%22%3Atrue%2C%22highlightColor%22%3A%22%23FFC%22%2C%22overlayTrigger%22%3A%22submit%22%2C%22resultFormat%22%3A%22minimal%22%2C%22showPoweredBy%22%3Atrue%2C%22defaultSort%22%3A%22relevance%22%2C%22excludedPostTypes%22%3A%5B%5D%7D%2C%22homeUrl%22%3A%22https%3A%5C%2F%5C%2Fdistributed.blog%22%2C%22locale%22%3A%22en-US%22%2C%22postsPerPage%22%3A10%2C%22siteId%22%3A161885925%2C%22postTypes%22%3A%7B%22post%22%3A%7B%22singular_name%22%3A%22Post%22%2C%22name%22%3A%22Posts%22%7D%2C%22page%22%3A%7B%22singular_name%22%3A%22Page%22%2C%22name%22%3A%22Pages%22%7D%2C%22attachment%22%3A%7B%22singular_name%22%3A%22Media%22%2C%22name%22%3A%22Media%22%7D%7D%2C%22webpackPublicPath%22%3A%22https%3A%5C%2F%5C%2Fdistributed.blog%5C%2Fwp-content%5C%2Fplugins%5C%2Fjetpack%5C%2Fjetpack_vendor%5C%2Fautomattic%5C%2Fjetpack-search%5C%2Fbuild%5C%2Finstant-search%5C%2F%22%2C%22isPhotonEnabled%22%3Atrue%2C%22isFreePlan%22%3Afalse%2C%22apiRoot%22%3A%22https%3A%5C%2F%5C%2Fdistributed.blog%5C%2Fwp-json%5C%2F%22%2C%22apiNonce%22%3A%22bdb537054c%22%2C%22isPrivateSite%22%3Afalse%2C%22isWpcom%22%3Afalse%2C%22hasOverlayWidgets%22%3Afalse%2C%22widgets%22%3A%5B%5D%2C%22widgetsOutsideOverlay%22%3A%5B%5D%2C%22hasNonSearchWidgets%22%3Afalse%2C%22preventTrackingCookiesReset%22%3Afalse%7D")); </script> <script src="https://distributed.blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&amp;ver=7699f93e2ca878e728dc" id="jetpack-instant-search-js"></script> <script src="//stats.wp.com/w.js?ver=202448" id="jp-tracks-js"></script> <script id="subscription-modal-js-js-extra"> var subscriptionData = {"homeUrl":"distributed.blog"}; </script> <script type='text/javascript' src='https://distributed.blog/_static/??-eJxtjUsOwjAMRC9EGlV8CgvEWUJqFZc4sWKHqrfHIMQCsbPmzRsv7DDH1EYQP4uPhQiyugqc1o4wd7NsFnaxZLXc6w3ImgIwJlAfREDfIlekUFeXwwOnoFh+TU5twmxdUA7x7qmMLcH3o222q8SK/HKd0ZCcHR/8h9r+hc79sO1P+91xODwB6U5MZQ=='></script> <script src="https://secure.gravatar.com/js/gprofiles.js?ver=202448" id="grofiles-cards-js"></script> <script id="wpgroho-js-extra"> var WPGroHo = {"my_hash":""}; </script> <script type='text/javascript' src='https://distributed.blog/wp-content/plugins/jetpack/modules/wpgroho.js?m=1730206540'></script> <script src="https://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=202448" id="devicepx-js"></script> <script type='text/javascript' src='https://distributed.blog/wp-content/plugins/jetpack/_inc/build/likes/queuehandler.min.js?m=1728899916'></script> <script src="https://stats.wp.com/e-202448.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script id="jetpack-stats-js-after"> _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"161885925\",\"post\":\"1896\",\"tz\":\"-8\",\"srv\":\"distributed.blog\",\"hp\":\"atomic\",\"ac\":\"2\",\"amp\":\"0\",\"j\":\"1:14.1-a.7\"}") ]); _stq.push([ "clickTrackerInit", "161885925", "1896" ]); </script> <script defer type='text/javascript' src='https://distributed.blog/wp-content/plugins/akismet/_inc/akismet-frontend.js?m=1704837122'></script> <script id="jetpack-blocks-assets-base-url-js-before"> var Jetpack_Block_Assets_Base_Url="https://distributed.blog/wp-content/plugins/jetpack/_inc/blocks/"; </script> <script type='text/javascript' src='https://distributed.blog/wp-content/plugins/jetpack/_inc/blocks/subscriptions/view.js?m=1725287658'></script> <script id="sharing-js-js-extra"> var sharing_js_options = {"lang":"en","counts":"1","is_stats_active":"1"}; </script> <script src="https://distributed.blog/wp-content/plugins/jetpack/_inc/build/sharedaddy/sharing.min.js?ver=14.1-a.7" id="sharing-js-js"></script> <script id="sharing-js-js-after"> var windowOpen; ( function () { function matches( el, sel ) { return !! ( el.matches && el.matches( sel ) || el.msMatchesSelector && el.msMatchesSelector( sel ) ); } document.body.addEventListener( 'click', function ( event ) { if ( ! event.target ) { return; } var el; if ( matches( event.target, 'a.share-twitter' ) ) { el = event.target; } else if ( event.target.parentNode && matches( event.target.parentNode, 'a.share-twitter' ) ) { el = event.target.parentNode; } if ( el ) { event.preventDefault(); // If there's another sharing window open, close it. if ( typeof windowOpen !== 'undefined' ) { windowOpen.close(); } windowOpen = window.open( el.getAttribute( 'href' ), 'wpcomtwitter', 'menubar=1,resizable=1,width=600,height=350' ); return false; } } ); } )(); var windowOpen; ( function () { function matches( el, sel ) { return !! ( el.matches && el.matches( sel ) || el.msMatchesSelector && el.msMatchesSelector( sel ) ); } document.body.addEventListener( 'click', function ( event ) { if ( ! event.target ) { return; } var el; if ( matches( event.target, 'a.share-facebook' ) ) { el = event.target; } else if ( event.target.parentNode && matches( event.target.parentNode, 'a.share-facebook' ) ) { el = event.target.parentNode; } if ( el ) { event.preventDefault(); // If there's another sharing window open, close it. if ( typeof windowOpen !== 'undefined' ) { windowOpen.close(); } windowOpen = window.open( el.getAttribute( 'href' ), 'wpcomfacebook', 'menubar=1,resizable=1,width=600,height=400' ); return false; } } ); } )(); </script> <script> /(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1); </script> <iframe src='https://widgets.wp.com/likes/master.html?ver=20241127#ver=20241127&#038;n=1' scrolling='no' id='likes-master' name='likes-master' style='display:none;'></iframe> <div id='likes-other-gravatars' class='wpl-new-layout' role="dialog" aria-hidden="true" tabindex="-1"><div class="likes-text"><span>%d</span></div><ul class="wpl-avatars sd-like-gravatars"></ul></div> <script type="text/javascript"> (function () { const iframe = document.getElementById( 'jetpack_remote_comment' ); const watchReply = function() { // Check addComment._Jetpack_moveForm to make sure we don't monkey-patch twice. if ( 'undefined' !== typeof addComment && ! addComment._Jetpack_moveForm ) { // Cache the Core function. addComment._Jetpack_moveForm = addComment.moveForm; const commentParent = document.getElementById( 'comment_parent' ); const cancel = document.getElementById( 'cancel-comment-reply-link' ); function tellFrameNewParent ( commentParentValue ) { const url = new URL( iframe.src ); if ( commentParentValue ) { url.searchParams.set( 'replytocom', commentParentValue ) } else { url.searchParams.delete( 'replytocom' ); } if( iframe.src !== url.href ) { iframe.src = url.href; } }; cancel.addEventListener( 'click', function () { tellFrameNewParent( false ); } ); addComment.moveForm = function ( _, parentId ) { tellFrameNewParent( parentId ); return addComment._Jetpack_moveForm.apply( null, arguments ); }; } } document.addEventListener( 'DOMContentLoaded', watchReply ); // In WP 6.4+, the script is loaded asynchronously, so we need to wait for it to load before we monkey-patch the functions it introduces. document.querySelector('#comment-reply-js')?.addEventListener( 'load', watchReply ); const commentIframes = document.getElementsByClassName('jetpack_remote_comment'); window.addEventListener('message', function(event) { if (event.origin !== 'https://jetpack.wordpress.com') { return; } if (!event?.data?.iframeUniqueId && !event?.data?.height) { return; } const eventDataUniqueId = event.data.iframeUniqueId; // Change height for the matching comment iframe for (let i = 0; i < commentIframes.length; i++) { const iframe = commentIframes[i]; const url = new URL(iframe.src); const iframeUniqueIdParam = url.searchParams.get('iframe_unique_id'); if (iframeUniqueIdParam == event.data.iframeUniqueId) { iframe.style.height = event.data.height + 'px'; return; } } }); })(); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10