{"id":1484,"date":"2015-12-18T02:45:41","date_gmt":"2015-12-18T02:45:41","guid":{"rendered":"http:\/\/softwaredaily.wpengine.com\/?p=1484"},"modified":"2021-10-20T07:02:07","modified_gmt":"2021-10-20T14:02:07","slug":"demystifying-stream-processing-with-neha-narkhede","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/","title":{"rendered":"Demystifying Stream Processing with Neha Narkhede"},"content":{"rendered":"<p><img decoding=\"async\" data-attachment-id=\"1485\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/neha-narkhede\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/neha-narkhede.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=\"neha-narkhede\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/neha-narkhede.jpg?fit=175%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/neha-narkhede.jpg?fit=175%2C175&amp;ssl=1\" class=\"alignright size-full wp-image-1485\" src=\"https:\/\/i0.wp.com\/softwaredaily.wpengine.com\/wp-content\/uploads\/2015\/12\/neha-narkhede.jpg?resize=175%2C175\" alt=\"neha-narkhede\" width=\"175\" height=\"175\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/neha-narkhede.jpg?w=175&amp;ssl=1 175w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/neha-narkhede.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/neha-narkhede.jpg?resize=80%2C80&amp;ssl=1 80w\" sizes=\"(max-width: 175px) 100vw, 175px\" data-recalc-dims=\"1\" \/><\/p>\n<h3>\u201cSystems are giving up correctness for latency, and I\u2019m arguing that stream processing systems have to be designed to allow the user to pick the tradeoffs that the application needs.&#8221;<\/h3>\n<p>The stream processing paradigm is increasingly being adopted by applications that need to process and handle large volumes of data. Apache Kafka is an open-source distributed publish-subscribe messaging system that is built to support streaming data processing.<\/p>\n<p>Neha Narkhede is the one of the creators of Apache Kafka, which she built to address engineering challenges while working at LinkedIn. She is also the co-founder of Confluent, which builds enterprise products around Kafka.<\/p>\n<h3>Questions<\/h3>\n<ul>\n<li>Why was Kafka originally developed?<\/li>\n<li>Before Kafka, how did Linkedin maintain consistency between these different services?<\/li>\n<li>What is the purpose of a broker in Kafka?<\/li>\n<li>How did you end up with the log structure?<\/li>\n<li>How does Kafka do garbage collection on messages?<\/li>\n<li>Could you describe Kafka\u2019s persistence model in more detail?<\/li>\n<li>Is the batch versus streaming discussion a false dichotomy?<\/li>\n<\/ul>\n<h3>Links<\/h3>\n<ul>\n<li><a href=\"http:\/\/kafka.apache.org\/\">Kafka<\/a><\/li>\n<li><a href=\"http:\/\/softwaredaily.wpengine.com\/2015\/08\/06\/kafka-with-guozhang-wang\/\">Apache Kafka with Guozhang Wang<\/a><\/li>\n<li><a href=\"https:\/\/qconsf.com\/sf2015\/presentation\/demystifying-large-scale-stream-processing\">Presentation: Demystifying stream processing with Apache Kafka<\/a><\/li>\n<li><a href=\"https:\/\/twitter.com\/nehanarkhede\">Neha on Twitter<\/a><\/li>\n<\/ul>\n<h3>Sponsors<\/h3>\n<p><a href=\"http:\/\/www.hired.com\/softwareengineeringdaily\">Hired.com<\/a> is the job marketplace for software engineers. Go to <a href=\"http:\/\/www.hired.com\/softwareengineeringdaily\">hired.com\/softwareengineeringdaily<\/a> to get a <strong>$600 bonus<\/strong> upon landing a job through Hired.<\/p>\n<p><a href=\"https:\/\/www.digitalocean.com\/?utm_medium=podcasts&amp;utm_source=sedaily&amp;utm_campaign=sedaily\">Digital Ocean<\/a> is the simplest cloud hosting provider. Use promo code SEDAILY for $10 in free credit.<\/p>\n<p><a href=\"https:\/\/www.digitalocean.com\/?utm_medium=podcasts&amp;utm_source=sedaily&amp;utm_campaign=sedaily\"><img decoding=\"async\" class=\"alignnone aligncenter\" src=\"https:\/\/i0.wp.com\/m.cloudbrew.com\/img\/digitalOceanLogo.jpg?resize=112%2C112&#038;ssl=1\" alt=\"\" width=\"112\" height=\"112\" data-recalc-dims=\"1\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<blockquote><p>\u201cSystems are giving up correctness for latency, and I\u2019m arguing that stream processing systems have to be designed to allow the user to pick the tradeoffs that the application needs.&#8221;<\/p><\/blockquote>\n<p><a class=\"continue-reading\" href=\"http:\/\/softwaredaily.wpengine.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/\">Continue reading\u2026<\/a><\/p>\n","protected":false},"author":2,"featured_media":1486,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1363,1081,1069,14],"tags":[69,71,260,61,63,336,68],"class_list":["post-1484","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all-episodes","category-data","category-greatest-hits","category-podcast","tag-batch","tag-big-data","tag-data-engineering","tag-hadoop","tag-kafka","tag-linkedin","tag-streaming"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Demystifying Stream Processing with Neha Narkhede - 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\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Demystifying Stream Processing with Neha Narkhede - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"\u201cSystems are giving up correctness for latency, and I\u2019m arguing that stream processing systems have to be designed to allow the user to pick the tradeoffs that the application needs.&quot;  Continue reading\u2026\" \/>\n<meta property=\"og:url\" content=\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-18T02:45:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-20T14:02:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"280\" \/>\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=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/\"},\"author\":{\"name\":\"Pranay\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c\"},\"headline\":\"Demystifying Stream Processing with Neha Narkhede\",\"datePublished\":\"2015-12-18T02:45:41+00:00\",\"dateModified\":\"2021-10-20T14:02:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/\"},\"wordCount\":229,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1\",\"keywords\":[\"Batch\",\"Big Data\",\"Data Engineering\",\"Hadoop\",\"Kafka\",\"LinkedIn\",\"Streaming\"],\"articleSection\":[\"All Content\",\"Data\",\"Greatest Hits\",\"Podcast\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/\",\"url\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/\",\"name\":\"Demystifying Stream Processing with Neha Narkhede - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1\",\"datePublished\":\"2015-12-18T02:45:41+00:00\",\"dateModified\":\"2021-10-20T14:02:07+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1\",\"width\":720,\"height\":280,\"caption\":\"demystifying stream processing with kafka\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Demystifying Stream Processing with Neha Narkhede\"}]},{\"@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\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"width\":549,\"height\":169,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.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":"Demystifying Stream Processing with Neha Narkhede - 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\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/","og_locale":"en_US","og_type":"article","og_title":"Demystifying Stream Processing with Neha Narkhede - Software Engineering Daily","og_description":"\u201cSystems are giving up correctness for latency, and I\u2019m arguing that stream processing systems have to be designed to allow the user to pick the tradeoffs that the application needs.\"  Continue reading\u2026","og_url":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/","og_site_name":"Software Engineering Daily","article_published_time":"2015-12-18T02:45:41+00:00","article_modified_time":"2021-10-20T14:02:07+00:00","og_image":[{"width":720,"height":280,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280","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":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#article","isPartOf":{"@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/"},"author":{"name":"Pranay","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c"},"headline":"Demystifying Stream Processing with Neha Narkhede","datePublished":"2015-12-18T02:45:41+00:00","dateModified":"2021-10-20T14:02:07+00:00","mainEntityOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/"},"wordCount":229,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"image":{"@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1","keywords":["Batch","Big Data","Data Engineering","Hadoop","Kafka","LinkedIn","Streaming"],"articleSection":["All Content","Data","Greatest Hits","Podcast"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/","url":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/","name":"Demystifying Stream Processing with Neha Narkhede - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#primaryimage"},"image":{"@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1","datePublished":"2015-12-18T02:45:41+00:00","dateModified":"2021-10-20T14:02:07+00:00","breadcrumb":{"@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#primaryimage","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1","width":720,"height":280,"caption":"demystifying stream processing with kafka"},{"@type":"BreadcrumbList","@id":"http:\/\/softwareengineeringdaily.com\/2015\/12\/18\/demystifying-stream-processing-with-neha-narkhede\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"Demystifying Stream Processing with Neha Narkhede"}]},{"@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\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","width":549,"height":169,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.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\/2015\/12\/kafka.jpg?fit=720%2C280&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-nW","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/1484"}],"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=1484"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/1484\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/1486"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=1484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=1484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=1484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}