{"id":2320,"date":"2016-03-24T17:07:13","date_gmt":"2016-03-25T00:07:13","guid":{"rendered":"http:\/\/softwaredaily.wpengine.com\/?p=2320"},"modified":"2021-11-04T02:40:40","modified_gmt":"2021-11-04T09:40:40","slug":"developer-analytics-calvin-french-owen","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/","title":{"rendered":"Developer Analytics with Calvin French-Owen"},"content":{"rendered":"<p><img data-attachment-id=\"2324\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/calvin-owen-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/calvin-owen-1.jpg?fit=175%2C175&amp;ssl=1\" data-orig-size=\"175,175\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"calvin-owen\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/calvin-owen-1.jpg?fit=175%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/calvin-owen-1.jpg?fit=175%2C175&amp;ssl=1\" decoding=\"async\" loading=\"lazy\" class=\"alignright size-full wp-image-2324\" style=\"border-radius: 50%; border: 1px solid #000000;\" src=\"https:\/\/i0.wp.com\/softwaredaily.wpengine.com\/wp-content\/uploads\/2016\/03\/calvin-owen-1.jpg?resize=175%2C175\" alt=\"calvin-owen\" width=\"175\" height=\"175\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/calvin-owen-1.jpg?w=175&amp;ssl=1 175w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/calvin-owen-1.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/calvin-owen-1.jpg?resize=80%2C80&amp;ssl=1 80w\" sizes=\"(max-width: 175px) 100vw, 175px\" data-recalc-dims=\"1\" \/><\/p>\n<h3>\u201cIts sort of like the old joke in computer science \u2013 what do you do when you have a problem? Well, add a layer of abstraction.\u201d<\/h3>\n<p>Today\u2019s guest is Calvin French-Owen, the CTO of Segment, a tool that companies use to aggregate their analytics into once place. As Segment has scaled, the company has had to restructure its etire technical architecture. Microservices, containers, Amazon Web Services, and dev ops are a few of the topics that Calvin and I explore in our conversation, so this is a great episode for anyone who is trying to understand the relationships between those different subjects.<\/p>\n<p>Segment\u2019s product unifies analytics from different services and puts them into one centralized place. Full disclosure: Segment is a sponsor of Software Engineering Daily. For most of this episode, we don\u2019t even talk about the product, we talk about the back end engineering behind the product.<\/p>\n<h3>Questions<\/h3>\n<ul>\n<li>What tools are used to transfer data to analytics systems?<\/li>\n<li>Why is it useful to have a single API to fan out into all the different analytics processed<\/li>\n<li>Why did you embrace microservices at Segment, and why was it different from the reasons other companies have adopted them?<\/li>\n<li>Why are process level monitoring and program level monitoring worth differentiating?<\/li>\n<li>Could you explain the nuance between microservices and microworkers?<\/li>\n<li>How do you determine when to write a brand new microservice versus adding new functionality to an old one?<\/li>\n<li>How did you do an architectural rebuild while still running the business day-to-day?<\/li>\n<li>How should software engineering teams decide whether to build or buy certain aspects of their product?<\/li>\n<\/ul>\n<h3>Links<\/h3>\n<ul>\n<li><a href=\"https:\/\/aws.amazon.com\/redshift\/\">Redshift<\/a><\/li>\n<li><a href=\"https:\/\/modeanalytics.com\/\">Mode<\/a><\/li>\n<li><a href=\"https:\/\/segment.com\/\">Segment<\/a><\/li>\n<li><a href=\"https:\/\/baremetrics.com\/\">Baremetrics<\/a><\/li>\n<li><a href=\"https:\/\/segment.com\/blog\/why-microservices\/\">Why Microservices Work For Us<\/a><\/li>\n<li><a href=\"https:\/\/segment.com\/blog\/rebuilding-our-infrastructure\/\">Rebuilding Our Infrastructure with Docker, ECS, and Terraform<\/a><\/li>\n<li><a href=\"https:\/\/www.hashicorp.com\/\">Hashicorp<\/a><\/li>\n<li><a href=\"https:\/\/coreos.com\/\">CoreOS<\/a><\/li>\n<li><a href=\"https:\/\/www.terraform.io\/\">Terraform<\/a><\/li>\n<li><a href=\"https:\/\/www.datadoghq.com\/\">Datadog<br \/>\n<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u201cIts sort of like the old joke in computer science \u2013 what do you do when you have a problem? Well, add a layer of abstraction.\u201d Today\u2019s guest is Calvin French-Owen, the CTO of Segment, a tool that companies use to aggregate their analytics into once place. As Segment has scaled, the company has had<\/p>\n","protected":false},"author":2,"featured_media":2322,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1363,1079,14],"tags":[428,425,74,81,20],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Developer Analytics with Calvin French-Owen - Software Engineering Daily<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Developer Analytics with Calvin French-Owen - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"\u201cIts sort of like the old joke in computer science \u2013 what do you do when you have a problem? Well, add a layer of abstraction.\u201d Today\u2019s guest is Calvin French-Owen, the CTO of Segment, a tool that companies use to aggregate their analytics into once place. As Segment has scaled, the company has had\" \/>\n<meta property=\"og:url\" content=\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-25T00:07:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-04T09:40:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/analytics.jpg?fit=720%2C239\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"239\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Pranay\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@software_daily\" \/>\n<meta name=\"twitter:site\" content=\"@software_daily\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pranay\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/\"},\"author\":{\"name\":\"Pranay\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c\"},\"headline\":\"Developer Analytics with Calvin French-Owen\",\"datePublished\":\"2016-03-25T00:07:13+00:00\",\"dateModified\":\"2021-11-04T09:40:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/\"},\"wordCount\":294,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"keywords\":[\"Analytics\",\"APIs\",\"Architecture\",\"Distributed Systems\",\"microservices\"],\"articleSection\":[\"All Content\",\"Cloud Engineering\",\"Podcast\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/\",\"url\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/\",\"name\":\"Developer Analytics with Calvin French-Owen - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"datePublished\":\"2016-03-25T00:07:13+00:00\",\"dateModified\":\"2021-11-04T09:40:40+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developer Analytics with Calvin French-Owen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"name\":\"Software Engineering Daily\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\",\"name\":\"Software Engineering Daily\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1\",\"width\":296,\"height\":139,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/software_daily\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c\",\"name\":\"Pranay\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e85f4744ae484bd83dca0d08c8ce0625?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e85f4744ae484bd83dca0d08c8ce0625?s=96&d=retro&r=pg\",\"caption\":\"Pranay\"},\"url\":\"https:\/\/softwareengineeringdaily.com\/author\/pranay\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Developer Analytics with Calvin French-Owen - Software Engineering Daily","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":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/","og_locale":"en_US","og_type":"article","og_title":"Developer Analytics with Calvin French-Owen - Software Engineering Daily","og_description":"\u201cIts sort of like the old joke in computer science \u2013 what do you do when you have a problem? Well, add a layer of abstraction.\u201d Today\u2019s guest is Calvin French-Owen, the CTO of Segment, a tool that companies use to aggregate their analytics into once place. As Segment has scaled, the company has had","og_url":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/","og_site_name":"Software Engineering Daily","article_published_time":"2016-03-25T00:07:13+00:00","article_modified_time":"2021-11-04T09:40:40+00:00","og_image":[{"width":720,"height":239,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/analytics.jpg?fit=720%2C239","type":"image\/jpeg"}],"author":"Pranay","twitter_card":"summary_large_image","twitter_creator":"@software_daily","twitter_site":"@software_daily","twitter_misc":{"Written by":"Pranay","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/#article","isPartOf":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/"},"author":{"name":"Pranay","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c"},"headline":"Developer Analytics with Calvin French-Owen","datePublished":"2016-03-25T00:07:13+00:00","dateModified":"2021-11-04T09:40:40+00:00","mainEntityOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/"},"wordCount":294,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"keywords":["Analytics","APIs","Architecture","Distributed Systems","microservices"],"articleSection":["All Content","Cloud Engineering","Podcast"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/","url":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/","name":"Developer Analytics with Calvin French-Owen - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"datePublished":"2016-03-25T00:07:13+00:00","dateModified":"2021-11-04T09:40:40+00:00","breadcrumb":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/24\/developer-analytics-calvin-french-owen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"Developer Analytics with Calvin French-Owen"}]},{"@type":"WebSite","@id":"https:\/\/softwareengineeringdaily.com\/#website","url":"https:\/\/softwareengineeringdaily.com\/","name":"Software Engineering Daily","description":"","publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareengineeringdaily.com\/#organization","name":"Software Engineering Daily","url":"https:\/\/softwareengineeringdaily.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1","width":296,"height":139,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/software_daily"]},{"@type":"Person","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c","name":"Pranay","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e85f4744ae484bd83dca0d08c8ce0625?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e85f4744ae484bd83dca0d08c8ce0625?s=96&d=retro&r=pg","caption":"Pranay"},"url":"https:\/\/softwareengineeringdaily.com\/author\/pranay\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/analytics.jpg?fit=720%2C239&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-Bq","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/2320"}],"collection":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/comments?post=2320"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/2320\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/2322"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=2320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=2320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=2320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}