{"id":1186,"date":"2026-04-18T10:00:00","date_gmt":"2026-04-18T09:00:00","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=1186"},"modified":"2026-04-13T15:07:59","modified_gmt":"2026-04-13T15:07:59","slug":"why-logging-is-still-a-product-feature","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/","title":{"rendered":"Why Logging Is Still a Product Feature"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg\" alt=\"Handwritten page from a pilot log book\" style=\"float:right;width:280px;max-width:40%;height:auto;margin:0 0 1rem 1rem\" loading=\"lazy\" \/><\/p>\n<p>I still think logging is a product feature.<\/p>\n<p>That sounds a bit dramatic until you are the one trying to figure out why something broke, why a user got blocked, or why a support case is taking too long to answer. At that point logging stops being an internal detail and starts looking like part of the experience.<\/p>\n<p>Good logging saves time in two places. First, it cuts down support work because you can answer basic questions faster. Second, it shortens incident diagnosis because you can see what the system was doing instead of guessing from symptoms. Both matter more than teams admit when they are deciding how much time to spend on logs.<\/p>\n<h2>Logging is for people, not just machines<\/h2>\n<p>Too many systems log as if the only reader will be a developer already familiar with the codebase.<\/p>\n<p>That is a mistake. The person reading logs might be a support engineer, an on-call developer who has never seen the path before, or your future self at 2 a.m. They do not need poetry. They need enough context to understand what happened and where to look next.<\/p>\n<p>The best logs usually answer a small set of questions:<\/p>\n<ul>\n<li>what was the system trying to do<\/li>\n<li>what input or state mattered<\/li>\n<li>what failed<\/li>\n<li>where the failure happened<\/li>\n<li>what identifier or trail would help find the rest of the story<\/li>\n<\/ul>\n<p>If a log line does not help answer one of those, it is probably just noise.<\/p>\n<h2>Bad logs make simple problems expensive<\/h2>\n<p>I have seen small issues turn into long investigations because the logs were useless.<\/p>\n<p>Sometimes the problem is that the logs are too sparse. Sometimes they are too noisy. Sometimes the useful fields are there, but buried in a wall of text nobody wants to scan. All of that slows people down. It also creates a weird kind of operational fear, because nobody trusts the system to explain itself when it matters.<\/p>\n<p>That is not just an engineering problem. It becomes a support problem, a delivery problem, and eventually a confidence problem.<\/p>\n<p>If a team cannot tell whether a failure is expected, recoverable, or serious, they end up spending time on the wrong thing. Good logging reduces that uncertainty.<\/p>\n<h2>What I want from logs<\/h2>\n<p>I do not want every line to be clever. I want it to be useful.<\/p>\n<p>For me, that usually means logs should be:<\/p>\n<ul>\n<li>structured enough to search reliably<\/li>\n<li>specific enough to correlate with a request, job, or user action<\/li>\n<li>clear about whether something is informational, suspicious, or broken<\/li>\n<li>consistent enough that you do not need to relearn the format every time<\/li>\n<\/ul>\n<p>I also want logs to tell the truth. If something failed, say so. If the system retried, say that too. If a fallback path was used, make that obvious. The whole point is to reduce ambiguity.<\/p>\n<h2>Logging is cheaper than guessing<\/h2>\n<p>The real case for logging is not that it looks professional. It is that it removes guesswork.<\/p>\n<p>Guessing is expensive. It costs support time. It costs incident time. It costs confidence when the team is trying to decide whether a problem is isolated or structural. A decent log trail usually gets you to the answer faster than a lot of extra ceremony does.<\/p>\n<p>That is why I still treat logging as part of the product. Not because users read the logs directly, but because people who operate the product depend on them every day.<\/p>\n<p>If the system is going to fail sometimes, it should at least explain itself.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Good logging is not just for engineers. It reduces support time, shortens incident diagnosis, and makes a system much easier to trust when something goes wrong.<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"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":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13,25],"tags":[54,107,105,55,106],"class_list":["post-1186","post","type-post","status-publish","format-standard","hentry","category-programming","category-software-engineer","tag-debugging","tag-incidents","tag-logging","tag-observability","tag-support"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Why Logging Is Still a Product Feature - wade.one<\/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:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why Logging Is Still a Product Feature - wade.one\" \/>\n<meta property=\"og:description\" content=\"Good logging is not just for engineers. It reduces support time, shortens incident diagnosis, and makes a system much easier to trust when something goes wrong.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-18T09:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Why Logging Is Still a Product Feature\",\"datePublished\":\"2026-04-18T09:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/\"},\"wordCount\":590,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg\",\"keywords\":[\"debugging\",\"incidents\",\"logging\",\"observability\",\"support\"],\"articleSection\":[\"Programming\",\"Software Engineer\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/\",\"name\":\"Why Logging Is Still a Product Feature - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg\",\"datePublished\":\"2026-04-18T09:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg\",\"width\":1024,\"height\":768,\"caption\":\"Handwritten page from a pilot log book\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/18\\\/why-logging-is-still-a-product-feature\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why Logging Is Still a Product Feature\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why Logging Is Still a Product Feature - wade.one","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:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/","og_locale":"en_GB","og_type":"article","og_title":"Why Logging Is Still a Product Feature - wade.one","og_description":"Good logging is not just for engineers. It reduces support time, shortens incident diagnosis, and makes a system much easier to trust when something goes wrong.","og_url":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/","og_site_name":"wade.one","article_published_time":"2026-04-18T09:00:00+00:00","og_image":[{"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/"},"author":{"name":"","@id":""},"headline":"Why Logging Is Still a Product Feature","datePublished":"2026-04-18T09:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/"},"wordCount":590,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"image":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg","keywords":["debugging","incidents","logging","observability","support"],"articleSection":["Programming","Software Engineer"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/","url":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/","name":"Why Logging Is Still a Product Feature - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/#primaryimage"},"image":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg","datePublished":"2026-04-18T09:00:00+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/#primaryimage","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/01-raaf-pilot-nigel-john-fletcher-427593-page-from-flying-log-book.jpg","width":1024,"height":768,"caption":"Handwritten page from a pilot log book"},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2026\/04\/18\/why-logging-is-still-a-product-feature\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"Why Logging Is Still a Product Feature"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":764,"url":"https:\/\/wade.one\/blog\/2015\/02\/07\/standardising-logging-and-parallelisation-in-multiple-languages\/","url_meta":{"origin":1186,"position":0},"title":"Standardising logging and parallelisation in multiple languages","author":"Wade","date":"February 7, 2015","format":false,"excerpt":"Over the last few days I've been working on interfaces to use across multiple programming languages to standardise how some things are done. This stemmed from a requirement to allow processing to be dealt with in any language from any other language. People do this all the time, it's nothing\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/source-code-583537_640.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/source-code-583537_640.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/source-code-583537_640.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":31,"url":"https:\/\/wade.one\/blog\/2009\/09\/02\/another-day-another-group-of-php-funness\/","url_meta":{"origin":1186,"position":1},"title":"Another day, another group of PHP &#8220;funness&#8221;","author":"Wade","date":"September 2, 2009","format":false,"excerpt":"PHP and Serializing...don't try and store the result in a plain text file, there's just a chance you may end up storing NUL so when you go to read a line, you'll end up only reading part of it (the serialized object had a stack trace in it from an\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1167,"url":"https:\/\/wade.one\/blog\/2026\/03\/31\/serverless-is-great-until-you-need-to-debug-it-at-2-a-m\/","url_meta":{"origin":1186,"position":2},"title":"Serverless Is Great Until You Need to Debug It at 2 a.m.","author":"Wade","date":"March 31, 2026","format":false,"excerpt":"I still like serverless, but the tradeoff is obvious when something breaks at 2 a.m. The architecture is easy to ship and harder to reason about when you need logs, context, and a fast path to the real failure.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1180,"url":"https:\/\/wade.one\/blog\/2026\/04\/12\/the-hardest-part-of-serverless-is-not-the-code\/","url_meta":{"origin":1186,"position":3},"title":"The Hardest Part of Serverless Is Not the Code","author":"","date":"April 12, 2026","format":false,"excerpt":"The hard part of serverless is usually not writing the handler. It is understanding what failed, what the event looked like, and why the system changed underneath you.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":463,"url":"https:\/\/wade.one\/blog\/2010\/04\/12\/reset-mysql-root-password-if-you-forgot-it-mysql\/","url_meta":{"origin":1186,"position":4},"title":"Reset MySQL root password if you forgot it #mysql","author":"Wade","date":"April 12, 2010","format":false,"excerpt":"Just had a need to reset the mysql root login password for a server, did a bit of Googling and found out this is how you do it (I work on Ubuntu so you may have to tinker with the lines slightly depending on your distribution): Stop the current MySQL\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":878,"url":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/","url_meta":{"origin":1186,"position":5},"title":"Heterogeneous Parallel Programming &#8211; Completed and Certified!","author":"Wade","date":"May 15, 2015","format":false,"excerpt":"I just got my certificate through from Coursera for completing the\u00a0Heterogeneous Parallel Programming by University of Illinois at Urbana-Champaign on Coursera and I'm very happy! It was a fun (and free) course that covered primarily CUDA programming but towards the end went on to OpenCL. Fun course to do and\u2026","rel":"","context":"In &quot;Ego-centric&quot;","block_context":{"text":"Ego-centric","link":"https:\/\/wade.one\/blog\/category\/ego-centric\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=1186"}],"version-history":[{"count":3,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1186\/revisions"}],"predecessor-version":[{"id":1224,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1186\/revisions\/1224"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=1186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=1186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=1186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}