{"id":11876,"date":"2017-09-13T18:58:39","date_gmt":"2017-09-13T23:58:39","guid":{"rendered":"https:\/\/stackify.com\/?p=11876"},"modified":"2024-06-21T05:30:49","modified_gmt":"2024-06-21T05:30:49","slug":"pair-programming-styles","status":"publish","type":"post","link":"https:\/\/stackify.com\/pair-programming-styles\/","title":{"rendered":"Compare 6 Different Pair Programming Styles"},"content":{"rendered":"<p>The world of professional programming produces some pretty intense debates. \u00a0For example, take a look at discussions about whether and how to comment code. \u00a0We have a hard time settling such debates because studying professional programming scientifically is hard. \u00a0We can&#8217;t really ask major companies to build the same software twice, using one control group and one experimental group. \u00a0So we muddle through with lots of anecdotes and opinions and relatively scant empirical data. \u00a0Because of this conundrum, I want to talk today about pair programming styles rather than taking a stance on whether you should pair program or not.<\/p>\n<p>I&#8217;ve talked previously about <a href=\"https:\/\/stackify.com\/pair-programming-benefits\/\">the benefits of pair programming<\/a>\u00a0from the business&#8217;s perspective. \u00a0But I concluded that post the same way that I&#8217;m introducing this one. \u00a0You\u00a0<em>can<\/em> realize benefits, but you have to evaluate whether it makes sense for you or not. \u00a0To make a good evaluation, you should understand the different pair programming styles and how they work.<\/p>\n<p>That&#8217;s right. \u00a0Pair programming involves more than just throwing two people together and telling them to go nuts. \u00a0Over the years, practitioners have developed techniques to employ in different situations. \u00a0Through practice and experimentation, they have improved upon and refined these techniques.<\/p>\n<h3>The Effect of Proficiency on Pair Programming Styles<\/h3>\n<p>Before looking at the actual protocols, let&#8217;s take a brief detour through the idea of varied developer skill levels. \u00a0Although we have a <a href=\"https:\/\/morethancoding.com\/2013\/08\/20\/understanding-software-engineering-job-titles\/\">seemingly unique penchant<\/a> for expressing our skill granularly, I&#8217;ll offer just two developer skill levels: novice and expert. \u00a0I know, I know. \u00a0But those two will keep complexity to a minimum and serve well for explaining the different pairing models.<\/p>\n<p>With our two skill levels in mind, consider the three possible pairing combinations:<\/p>\n<ul>\n<li>Expert-Expert<\/li>\n<li>Expert-Novice<\/li>\n<li>Novice-Novice<\/li>\n<\/ul>\n<p>Now when I talk about expertise here, bear in mind that this accounts for context and not just general industry experience. \u00a0Tech stack, codebase familiarity, and even domain knowledge matter here. \u00a0I have two CS degrees and years of experience in several OOP languages. \u00a0But if I onboarded with your <a href=\"https:\/\/golang.org\/\">GoLang<\/a> team tomorrow, you could put me safely in the novice camp until I got my bearings.<\/p>\n<p>Each of these pairing models has its advantages and disadvantages. \u00a0Sometimes, however, fate may force your hand, depending on who is available. \u00a0Understanding the different pairing models will help you be effective when it does. \u00a0It also bears mentioning that novice-novice pairings offer a great deal of learning for both novices but with risk. \u00a0Therefore, the suitability of such a pairing depends more on your appetite for risk than the pairing model.<\/p>\n<p><!--more--><\/p>\n<h3>Unstructured Pairing<\/h3>\n<p>Imagine pair programming the first time it happened. \u00a0Alice wandered over to Bob&#8217;s cubicle and said, &#8220;Hey, let&#8217;s work on this FORTRAN together.&#8221;<\/p>\n<p>All right, so that little story might be apocryphal, but imagine how it might go. \u00a0Alice and Bob\u00a0are used to programming as a solitary pursuit, decide to put their heads together one day. \u00a0They don&#8217;t necessarily know any techniques for\u00a0programmer collaboration, so they wing it and try to help each other.<\/p>\n<p>That qualifies as the first collaboration paradigm I&#8217;ll list. \u00a0If that seems fatuous, you&#8217;re missing the lesson here. \u00a0Knowing some techniques to try,\u00a0definitely helps, but don&#8217;t paralyze yourself with analysis. \u00a0If you want to get started, trial and error can go a long way. \u00a0Just as the pairing techniques below evolved via trial and error, your own need to as well.<\/p>\n<p>But also understand that limits exist to what constitutes pairing. \u00a0It involves two checked-in minds and a single computer, so you are programming while your partner checks her email doesn&#8217;t qualify. \u00a0But your technique can vary according to taste, using\u00a0questions like &#8220;One keyboard or two?&#8221; and &#8220;Who types and when?&#8221;<\/p>\n<h3>Driver-Navigator<\/h3>\n<p>In terms of established styles, let&#8217;s look first at driver-navigator. \u00a0This arguably constitutes the <em>most<\/em> established style.<\/p>\n<p>It derives its name from the way two travelers might negotiate a car trip through unfamiliar territory. \u00a0The driver focuses on tactical concerns related to the mechanics of the activity. \u00a0This includes operating the gas and brakes, turning the wheel, and keeping an eye out for obstacles and other cars. \u00a0The navigator, on the other hand, thinks more about the big picture. \u00a0How long will we be on this highway before we need to exit? \u00a0Does my phone warn me of any unexpected traffic jams?<\/p>\n<p>Apply the metaphor to programming, and the driver handles typing, navigating between files, and basic implementation. \u00a0The navigator, on the other hand, looks at broader concerns and checks for mistakes. \u00a0Does this method fit with the architecture? \u00a0Are we potentially duplicating an implementation from elsewhere? \u00a0 Are we in a blind alley?<\/p>\n<p>Driver-navigator works quite well with two experts, who may trade roles. \u00a0It also works nicely with an expert and a novice. \u00a0This happens most easily when the expert navigates because a novice navigator might sit passively while the expert fills both roles.<\/p>\n<h3>Backseat Navigator<\/h3>\n<p>Next up in our pair programming styles, consider the backseat navigator. \u00a0This protocol\u00a0looks like driver-navigator but with the navigator taking over more of the tactical as well as the strategic (reminiscent of a backseat driver).<\/p>\n<p>Like driver-navigator, the driver sits with his hands on the keyboard and executes the mechanics of typing and such. \u00a0But unlike driver-navigator, his partner dictates tactical instructions. \u00a0This might mean that she tells the driver when to create a method or open a new file. \u00a0She might also tell him what to name a test or a variable.<\/p>\n<p>This style works best with novice-expert pairings with novice as driver. \u00a0It gives the novice a chance to learn by doing things the way the expert would.<\/p>\n<h3>Tour Guide<\/h3>\n<p>Another style that works best with expert-novice is the tour guide. \u00a0Again, the driving metaphor helps a good bit here.<\/p>\n<p>Think of going on vacation somewhere and taking a local tour. \u00a0The driver climbs into the van or bus, starts driving, and tells you about everything he&#8217;s doing and about everything that you&#8217;re seeing. \u00a0You have a very passive role.<\/p>\n<p>So it goes with the tour guide pair programming protocol. \u00a0The driver does the strategic and tactical thinking, along with the typing. \u00a0As she does this, she tells the &#8220;tourist&#8221; about what she&#8217;s doing. \u00a0The tourist rarely intervenes.<\/p>\n<p>This works with expert driver and novice tourist, particularly in cases of a brand new novice. \u00a0But it also can work well flipped. \u00a0Sit a novice down and let him flail at the problem a bit while an expert observes. \u00a0The expert then provides feedback and correction, and they repeat.<\/p>\n<h3>Ping-Pong Pairing<\/h3>\n<p>You can&#8217;t complete a serious study of pair programming styles without looking at <a href=\"http:\/\/wiki.c2.com\/?PairProgrammingPingPongPattern\">ping-pong pairing<\/a>. \u00a0This style has an interesting differentiating factor from the rest.<\/p>\n<p>To understand, consider that pair programming comes from <a href=\"http:\/\/www.extremeprogramming.org\/\">the extreme programming movement<\/a>. \u00a0Those folks love pair programming as well as certain other practices, such as <a href=\"http:\/\/www.extremeprogramming.org\/\">unit testing<\/a>. \u00a0So when you encounter an extreme programmer, you can safely assume that she likes to pair and likes to practice <a href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\">test-driven development (TDD)<\/a>.<\/p>\n<p>The cadence works simply enough. \u00a0The first person writes a failing test and the second person gets it to pass. \u00a0Then the second person writes a failing test and the first person gets it to path. \u00a0Back and forth, back and forth. \u00a0Kind of like a game of ping pong.<\/p>\n<p>This style works exceptionally well with two experts (particularly when that expertise includes TDD). \u00a0It also goes quite smoothly with the novice-expert pairing. \u00a0And interestingly enough, it might go best with novice-novice pairing, when the goal is getting the novices some practice. \u00a0All of these go so smoothly (notwithstanding any interpersonal issues) because the two switch roles so frequently as to think together constantly.<\/p>\n<h3>Distributed<\/h3>\n<p>I&#8217;ll close by offering a sort of &#8220;unofficial&#8221; pairing model. \u00a0But this pairing model likely holds the key to the future in an increasingly global, distributed world. \u00a0I&#8217;m talking about distributed pairing.<\/p>\n<p>Extreme programming got its start in the 90s. \u00a0At that time, remote work involved Citrix and dial-up modems. \u00a0In other words, you didn&#8217;t do collaborative programming work anywhere but in person. \u00a0But fast forward 20 years, and the mandate for colocation has subsided with the rise of technology. \u00a0You can use something like <a href=\"https:\/\/screenhero.com\/\">Screen Hero<\/a> to collaborate pretty seamlessly. \u00a0Obviously, in-person collaboration still happens more efficiently, but technology has seriously closed the gap. \u00a0And the logistical benefit to letting people collaborate from anywhere is undeniable.<\/p>\n<p>I believe the future of pair programming styles will involve the tried-and-true techniques. \u00a0But I think the distributed one will get more than a single section. \u00a0The preceding sections involve techniques that people have created and refined over time. \u00a0In 20 years, I suspect that we&#8217;ll see some pretty clever and sophisticated remote pair programming styles.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The world of professional programming produces some pretty intense debates. \u00a0For example, take a look at discussions about whether and how to comment code. \u00a0We have a hard time settling such debates because studying professional programming scientifically is hard. \u00a0We can&#8217;t really ask major companies to build the same software twice, using one control group [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":38220,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7],"tags":[],"class_list":["post-11876","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developers"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v25.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Compare 6 Different Pair Programming Styles - Stackify<\/title>\n<meta name=\"description\" content=\"Pair programming styles have evolved over the years. Take a look at some different styles to make use of this software development technique.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/stackify.com\/pair-programming-styles\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Compare 6 Different Pair Programming Styles - Stackify\" \/>\n<meta property=\"og:description\" content=\"Pair programming styles have evolved over the years. Take a look at some different styles to make use of this software development technique.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stackify.com\/pair-programming-styles\/\" \/>\n<meta property=\"og:site_name\" content=\"Stackify\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Stackify\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-09-13T23:58:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-21T05:30:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"881\" \/>\n\t<meta property=\"og:image:height\" content=\"456\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Erik Dietrich\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@stackify\" \/>\n<meta name=\"twitter:site\" content=\"@stackify\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Erik Dietrich\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/stackify.com\/pair-programming-styles\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/stackify.com\/pair-programming-styles\/\"},\"author\":{\"name\":\"Erik Dietrich\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/4eb4876b2d07f2456290a72bc4fcfc65\"},\"headline\":\"Compare 6 Different Pair Programming Styles\",\"datePublished\":\"2017-09-13T23:58:39+00:00\",\"dateModified\":\"2024-06-21T05:30:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/stackify.com\/pair-programming-styles\/\"},\"wordCount\":1456,\"publisher\":{\"@id\":\"https:\/\/stackify.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/pair-programming-styles\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg\",\"articleSection\":[\"Developer Tips, Tricks &amp; Resources\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/stackify.com\/pair-programming-styles\/\",\"url\":\"https:\/\/stackify.com\/pair-programming-styles\/\",\"name\":\"Compare 6 Different Pair Programming Styles - Stackify\",\"isPartOf\":{\"@id\":\"https:\/\/stackify.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/stackify.com\/pair-programming-styles\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/pair-programming-styles\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg\",\"datePublished\":\"2017-09-13T23:58:39+00:00\",\"dateModified\":\"2024-06-21T05:30:49+00:00\",\"description\":\"Pair programming styles have evolved over the years. Take a look at some different styles to make use of this software development technique.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/stackify.com\/pair-programming-styles\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/pair-programming-styles\/#primaryimage\",\"url\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg\",\"contentUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg\",\"width\":881,\"height\":456},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/stackify.com\/#website\",\"url\":\"https:\/\/stackify.com\/\",\"name\":\"Stackify\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/stackify.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/stackify.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/stackify.com\/#organization\",\"name\":\"Stackify\",\"url\":\"https:\/\/stackify.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png\",\"contentUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png\",\"width\":1377,\"height\":430,\"caption\":\"Stackify\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Stackify\/\",\"https:\/\/x.com\/stackify\",\"https:\/\/www.instagram.com\/stackify\/\",\"https:\/\/www.linkedin.com\/company\/2596184\",\"https:\/\/www.youtube.com\/stackify\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/4eb4876b2d07f2456290a72bc4fcfc65\",\"name\":\"Erik Dietrich\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8d2a69c7391254ec05da64052c94f3d9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8d2a69c7391254ec05da64052c94f3d9?s=96&d=mm&r=g\",\"caption\":\"Erik Dietrich\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Compare 6 Different Pair Programming Styles - Stackify","description":"Pair programming styles have evolved over the years. Take a look at some different styles to make use of this software development technique.","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:\/\/stackify.com\/pair-programming-styles\/","og_locale":"en_US","og_type":"article","og_title":"Compare 6 Different Pair Programming Styles - Stackify","og_description":"Pair programming styles have evolved over the years. Take a look at some different styles to make use of this software development technique.","og_url":"https:\/\/stackify.com\/pair-programming-styles\/","og_site_name":"Stackify","article_publisher":"https:\/\/www.facebook.com\/Stackify\/","article_published_time":"2017-09-13T23:58:39+00:00","article_modified_time":"2024-06-21T05:30:49+00:00","og_image":[{"width":881,"height":456,"url":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg","type":"image\/jpeg"}],"author":"Erik Dietrich","twitter_card":"summary_large_image","twitter_creator":"@stackify","twitter_site":"@stackify","twitter_misc":{"Written by":"Erik Dietrich","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/stackify.com\/pair-programming-styles\/#article","isPartOf":{"@id":"https:\/\/stackify.com\/pair-programming-styles\/"},"author":{"name":"Erik Dietrich","@id":"https:\/\/stackify.com\/#\/schema\/person\/4eb4876b2d07f2456290a72bc4fcfc65"},"headline":"Compare 6 Different Pair Programming Styles","datePublished":"2017-09-13T23:58:39+00:00","dateModified":"2024-06-21T05:30:49+00:00","mainEntityOfPage":{"@id":"https:\/\/stackify.com\/pair-programming-styles\/"},"wordCount":1456,"publisher":{"@id":"https:\/\/stackify.com\/#organization"},"image":{"@id":"https:\/\/stackify.com\/pair-programming-styles\/#primaryimage"},"thumbnailUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg","articleSection":["Developer Tips, Tricks &amp; Resources"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/stackify.com\/pair-programming-styles\/","url":"https:\/\/stackify.com\/pair-programming-styles\/","name":"Compare 6 Different Pair Programming Styles - Stackify","isPartOf":{"@id":"https:\/\/stackify.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/stackify.com\/pair-programming-styles\/#primaryimage"},"image":{"@id":"https:\/\/stackify.com\/pair-programming-styles\/#primaryimage"},"thumbnailUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg","datePublished":"2017-09-13T23:58:39+00:00","dateModified":"2024-06-21T05:30:49+00:00","description":"Pair programming styles have evolved over the years. Take a look at some different styles to make use of this software development technique.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stackify.com\/pair-programming-styles\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/pair-programming-styles\/#primaryimage","url":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg","contentUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/09\/Driver_Passenger_Pair_Programming-881x456-1.jpg","width":881,"height":456},{"@type":"WebSite","@id":"https:\/\/stackify.com\/#website","url":"https:\/\/stackify.com\/","name":"Stackify","description":"","publisher":{"@id":"https:\/\/stackify.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stackify.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/stackify.com\/#organization","name":"Stackify","url":"https:\/\/stackify.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/#\/schema\/logo\/image\/","url":"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png","contentUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png","width":1377,"height":430,"caption":"Stackify"},"image":{"@id":"https:\/\/stackify.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Stackify\/","https:\/\/x.com\/stackify","https:\/\/www.instagram.com\/stackify\/","https:\/\/www.linkedin.com\/company\/2596184","https:\/\/www.youtube.com\/stackify"]},{"@type":"Person","@id":"https:\/\/stackify.com\/#\/schema\/person\/4eb4876b2d07f2456290a72bc4fcfc65","name":"Erik Dietrich","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8d2a69c7391254ec05da64052c94f3d9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d2a69c7391254ec05da64052c94f3d9?s=96&d=mm&r=g","caption":"Erik Dietrich"}}]}},"_links":{"self":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/11876"}],"collection":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/comments?post=11876"}],"version-history":[{"count":2,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/11876\/revisions"}],"predecessor-version":[{"id":44371,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/11876\/revisions\/44371"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/media\/38220"}],"wp:attachment":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/media?parent=11876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/categories?post=11876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/tags?post=11876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}