{"id":119657,"date":"2023-03-27T19:08:26","date_gmt":"2023-03-27T19:08:26","guid":{"rendered":"https:\/\/www.controleng.com\/articles\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/"},"modified":"2025-04-23T19:00:39","modified_gmt":"2025-04-24T00:00:39","slug":"using-git-workflows-to-improve-efficiency-reduce-bottlenecks","status":"publish","type":"post","link":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/","title":{"rendered":"Using Git workflows to improve efficiency, reduce bottlenecks"},"content":{"rendered":"<p>&nbsp;<\/p>\n<div class=\"learn-obj\">\n<div class=\"top-one\"><\/div>\n<div class=\"top-two\"><\/div>\n<h4>Learning Objectives<\/h4>\n<ul>\n<li>Understand how onboarding new talent and teaching them programming is a major bottleneck challenge.<\/li>\n<li>Learn how Git-based software can remove some of the potential bottlenecks.<\/li>\n<li>Discover the importance of having one source of truth for programming and the benefits of open communication for the team.<\/li>\n<\/ul>\n<div class=\"bottom\"><\/div>\n<\/div>\n<h2>Git-based software insights<\/h2>\n<ul>\n<li>Git-based software by Copia Automation is designed to accelerates development for multiple programmable logic controller (PLC) programming environments and prevent people from overwriting others\u2019 work.<\/li>\n<li>Developing a streamlined platform where programmers can learn from one another and develop a single source of truth is critical in reducing bottlenecks and letting younger engineers learn without tying up senior engineers.<\/li>\n<\/ul>\n<hr \/>\n<p>Since 1996, engineering consulting firm <a href=\"https:\/\/www.dmcinfo.com\/about\">DMC<\/a> has helped clients improve productivity of their manufacturing facilities with custom automation software and control systems. They work in many industries such as automotive, food and beverage and even Navy battleships.<\/p>\n<p>According to project director <a href=\"https:\/\/www.dmcinfo.com\/about\/employee-bios\/john-sullivan\">John Sullivan<\/a>, who oversees the automation business for the western United States, the need for services has never been higher.<\/p>\n<p>\u201cAt times, we\u2019ve had to reluctantly turn down work because demand outpaced our ability to hire and train controls engineers fast enough,\u201d he said.<\/p>\n<p>Sullivan\u2019s assessment is underscored by a recent Control Systems Integrators Association (CSIA) <a href=\"https:\/\/www.controlsys.org\/news\/recent-news\">survey<\/a> showing aggressive hiring of systems integration engineers in 2021, but also a 16.5% turnover rate across the field.<\/p>\n<p>The biggest bottlenecks are onboarding new talent and best leveraging the use of senior engineers\u2019 time. Software engineering students typically specialize in more common text-based programming languages versus the visual ladder logic diagrams used to program programmable logic controller (PLC) computers for machine automation. Consequently, young engineers need to be paired with experienced mentors for training that can take months.<\/p>\n<p>At DMC, where software projects can range from a solo programmer up to 25 engineers, the summers tend to have larger teams when new talent can learn from their experienced colleagues. Senior engineers\u2019 schedules quickly get filled with frequent design reviews. By winter, Sullivan said, smaller teams become more prevalent as college grads are more able to work on their own.<\/p>\n<p>To streamline its design review process, version control and collaboration, they rely on Git-based software, which accelerates development for multiple PLC programming environments. This enables teams to work on the same files without the risk of overwriting work from others. Git branching and merging capabilities bring the same collaboration benefits to ladder logic programming as text language projects.<\/p>\n<p>The visual diffing with comments provides easy-to-read, color-coded comparisons that do not require reviewers to download and open files within the original integrated development environment (IDE).<\/p>\n<h3>Code reviewers can detect and fix mistakes earlier<\/h3>\n<p>Sullivan said the automatic rendering of PLC programming languages and the ability to quickly visualize changes, without using the original IDE, significantly speeds up the feedback loop between junior and senior engineers.<\/p>\n<p>\u201cWhen leading multiple projects, our senior engineers are saving up to a day a week, because of the faster code reviews,\u201d he said. \u201cPlus, we&#8217;re reviewing more frequently. We&#8217;re catching more mistakes before they get deployed or tested. And because we always see the visualized code before merging, we&#8217;re also making fewer mistakes.\u201d<\/p>\n<p>Sullivan said the switch to Git-based software has made his team much more efficient.<br \/>\n\u201cGit alone does a good job managing the project history but falls short when reviewing code,\u201d Sullivan said. \u201cWhenever someone committed a code change, our senior engineers needed to open up two copies of the development environment, do a compare between the two platforms, and manually copy the code before recommitting. We now see the changes right away and simply click a few buttons to merge those changes. A 45-minute process now takes 15 minutes.\u201d<\/p>\n<h3>Overcoming a \u201c10-year problem\u201d for automation programming<\/h3>\n<p>Copia Automation\u2019s Git-based version history captures all coding changes for the lifecycle of a project, allowing teams to revert to any earlier iteration if desired. The edit history is invaluable for collaborating team members to be aware of the latest project changes, but it is also useful for managing what DMC calls the \u201c10-year problem.\u201d<\/p>\n<p>The challenge is maintaining the ability to provide ongoing support for machines and systems long after installation.<\/p>\n<p>\u201cI recently heard from a customer who we last worked with us seven years ago. Both the engineer and the manager who worked on that project are gone. It\u2019s so important to always be able to find the files from legacy projects,\u201d Sullivan said. \u201cI had another customer who had a power surge<u>, and<\/u> they lost their program. They unfortunately never managed to keep a copy of it. So we needed to grab old code and help them redeploy to a new set of hardware so they could get back up and running. Now, moving forward, anyone on our team will be able to handle the 10 Year Problem without the original engineer who worked on the project. Having the context and information from the entire lifecycle of a project is super valuable.\u201d<\/p>\n<p>Having one source of truth in a secure central repository also helps the team collaborate more efficiently with its manufacturing clients.<\/p>\n<p>\u201cWe have customers operating facilities where their engineers are making small code changes on a regular basis. When things really go wrong, they call us,\u201d Sullivan said. \u201cAnd it\u2019s our job to jump in and help figure out the problem. One of the keys to being successful is to be confident we have the latest code. Sharing the same repository enables this.\u201d<\/p>\n<p>Sullivan said he thinks it is \u201cembarrassing\u201d for the industry to still be relying on file names and shared folders. Git-based software, he said, helped them increased productivity and quality.<\/p>\n<p><strong>Darren Henry<\/strong>\u00a0is vice president of marketing;\u00a0<strong>Vaughn Varma<\/strong>\u00a0is technical marketing manager at <a href=\"https:\/\/www.copia.io\/\">Copia Automation<\/a>. Edited by Chris Vavra, web content manager, <em>Control Engineering<\/em>, CFE Media and Technology, <a href=\"mailto:cvavra@cfemedia.com\">cvavra@cfemedia.com<\/a>.<\/p>\n<p>ONLINE<\/p>\n<p>This case study was highlighted in a <a href=\"https:\/\/www.controleng.com\/webcasts\/improving-plc-version-control-and-device-backup-using-modern-git-workflows\/\">February 2023 <em>Control Engineering <\/em>webcast<\/a>:<\/p>\n<p><strong>CONSIDER THIS<\/strong><\/p>\n<p><strong>How can changes<\/strong> in PLC programming workflow improve your automation?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A control system integrator used Git-based software to improve automation as well as increase onboarding of new hires and scaling quality.<\/p>\n","protected":false},"author":1421,"featured_media":119658,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[108210],"tags":[],"tracking-metrics":[],"display-location":[],"class_list":{"2":"type-post"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using Git workflows to improve efficiency, reduce bottlenecks - Control Engineering<\/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:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Git workflows to improve efficiency, reduce bottlenecks - Control Engineering\" \/>\n<meta property=\"og:description\" content=\"A control system integrator used Git-based software to improve automation as well as increase onboarding of new hires and scaling quality.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/\" \/>\n<meta property=\"og:site_name\" content=\"Control Engineering\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ControlEngineeringMagazine\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-27T19:08:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-24T00:00:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"645\" \/>\n\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Darren Henry and Vaughn Varma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@controlengtips\" \/>\n<meta name=\"twitter:site\" content=\"@controlengtips\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Darren Henry and Vaughn Varma\" \/>\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:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/\"},\"author\":{\"name\":\"Darren Henry and Vaughn Varma\",\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/person\/78a854d7742bc422ed77c71cc442108a\"},\"headline\":\"Using Git workflows to improve efficiency, reduce bottlenecks\",\"datePublished\":\"2023-03-27T19:08:26+00:00\",\"dateModified\":\"2025-04-24T00:00:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/\"},\"wordCount\":1003,\"publisher\":{\"@id\":\"https:\/\/www.controleng.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png\",\"articleSection\":[\"Programming\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/\",\"url\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/\",\"name\":\"Using Git workflows to improve efficiency, reduce bottlenecks - Control Engineering\",\"isPartOf\":{\"@id\":\"https:\/\/www.controleng.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png\",\"datePublished\":\"2023-03-27T19:08:26+00:00\",\"dateModified\":\"2025-04-24T00:00:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#primaryimage\",\"url\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png\",\"contentUrl\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png\",\"width\":645,\"height\":350},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.controleng.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using Git workflows to improve efficiency, reduce bottlenecks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.controleng.com\/#website\",\"url\":\"https:\/\/www.controleng.com\/\",\"name\":\"Control Engineering\",\"description\":\"Control Engineering covers and educates about automation, control and instrumentation technologies\",\"publisher\":{\"@id\":\"https:\/\/www.controleng.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.controleng.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.controleng.com\/#organization\",\"name\":\"Control Engineering\",\"url\":\"https:\/\/www.controleng.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/12\/ce_logo.png\",\"contentUrl\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/12\/ce_logo.png\",\"width\":300,\"height\":93,\"caption\":\"Control Engineering\"},\"image\":{\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/ControlEngineeringMagazine\",\"https:\/\/x.com\/controlengtips\",\"https:\/\/www.linkedin.com\/company\/control-engineering-magazine\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/person\/78a854d7742bc422ed77c71cc442108a\",\"name\":\"Darren Henry and Vaughn Varma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e74e7c89a1ab17b59f5b2e445b4c12ac338ff944ffc692e933dce6bfb8a20b35?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e74e7c89a1ab17b59f5b2e445b4c12ac338ff944ffc692e933dce6bfb8a20b35?s=96&d=mm&r=g\",\"caption\":\"Darren Henry and Vaughn Varma\"},\"url\":\"https:\/\/www.controleng.com\/author\/darren-henry-and-vaughn-varma\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using Git workflows to improve efficiency, reduce bottlenecks - Control Engineering","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:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/","og_locale":"en_US","og_type":"article","og_title":"Using Git workflows to improve efficiency, reduce bottlenecks - Control Engineering","og_description":"A control system integrator used Git-based software to improve automation as well as increase onboarding of new hires and scaling quality.","og_url":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/","og_site_name":"Control Engineering","article_publisher":"https:\/\/www.facebook.com\/ControlEngineeringMagazine","article_published_time":"2023-03-27T19:08:26+00:00","article_modified_time":"2025-04-24T00:00:39+00:00","og_image":[{"width":645,"height":350,"url":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png","type":"image\/png"}],"author":"Darren Henry and Vaughn Varma","twitter_card":"summary_large_image","twitter_creator":"@controlengtips","twitter_site":"@controlengtips","twitter_misc":{"Written by":"Darren Henry and Vaughn Varma","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#article","isPartOf":{"@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/"},"author":{"name":"Darren Henry and Vaughn Varma","@id":"https:\/\/www.controleng.com\/#\/schema\/person\/78a854d7742bc422ed77c71cc442108a"},"headline":"Using Git workflows to improve efficiency, reduce bottlenecks","datePublished":"2023-03-27T19:08:26+00:00","dateModified":"2025-04-24T00:00:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/"},"wordCount":1003,"publisher":{"@id":"https:\/\/www.controleng.com\/#organization"},"image":{"@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#primaryimage"},"thumbnailUrl":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png","articleSection":["Programming"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/","url":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/","name":"Using Git workflows to improve efficiency, reduce bottlenecks - Control Engineering","isPartOf":{"@id":"https:\/\/www.controleng.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#primaryimage"},"image":{"@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#primaryimage"},"thumbnailUrl":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png","datePublished":"2023-03-27T19:08:26+00:00","dateModified":"2025-04-24T00:00:39+00:00","breadcrumb":{"@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#primaryimage","url":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png","contentUrl":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/11\/CTL2304_Web_SIadvice-Copia-DMC-DiffExampleSLIDER-2.png","width":645,"height":350},{"@type":"BreadcrumbList","@id":"https:\/\/www.controleng.com\/using-git-workflows-to-improve-efficiency-reduce-bottlenecks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.controleng.com\/"},{"@type":"ListItem","position":2,"name":"Using Git workflows to improve efficiency, reduce bottlenecks"}]},{"@type":"WebSite","@id":"https:\/\/www.controleng.com\/#website","url":"https:\/\/www.controleng.com\/","name":"Control Engineering","description":"Control Engineering covers and educates about automation, control and instrumentation technologies","publisher":{"@id":"https:\/\/www.controleng.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.controleng.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.controleng.com\/#organization","name":"Control Engineering","url":"https:\/\/www.controleng.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.controleng.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/12\/ce_logo.png","contentUrl":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/12\/ce_logo.png","width":300,"height":93,"caption":"Control Engineering"},"image":{"@id":"https:\/\/www.controleng.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ControlEngineeringMagazine","https:\/\/x.com\/controlengtips","https:\/\/www.linkedin.com\/company\/control-engineering-magazine\/"]},{"@type":"Person","@id":"https:\/\/www.controleng.com\/#\/schema\/person\/78a854d7742bc422ed77c71cc442108a","name":"Darren Henry and Vaughn Varma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.controleng.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e74e7c89a1ab17b59f5b2e445b4c12ac338ff944ffc692e933dce6bfb8a20b35?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e74e7c89a1ab17b59f5b2e445b4c12ac338ff944ffc692e933dce6bfb8a20b35?s=96&d=mm&r=g","caption":"Darren Henry and Vaughn Varma"},"url":"https:\/\/www.controleng.com\/author\/darren-henry-and-vaughn-varma\/"}]}},"_links":{"self":[{"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/posts\/119657","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/users\/1421"}],"replies":[{"embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/comments?post=119657"}],"version-history":[{"count":0,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/posts\/119657\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/media\/119658"}],"wp:attachment":[{"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/media?parent=119657"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/categories?post=119657"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/tags?post=119657"},{"taxonomy":"tracking-metric","embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/tracking-metrics?post=119657"},{"taxonomy":"display-location","embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/display-location?post=119657"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}