{"id":4820,"date":"2019-10-20T18:53:56","date_gmt":"2019-10-21T01:53:56","guid":{"rendered":"https:\/\/knowyourteam.com\/blog\/?p=4820"},"modified":"2021-04-08T20:35:40","modified_gmt":"2021-04-09T03:35:40","slug":"good-process-vs-bad-process","status":"publish","type":"post","link":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/","title":{"rendered":"Good Process vs. Bad process"},"content":{"rendered":"\n<p>The vast majority of engineers I have worked with are somewhat control-freaks. It\u2019s something that\u2019s hard to avoid when your job basically revolves around just two things: shipping features and preventing things from crashing. In the process of doing these two things well, we create best practices like code review, code conventions, performance practices, test-driven development, etc. The problem is that after you do these things long enough, the idea of following &#8220;best practices&#8221; starts to creep into everything you do, not just code.<\/p>\n\n\n\n<p>All these practices come from the right place. Coding is complicated, and you are trying to avoid chaos. We come up with these rules to prepare for when the codebase grows or when the team grows.<\/p>\n\n\n\n<ul><li>You can\u2019t merge code into master without a PR review.<\/li><li>You can\u2019t deploy without waiting for the CI to finish.<\/li><li>You can\u2019t deploy without QA approval.<\/li><li>You can\u2019t work on this task before the PM approves.<\/li><li>You can\u2019t work on that before the Sprint Planning (it will affect Velocity)<\/li><li>You can\u2019t fix that now; it\u2019s not an OKR.<\/li><li>You can\u2019t deploy on Fridays.<\/li><\/ul>\n\n\n\n<p>These are all mechanisms to avoid mistakes, and it&#8217;s all very mature. The problem is that trying to avoid every mistake will also affect agility. Most teams curtail (employee) freedom as they get bigger to prevent errors, it\u2019s almost an inevitable trade-off.&nbsp;<\/p>\n\n\n\n<p>The problem is that things quickly escalate from day-to-day programming processes to the high-level organizational process as engineers become managers. Eventually, almost every company turns into a slow-moving bureaucratic place, and it\u2019s a hard-to-avoid boiling frog situation. Things start to slow down, but you can&#8217;t tell when and how it began. Bureaucracy creeps in little by little before people can notice. Someone makes a mistake here, the team has a retrospective meeting, then the team (or just the manager) comes up with a way to avoid it, and a new rule is born.<\/p>\n\n\n\n<p>Here\u2019s the step by how it goes: Desire for our output increases -&gt; the team grows -&gt; team get more things built -&gt; complexity increases -&gt; chaos emerge -&gt; mistakes happen -&gt; people get pissed -&gt; people leave -&gt; process emerge to stop chaos = It\u2019s time to grow up, and process feels good compared to chaos.<\/p>\n\n\n\n<p>Give enough time, and most nimble startups will eventually devolve into a slow, tedious enterprise that can&#8217;t put out software anymore.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-process-has-nice-short-term-benefits\"><strong>Process has nice short term benefits:<\/strong><\/h3>\n\n\n\n<ul><li>Minimal thinking required<\/li><li>Easier to onboard people<\/li><li>Few mistakes made &#8211; very efficient<\/li><li>Easier to predict and easier to estimate outcomes<\/li><\/ul>\n\n\n\n<p>But also come with side-effects:<\/p>\n\n\n\n<ul><li>Efficiency trumps flexibility.<\/li><li>Lack of flexibility frustrates innovators.<\/li><li>Adherence to process reduces personal responsibility.<\/li><li>Very optimized for the existing team and market.<\/li><li>Experienced people get frustrated\/bored with low impact and leave.<\/li><li>Beginners join at a much higher ratio (minimal think required and clear step-by-step rules make them somewhat efficient).<\/li><\/ul>\n\n\n\n<p>Over time, the market will shift, and the company won\u2019t be able to adapt quickly anymore because the employees are great at following the process. You feel like things are moving much slower than they should be.<\/p>\n\n\n\n<p>On very few occasions, I\u2019ve had the pleasure of experiencing the total opposite. Working at a small team where everyone trusts each other\u2019s skills and is so aligned in the overall direction that they end up outperforming much larger organizations.<\/p>\n\n\n\n<p>In my experience, the reason smaller teams could outperform much larger ones was always that the % of high-performance employees grew faster than the complexity of the problem\/business. The problem is that you can only attract really high-performance employees and keep them for a long time at a startup if you can:<\/p>\n\n\n\n<ul><li>Provide freedom.<\/li><li>Provide a chance for big impact.<\/li><li>Provide a challenging environment.<\/li><li>Provide top of market compensation.<\/li><\/ul>\n\n\n\n<p>With the right ratio of high-performance employees, you can optimize for freedom by drastically reducing process simply because high-performance employees commit fewer mistakes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-bad-process-vs-good-process\"><strong>Bad process vs. good process<\/strong><\/h3>\n\n\n\n<p>But not all process is a bad process. Bad process is designed to distribute responsibility, keep track of people, and _try_ to prevent recoverable errors. Here are some examples:<\/p>\n\n\n\n<ul><li>Multi-level approval for projects.<\/li><li>Get ten people to interview a candidate.<\/li><li>Not allow deploying the smallest changes without QA review.<\/li><li>Not allowing merges on master branch without another programmer approval.<\/li><li>Not allow an employee to deploy on Friday even if the person is willing to be on-call to cover any issues.<\/li><li>Daily standup at 9 AM every day because you can\u2019t trust people to get stuff done if they are not in the office from 9 to 5.<\/li><li>Or daily stand-ups to catch problems, even though the vast majority of time problems don&#8217;t get raised during the meeting.<\/li><li>Two-week sprints to tell people what to do.<\/li><\/ul>\n\n\n\n<p>A good process, on the other hand, is designed to maximize freedom by creating alignment and sharing context. Example:<\/p>\n\n\n\n<ul><li>Regularly high-level strategy meetings to keep everyone aligned.<\/li><li>Regularly sharing context on what you are currently working on (but in a way that doesn\u2019t interrupt everyone&#8217;s workflow and with only relevant people).<\/li><li>Letting others know when you are updating code that might overlap with someone else.<\/li><li>A minimum overlap of certain # of hours when working remotely.<\/li><li>Regular 1-on-1s to think through things to be improved and share context.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-the-case-for-rigidity-and-process\"><strong>The case for rigidity and process:<\/strong><\/h3>\n\n\n\n<p>Not all mistakes are created equal. Some things are disastrous, and you can\u2019t recover from (ex: ethical issues, security, data loss). For those, you should have a ton of process around, but in creative environments, the vast majority of problems are recoverable as long as you can be fast at fixing them. It takes much more effort to try to prevent all issues, then fixing the few mistakes made (especially when you have a more senior team).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-long-story-short\"><strong>Long story short<\/strong><\/h3>\n\n\n\n<p>You can move quite fast if you:<\/p>\n\n\n\n<ul><li>1st &#8211; don\u2019t try to prevent recoverable mistakes<\/li><li>2nd &#8211; reduce the number of errors by having mostly high-performance employees (<a href=\"https:\/\/a16z.com\/2011\/04\/14\/peacetime-ceowartime-ceo-2\/\">especially helpful for early-stage products or tough times<\/a>)<\/li><li>3rd &#8211; maximize for freedom, responsibility, and creativity instead of control.<\/li><li>4th &#8211; trust that high-performance employees will do their work well.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>\u26a1\ufe0f&nbsp;<em>Our software,&nbsp;<\/em><a rel=\"noreferrer noopener\" href=\"http:\/\/knowyourteam.com\/m\/features\/?utm_source=blog&amp;utm_medium=cta\" target=\"_blank\"><em>Know Your Team<\/em><\/a><em>,&nbsp;<\/em><strong><em>helps you nail the fundamentals of business and leadership:<\/em><\/strong><em>&nbsp;We help you&nbsp;<\/em><strong><em>run&nbsp;<\/em><\/strong><a rel=\"noreferrer noopener\" href=\"https:\/\/knowyourteam.com\/m\/features\/one_on_ones\/?utm_source=blog&amp;utm_medium=cta\" target=\"_blank\"><strong><em>effective one-on-one meetings<\/em><\/strong><\/a><strong><em>, get&nbsp;<\/em><\/strong><a rel=\"noreferrer noopener\" href=\"https:\/\/knowyourteam.com\/m\/features\/culture_questions\/?utm_source=blog&amp;utm_medium=cta\" target=\"_blank\"><strong><em>honest feedback<\/em><\/strong><\/a><strong><em>, share&nbsp;<\/em><\/strong><a rel=\"noreferrer noopener\" href=\"https:\/\/knowyourteam.com\/m\/features\/heartbeats\/?utm_source=blog&amp;utm_medium=cta;\" target=\"_blank\"><strong><em>team progress<\/em><\/strong><\/a><strong><em>, and&nbsp;<\/em><\/strong><a rel=\"noreferrer noopener\" href=\"https:\/\/knowyourteam.com\/m\/features\/social_questions\/?utm_source=blog&amp;utm_medium=cta\" target=\"_blank\"><strong><em>build team rapport<\/em><\/strong><\/a><strong><em>.<\/em><\/strong><em>&nbsp;Try&nbsp;<\/em><a rel=\"noreferrer noopener\" href=\"http:\/\/knowyourteam.com\/m\/features\/?utm_source=blog&amp;utm_medium=cta\" target=\"_blank\"><em>Know Your Team<\/em><\/a><em>&nbsp;for free, yourself, today.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The vast majority of engineers I have worked with are somewhat control-freaks. It\u2019s something that\u2019s hard to avoid when your job basically revolves around just two things: shipping features and preventing things from crashing. In the process of doing these two things well, we create best practices like code review, code conventions, performance practices, test-driven&hellip; <\/p>\n<p><a class=\"moretag\" href=\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/\">Read the full article<\/a><\/p>\n","protected":false},"author":1,"featured_media":4764,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"episode_type":"","audio_file":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","filesize_raw":"","footnotes":""},"categories":[112],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.1 (Yoast SEO v22.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Good Process vs. Bad process - Canopy | Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Good Process vs. Bad process\" \/>\n<meta property=\"og:description\" content=\"The vast majority of engineers I have worked with are somewhat control-freaks. It\u2019s something that\u2019s hard to avoid when your job basically revolves around\" \/>\n<meta property=\"og:url\" content=\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/\" \/>\n<meta property=\"og:site_name\" content=\"Canopy | Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/knowyourteamhq\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-21T01:53:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-09T03:35:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"703\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"danielvlopes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@KnowYourTeamHQ\" \/>\n<meta name=\"twitter:site\" content=\"@KnowYourTeamHQ\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"danielvlopes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/\"},\"author\":{\"name\":\"danielvlopes\",\"@id\":\"https:\/\/canopy.is\/blog\/#\/schema\/person\/16d5725a4867d525c12220a09f5b325f\"},\"headline\":\"Good Process vs. Bad process\",\"datePublished\":\"2019-10-21T01:53:56+00:00\",\"dateModified\":\"2021-04-09T03:35:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/\"},\"wordCount\":1100,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/canopy.is\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png\",\"articleSection\":[\"Building Canopy\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/\",\"url\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/\",\"name\":\"Good Process vs. Bad process - Canopy | Blog\",\"isPartOf\":{\"@id\":\"https:\/\/canopy.is\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png\",\"datePublished\":\"2019-10-21T01:53:56+00:00\",\"dateModified\":\"2021-04-09T03:35:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#primaryimage\",\"url\":\"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png\",\"contentUrl\":\"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png\",\"width\":2000,\"height\":703,\"caption\":\"One-on-one meetings with direct reports\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/canopy.is\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Good Process vs. Bad process\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/canopy.is\/blog\/#website\",\"url\":\"https:\/\/canopy.is\/blog\/\",\"name\":\"Canopy | Blog\",\"description\":\"Thoughts on how to become a better leader, and avoid being a bad boss.\",\"publisher\":{\"@id\":\"https:\/\/canopy.is\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/canopy.is\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/canopy.is\/blog\/#organization\",\"name\":\"Know Your Team\",\"url\":\"https:\/\/canopy.is\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/canopy.is\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/knowyourteam.com\/blog\/wp-content\/uploads\/2018\/12\/Artboard-1@2x.png\",\"contentUrl\":\"https:\/\/knowyourteam.com\/blog\/wp-content\/uploads\/2018\/12\/Artboard-1@2x.png\",\"width\":1024,\"height\":1024,\"caption\":\"Know Your Team\"},\"image\":{\"@id\":\"https:\/\/canopy.is\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/knowyourteamhq\",\"https:\/\/twitter.com\/KnowYourTeamHQ\",\"https:\/\/www.instagram.com\/knowyourteamhq\/\",\"https:\/\/www.youtube.com\/channel\/UCLmMSaIY8JfjiJnwYSfYeuA\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/canopy.is\/blog\/#\/schema\/person\/16d5725a4867d525c12220a09f5b325f\",\"name\":\"danielvlopes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/canopy.is\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/525dbfd4f4a07dabc7f7396d9cfb22ad?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/525dbfd4f4a07dabc7f7396d9cfb22ad?s=96&r=g\",\"caption\":\"danielvlopes\"},\"url\":\"https:\/\/canopy.is\/blog\/author\/danielvlopes\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Good Process vs. Bad process - Canopy | Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/","og_locale":"en_US","og_type":"article","og_title":"Good Process vs. Bad process","og_description":"The vast majority of engineers I have worked with are somewhat control-freaks. It\u2019s something that\u2019s hard to avoid when your job basically revolves around","og_url":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/","og_site_name":"Canopy | Blog","article_publisher":"https:\/\/www.facebook.com\/knowyourteamhq","article_published_time":"2019-10-21T01:53:56+00:00","article_modified_time":"2021-04-09T03:35:40+00:00","og_image":[{"width":2000,"height":703,"url":"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png","type":"image\/png"}],"author":"danielvlopes","twitter_card":"summary_large_image","twitter_creator":"@KnowYourTeamHQ","twitter_site":"@KnowYourTeamHQ","twitter_misc":{"Written by":"danielvlopes","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#article","isPartOf":{"@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/"},"author":{"name":"danielvlopes","@id":"https:\/\/canopy.is\/blog\/#\/schema\/person\/16d5725a4867d525c12220a09f5b325f"},"headline":"Good Process vs. Bad process","datePublished":"2019-10-21T01:53:56+00:00","dateModified":"2021-04-09T03:35:40+00:00","mainEntityOfPage":{"@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/"},"wordCount":1100,"commentCount":0,"publisher":{"@id":"https:\/\/canopy.is\/blog\/#organization"},"image":{"@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#primaryimage"},"thumbnailUrl":"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png","articleSection":["Building Canopy"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/","url":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/","name":"Good Process vs. Bad process - Canopy | Blog","isPartOf":{"@id":"https:\/\/canopy.is\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#primaryimage"},"image":{"@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#primaryimage"},"thumbnailUrl":"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png","datePublished":"2019-10-21T01:53:56+00:00","dateModified":"2021-04-09T03:35:40+00:00","breadcrumb":{"@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#primaryimage","url":"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png","contentUrl":"https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png","width":2000,"height":703,"caption":"One-on-one meetings with direct reports"},{"@type":"BreadcrumbList","@id":"https:\/\/canopy.is\/blog\/2019\/10\/20\/good-process-vs-bad-process\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/canopy.is\/blog\/"},{"@type":"ListItem","position":2,"name":"Good Process vs. Bad process"}]},{"@type":"WebSite","@id":"https:\/\/canopy.is\/blog\/#website","url":"https:\/\/canopy.is\/blog\/","name":"Canopy | Blog","description":"Thoughts on how to become a better leader, and avoid being a bad boss.","publisher":{"@id":"https:\/\/canopy.is\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/canopy.is\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/canopy.is\/blog\/#organization","name":"Know Your Team","url":"https:\/\/canopy.is\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/canopy.is\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/knowyourteam.com\/blog\/wp-content\/uploads\/2018\/12\/Artboard-1@2x.png","contentUrl":"https:\/\/knowyourteam.com\/blog\/wp-content\/uploads\/2018\/12\/Artboard-1@2x.png","width":1024,"height":1024,"caption":"Know Your Team"},"image":{"@id":"https:\/\/canopy.is\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/knowyourteamhq","https:\/\/twitter.com\/KnowYourTeamHQ","https:\/\/www.instagram.com\/knowyourteamhq\/","https:\/\/www.youtube.com\/channel\/UCLmMSaIY8JfjiJnwYSfYeuA"]},{"@type":"Person","@id":"https:\/\/canopy.is\/blog\/#\/schema\/person\/16d5725a4867d525c12220a09f5b325f","name":"danielvlopes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/canopy.is\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/525dbfd4f4a07dabc7f7396d9cfb22ad?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/525dbfd4f4a07dabc7f7396d9cfb22ad?s=96&r=g","caption":"danielvlopes"},"url":"https:\/\/canopy.is\/blog\/author\/danielvlopes\/"}]}},"rttpg_featured_image_url":{"full":["https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png",2000,703,false],"landscape":["https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png",2000,703,false],"portraits":["https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png",2000,703,false],"thumbnail":["https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1-150x150.png",150,150,true],"medium":["https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1-300x105.png",300,105,true],"large":["https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1-1024x360.png",1024,360,true],"1536x1536":["https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png",1536,540,false],"2048x2048":["https:\/\/canopy.is\/blog\/wp-content\/uploads\/2019\/10\/five-mistakes-one-on-ones-1.png",2000,703,false]},"rttpg_author":{"display_name":"danielvlopes","author_link":"https:\/\/canopy.is\/blog\/author\/danielvlopes\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/canopy.is\/blog\/category\/building-kyt\/\" rel=\"category tag\">Building Canopy<\/a>","rttpg_excerpt":"The vast majority of engineers I have worked with are somewhat control-freaks. It\u2019s something that\u2019s hard to avoid when your job basically revolves around just two things: shipping features and preventing things from crashing. In the process of doing these two things well, we create best practices like code review, code conventions, performance practices, test-driven&hellip;&hellip;","_links":{"self":[{"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/posts\/4820"}],"collection":[{"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/comments?post=4820"}],"version-history":[{"count":0,"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/posts\/4820\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/media\/4764"}],"wp:attachment":[{"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/media?parent=4820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/categories?post=4820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/canopy.is\/blog\/wp-json\/wp\/v2\/tags?post=4820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}