{"id":141,"date":"2026-09-03T08:00:49","date_gmt":"2026-09-03T08:00:49","guid":{"rendered":"https:\/\/www.dobryakov.net\/blog\/141\/"},"modified":"2026-09-03T08:00:49","modified_gmt":"2026-09-03T08:00:49","slug":"clean-code-comfort-tax","status":"publish","type":"post","link":"https:\/\/www.dobryakov.net\/blog\/141\/","title":{"rendered":"Clean Code Was a Tax. We Just Paid It With Ourselves"},"content":{"rendered":"<p>For ten years I wrote beautiful code. Aligned things on shelves, argued about variable names in code review, defended patterns as if a plane would fall out of the sky without them. And I was good at it. That is why it hurts to be the first to say it out loud: almost everything we called &quot;clean code&quot; \u2014 patterns, naming rules, tidy architecture \u2014 was not engineering necessity. It was a tax. And I was not the one paying it. The client paid it. We paid with ourselves.<\/p>\n<p><!--more--><\/p>\n<p>People are ready to burn me at the stake for this, and I understand my colleagues \u2014 I stood on the same stake a year ago. But if you want to stay useful as AI changes software work, you have to separate which parts of your work create client value and which parts mostly serve developers.<\/p>\n<h2>Who Actually Needed the Beauty<\/h2>\n<p>Start with a practical fact: most software is changed many times after release. Software is not written once and forever. By its nature it lives through edits: it gets extended, modified, owned as an asset for years. Enterprise teams understood this early and sat down to figure out how to make owning that asset cheap.<\/p>\n<p>Over time, maintainability became framed not only as a cost concern but as a moral virtue. Well-structured systems give most programmers pleasure. It is simply more pleasant when everything is aligned, neatly organized, and logically connected \u2014 not because the code runs better, but because it is more comfortable to hold its mental model in your head. I know this from the inside: a tidy codebase gave me near-physical satisfaction. It had nothing to do with the client&#x27;s actual problem.<\/p>\n<p>And the primary goal of code \u2014 to work and produce the expected result \u2014 quietly got swept under the rug. Some teams overvalued internal code aesthetics compared with externally visible behavior, and testing became a separate discipline partly because developers are not always good judges of whether software satisfies users. Think about what that construction is: many programmers are trained to focus on implementation details before user outcomes. So we hire separate people who do not understand code and are not infected by this distortion. In many teams, testers provide an independent check before release. Independent testing helps counterbalance implementation bias.<\/p>\n<p>A revealing contradiction is this. Programmers do not like writing tests \u2014 I did not either. But the moment AI appeared, many developers started arguing that its output must be read through by human eyes. You would think it should be the other way around: hand the routine to the machine, save the eyes for problem definition. This suggests that part of the resistance may be about control, not only quality \u2014 we are clinging to the part of the job that gave us a sense of control and mastery.<\/p>\n<h2>The Maintenance Incentive Loop<\/h2>\n<p>Companies then had a straightforward incentive: a satisfied, happy programmer means a sharp drop in total cost of ownership. So they deliberately took away our need to think about the result and built management practices that rewarded maintainability and developer satisfaction. Books like <em>Clean Code<\/em> helped formalize the culture of readable, maintainable code.<\/p>\n<p>The interpreter does not care what you named a variable \u2014 <code>order_sum<\/code> or <code>x<\/code>. The code runs identically. But the human labor cost of maintenance is incomparable. So we write &quot;good&quot; code that looks easy to maintain \u2014 and therefore it is easy to maintain. Because readable code is easier for humans to modify, teams reward the practices that make code feel readable. The incentive reinforces itself: the programmer revels in the elegance of the mental model, the tester forces them back to the result, the manager maintains the coziness \u2014 and the arrangement can satisfy developers, testers, and managers while still hiding cost from the client. For years I was a happy link in that loop and sincerely believed it was engineering.<\/p>\n<h2>What AI Did<\/h2>\n<p>AI changes this arrangement because it lowers the cost of reading, modifying, or regenerating code.<\/p>\n<p>As coding models improved enough to handle larger maintenance tasks, it turned out that some maintenance practices became less economically necessary. The code works and solves the client&#x27;s problem \u2014 and, for some categories of software, internal elegance matters less when fixes are cheap and fast. To the client, the immediate business impact of a failure may be similar regardless of how the code was produced. From the client&#x27;s perspective, crashed vibe-code from a junior is indistinguishable from crashed pristine code from a senior \u2014 neither in process nor in consequence. The beauty inside stopped being visible from the outside at the exact moment when rewriting a misbehaving piece cost pennies and almost no human involvement.<\/p>\n<p>In some cases, AI can sharply reduce maintenance cost. AI does not care what you named a variable or how many indentation levels you have \u2014 it does not read code like a human. Yes, accurate names and clean logic give it an advantage: they are a semantic hint. But not the critical advantage that would make a human either refuse to fix someone else&#x27;s chaos or charge triple. AI may be able to infer enough context to propose a fix, especially when failures are well specified.<\/p>\n<p>An honest caveat, to avoid overstating the claim. I have one strong case in front of me, not a statistical law. An engineer single-handedly rewrote a legacy codebase roughly ten years old; at 10\u201315 deploys per day \u2014 zero production incidents over six months. This is one case, and I am not presenting it as a proven pattern. But it shows that the possible productivity gain may be large, not incremental. In another context, at a large enterprise client \u2014 Askona \u2014 AI-assisted development of real microservices (next best offer, warehouse recalculation) runs directly inside the legacy landscape: modernization without a &quot;big bang.&quot; These examples suggest AI-assisted development is already being used in production contexts.<\/p>\n<h2>The Tax We Hid for Twenty Years<\/h2>\n<p>The harder implication is about developer incentives \u2014 what this forced me to reconsider about my own work.<\/p>\n<p>A large share of many programmers\u2019 work \u2014 and a major expense for clients \u2014 was financing future maintenance convenience. Not the code working. The convenience of editing it later. Whether that edit would ever be needed; whether the same person or someone else would make it \u2014 it was considered good form to ensure in advance that making a change six months later would be comfortable and cheap, with the cost passed to the client. We called this professionalism. In many cases, maintainability work also protected developer comfort, not only client value.<\/p>\n<p>AI weakens the case for paying as much of this cost upfront. AI can often help parse or rewrite code cheaply enough to change the maintenance trade-off \u2014 well, it will spend a few more tokens. No one wants to pay for a programmer&#x27;s ability to build an elegant mental model in their head: code can be generated from rough requirements, then refined through tests and acceptance criteria, and AI can assist with requirements, architecture sketches, and test generation. The engineer&#x27;s role does not disappear \u2014 it shifts. Not reading someone else&#x27;s output with your eyes, but setting the task precisely and formulating acceptance criteria. Which, by the way, is exactly what a good engineer was always valued for \u2014 just without the layer of ritual beauty.<\/p>\n<p>It is understandable that many developers react defensively. I was burning too \u2014 because admitting this means admitting that part of my skill was never about the machine. It was about my comfort and my status. Developers should reassess which skills remain economically valuable before clients force that reassessment. Some clean-code practices were partly developer-comfort costs presented as engineering value. Engineers who can define problems, risks, and acceptance criteria will remain valuable even if code aesthetics become cheaper to produce.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For ten years I wrote and defended beautiful code. Now I can admit what it actually was: a tax on future maintenance convenience, billed to the client.<\/p>\n","protected":false},"author":0,"featured_media":140,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-141","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.dobryakov.net\/blog\/141\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Grigoriy Dobryakov - IT+AI Blog - Grigoriy Dobryakov&#039;s blog: management, development and testing\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Clean Code Was a Tax \u2014 and AI Just Zeroed It\" \/>\n\t\t<meta property=\"og:description\" content=\"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.dobryakov.net\/blog\/141\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-03T08:00:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-03T08:00:49+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Clean Code Was a Tax \u2014 and AI Just Zeroed It\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#blogposting\",\"name\":\"Clean Code Was a Tax \\u2014 and AI Just Zeroed It\",\"headline\":\"Clean Code Was a Tax. We Just Paid It With Ourselves\",\"author\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/author\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/clean-code-comfort-tax.jpg\",\"width\":1200,\"height\":630,\"caption\":\"Clean Code Was a Tax. We Just Paid It With Ourselves\"},\"datePublished\":\"2026-09-03T08:00:49+00:00\",\"dateModified\":\"2026-09-03T08:00:49+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#webpage\"},\"articleSection\":\"Uncategorized\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"position\":2,\"name\":\"Uncategorized\",\"item\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/category\\\/uncategorized\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#listItem\",\"name\":\"Clean Code Was a Tax. We Just Paid It With Ourselves\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#listItem\",\"position\":3,\"name\":\"Clean Code Was a Tax. We Just Paid It With Ourselves\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#organization\",\"name\":\"Grigoriy Dobryakov - IT+AI Blog\",\"description\":\"Grigoriy Dobryakov's blog: management, development and testing\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#webpage\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/\",\"name\":\"Clean Code Was a Tax \\u2014 and AI Just Zeroed It\",\"description\":\"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \\u2014 and the comfort tax is over.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/author\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/author\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/clean-code-comfort-tax.jpg\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#mainImage\",\"width\":1200,\"height\":630,\"caption\":\"Clean Code Was a Tax. We Just Paid It With Ourselves\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/141\\\/#mainImage\"},\"datePublished\":\"2026-09-03T08:00:49+00:00\",\"dateModified\":\"2026-09-03T08:00:49+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/\",\"name\":\"Grigoriy Dobryakov - IT+AI Blog\",\"description\":\"Grigoriy Dobryakov's blog: management, development and testing\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Clean Code Was a Tax \u2014 and AI Just Zeroed It","description":"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.","canonical_url":"https:\/\/www.dobryakov.net\/blog\/141\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.dobryakov.net\/blog\/141\/#blogposting","name":"Clean Code Was a Tax \u2014 and AI Just Zeroed It","headline":"Clean Code Was a Tax. We Just Paid It With Ourselves","author":{"@id":"https:\/\/www.dobryakov.net\/blog\/author\/#author"},"publisher":{"@id":"https:\/\/www.dobryakov.net\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.dobryakov.net\/blog\/wp-content\/uploads\/2026\/09\/clean-code-comfort-tax.jpg","width":1200,"height":630,"caption":"Clean Code Was a Tax. We Just Paid It With Ourselves"},"datePublished":"2026-09-03T08:00:49+00:00","dateModified":"2026-09-03T08:00:49+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.dobryakov.net\/blog\/141\/#webpage"},"isPartOf":{"@id":"https:\/\/www.dobryakov.net\/blog\/141\/#webpage"},"articleSection":"Uncategorized"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dobryakov.net\/blog\/141\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.dobryakov.net\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}},{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/#listItem","position":2,"name":"Uncategorized","item":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/141\/#listItem","name":"Clean Code Was a Tax. We Just Paid It With Ourselves"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/141\/#listItem","position":3,"name":"Clean Code Was a Tax. We Just Paid It With Ourselves","previousItem":{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}}]},{"@type":"Organization","@id":"https:\/\/www.dobryakov.net\/blog\/#organization","name":"Grigoriy Dobryakov - IT+AI Blog","description":"Grigoriy Dobryakov's blog: management, development and testing","url":"https:\/\/www.dobryakov.net\/blog\/"},{"@type":"WebPage","@id":"https:\/\/www.dobryakov.net\/blog\/141\/#webpage","url":"https:\/\/www.dobryakov.net\/blog\/141\/","name":"Clean Code Was a Tax \u2014 and AI Just Zeroed It","description":"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.dobryakov.net\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.dobryakov.net\/blog\/141\/#breadcrumblist"},"author":{"@id":"https:\/\/www.dobryakov.net\/blog\/author\/#author"},"creator":{"@id":"https:\/\/www.dobryakov.net\/blog\/author\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.dobryakov.net\/blog\/wp-content\/uploads\/2026\/09\/clean-code-comfort-tax.jpg","@id":"https:\/\/www.dobryakov.net\/blog\/141\/#mainImage","width":1200,"height":630,"caption":"Clean Code Was a Tax. We Just Paid It With Ourselves"},"primaryImageOfPage":{"@id":"https:\/\/www.dobryakov.net\/blog\/141\/#mainImage"},"datePublished":"2026-09-03T08:00:49+00:00","dateModified":"2026-09-03T08:00:49+00:00"},{"@type":"WebSite","@id":"https:\/\/www.dobryakov.net\/blog\/#website","url":"https:\/\/www.dobryakov.net\/blog\/","name":"Grigoriy Dobryakov - IT+AI Blog","description":"Grigoriy Dobryakov's blog: management, development and testing","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.dobryakov.net\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Grigoriy Dobryakov - IT+AI Blog - Grigoriy Dobryakov's blog: management, development and testing","og:type":"article","og:title":"Clean Code Was a Tax \u2014 and AI Just Zeroed It","og:description":"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.","og:url":"https:\/\/www.dobryakov.net\/blog\/141\/","article:published_time":"2026-09-03T08:00:49+00:00","article:modified_time":"2026-09-03T08:00:49+00:00","twitter:card":"summary_large_image","twitter:title":"Clean Code Was a Tax \u2014 and AI Just Zeroed It","twitter:description":"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over."},"aioseo_meta_data":{"post_id":"141","title":"Clean Code Was a Tax \u2014 and AI Just Zeroed It","description":"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.","keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"Clean Code Was a Tax \u2014 and AI Just Zeroed It","og_description":"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.","og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":"Clean Code Was a Tax \u2014 and AI Just Zeroed It","twitter_description":"Patterns, naming conventions, and architecture served programmer comfort, not engineering necessity. AI reads code differently \u2014 and the comfort tax is over.","schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-09-03 08:00:53","updated":"2026-09-03 08:00:53"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.dobryakov.net\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tClean Code Was a Tax. We Just Paid It With Ourselves\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.dobryakov.net\/blog"},{"label":"Uncategorized","link":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/"},{"label":"Clean Code Was a Tax. We Just Paid It With Ourselves","link":"https:\/\/www.dobryakov.net\/blog\/141\/"}],"_links":{"self":[{"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/posts\/141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/comments?post=141"}],"version-history":[{"count":0,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/posts\/141\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/media\/140"}],"wp:attachment":[{"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/media?parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/categories?post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/tags?post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}