{"id":523,"date":"2026-02-24T00:02:59","date_gmt":"2026-02-24T00:02:59","guid":{"rendered":"https:\/\/joskodeboer.nl\/?p=523"},"modified":"2026-04-10T14:45:01","modified_gmt":"2026-04-10T14:45:01","slug":"ai-coding-is-engineering-still-engineering","status":"publish","type":"post","link":"https:\/\/joskodeboer.nl\/index.php\/2026\/02\/24\/ai-coding-is-engineering-still-engineering\/","title":{"rendered":"AI coding: Is engineering still engineering?"},"content":{"rendered":"\n<div class=\"et_pb_section_0 et_pb_section et_section_regular et_block_section preset--module--divi-section--default\"><div class=\"et_pb_row_0 et_pb_row et_block_row\"><div class=\"et_pb_column_0 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><p>AI coding tools are everywhere, promising a revolution in software engineering. Some say they'll replace developers, or make us 10x more productive.\u00a0<\/p>\n<p>The truth?<\/p>\n<p>AI is a fantastic prototyping tool, an accelerator of work, but it doesn't engineer.<\/p>\n<\/div><\/div><div class=\"et_pb_image_0 et_pb_image et_pb_module et_block_module preset--module--divi-image--default\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/joskodeboer.nl\/wp-content\/uploads\/2026\/02\/Generated-Image-February-24-2026-12_29AM.jpg1_.jpeg\" width=\"1408\" height=\"768\" srcset=\"https:\/\/joskodeboer.nl\/wp-content\/uploads\/2026\/02\/Generated-Image-February-24-2026-12_29AM.jpg1_.jpeg 1408w, https:\/\/joskodeboer.nl\/wp-content\/uploads\/2026\/02\/Generated-Image-February-24-2026-12_29AM.jpg1_-1280x698.jpeg 1280w, https:\/\/joskodeboer.nl\/wp-content\/uploads\/2026\/02\/Generated-Image-February-24-2026-12_29AM.jpg1_-980x535.jpeg 980w, https:\/\/joskodeboer.nl\/wp-content\/uploads\/2026\/02\/Generated-Image-February-24-2026-12_29AM.jpg1_-480x262.jpeg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1408px, 100vw\" class=\"wp-image-527\" title=\"Generated Image February 24, 2026 - 12_29AM.jpg(1)\" \/><\/span><\/div><div class=\"et_pb_text_1 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><p><span style=\"color: #808080;\">(caption) On the left: headlines, capital, promises \u2014 but fragile infrastructure. On the right: fewer spotlights, more hard hats \u2014 engineers crafting a solid bridge, humans orchestrating machines, building systems that hold. <\/span><\/p>\n<p><span style=\"color: #808080;\">That\u2019s the difference between hype and durable value.<\/span><\/p>\n<\/div><\/div><div class=\"et_pb_text_2 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><h2>AI excellence<\/h2>\n<p>AI excels at prototyping and exploration. Need to spin up a new design pattern? A Proof of Concept (POC) or throw-away toy prototype? AI is definitely your best friend. It'll generate scaffolding, draft APIs, and wire up a frontend+backend in hours or less. Perfect for commitment free experimentation. Example: I built a <a href=\"https:\/\/github.com\/daimonie\/sublime-assistant-package\">Sublime Assistant AI plugin<\/a> with context functionality in less than an hour.<\/p>\n<p>Writing a one-off script or a tool for your own use?\u00a0<strong>Do it<\/strong>. Nobody is maintaining or scaling this, and generative AI's speed and flexibiltiy make it disposable code where enterprise concerns don't matter.<\/p>\n<p>Low-intensity work where you're basically copy-pasting templates together? AI will automate it, allowing you to focus on where you add the most value.<\/p>\n<p>&nbsp;<\/p>\n<\/div><\/div><div class=\"et_pb_text_3 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><h2>AI failing<\/h2>\n<p>The trade-offs are the most important. As Linus Torvalds put it (<a href=\"https:\/\/www.youtube.com\/watch?v=mfv0V1SxbNA\">unscripted conversation in a LTT video<\/a>, around the 36:30-37:30 mark):<\/p>\n<blockquote>\n<p><em>\"Anybody who thinks that's a valid metric (lines of code, red.) is too stupid to work at a tech company. \"<\/em><\/p>\n<\/blockquote>\n<p>It was never about pure code output. Real engineering is about trading maintainability, scalability, flexibility, and future proofing. Decisions that make code last. AI just generates lines of codes - the least useful metric. It'll rewrite your entire system - with 80% accuracy - but it won't ask whether you should, and what trade-offs you are willing to make.<\/p>\n<p>In my <a href=\"https:\/\/joskodeboer.nl\/index.php\/2024\/10\/08\/will-genai-replace-developers\/\">boardgame experiment<\/a> I banned myself from coding to test generative AI's limits. It made a mistake in core logic (hexagonal adjacency) and could not self-correct - I had to have it visualize the logic, then tell it how to correct the mistake. I had to tell it what was wrong. Studies like the one from <a href=\"https:\/\/garymarcus.substack.com\/p\/breaking-news-ai-coding-may-not-be\">METR<\/a> (<a href=\"https:\/\/metr.org\/blog\/2025-07-10-early-2025-ai-experienced-os-dev-study\/\">source<\/a>) found that, despite dev's confidence in a 20% speed up, using generative AI tools actually slowed them down by 19%.<\/p>\n<blockquote>\n<p><em>Despite $30\u201340 billion in enterprise investment into GenAI, this report uncovers a surprising result in that 95% of organizations are getting zero return. (Source: <a href=\"https:\/\/mlq.ai\/media\/quarterly_decks\/v0.1_State_of_AI_in_Business_2025_Report.pdf\">MIT<\/a>)<\/em><\/p>\n<\/blockquote>\n<p>One explanation is a common occurence when debugging with AI. In a reasonably large (10-40%, anecdotally) amount of instances, it will confidently tell you where the problem lies. And when you tell it that didn't work, it will dig deeper. It keeps digging a hole. It never admits that it was wrong - and that the answer is probably on a forum somewhere already.<\/p>\n<p>&nbsp;<\/p>\n<\/div><\/div><div class=\"et_pb_text_4 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><h2><a href=\"https:\/\/mlq.ai\/media\/quarterly_decks\/v0.1_State_of_AI_in_Business_2025_Report.pdf\">AI: Intelligent? Ask an influencer<\/a><\/h2>\n<p>AI proponents have been extremely optimistic, promising world-shattering revolutions in the way we work. Jobs phasing out in less than a year. Profits will be skyrocketing. As <a href=\"https:\/\/www.technologyreview.com\/2025\/12\/15\/1129174\/the-great-ai-hype-correction-of-2025\/\">technology review<\/a> put it:<\/p>\n<blockquote>\n<p><em>\"AI companies have presented each new product drop as a major breakthrough, reinforcing a widespread faith that this technology would just keep getting better.\"<\/em><\/p>\n<\/blockquote>\n<p>And to be fair, they are getting better. Smarter, more efficient, better with handling context, tools, tasks, skills, RAG. For this optimistic view on AI and general review of news, I would suggest <a href=\"https:\/\/natesnewsletter.substack.com\/\">Nate B Jones<\/a>.<\/p>\n<p>AI definitely gets better at scoring well on benchmarks. In a well-known anecdote that I heard from a bloke in a pub - much like an LLM gets some information from a random reddit post: Early AIs were benchmarked for solving chess puzzles. As a result, they were fairly decent at chess. However, later models weren't trained on those benchmarks anymore and as a result they lost the ability to play chess almost overnight when the release cycle happened.<\/p>\n<blockquote>\n<p><em>These considerations indicate that benchmark performance, even across many tasks, is not sufficient evidence of general intelligence. General intelligence would presumably entail strong benchmark performance, but available real-world evidence suggests that the core properties of general intelligence \u2013 flexibility, generality, and reliability \u2013 remain elusive. (Source: <a href=\"https:\/\/garymarcus.substack.com\/p\/rumors-of-agis-arrival-have-been\">Rumors of AGI ... greatly exaggerated<\/a>)<\/em><\/p>\n<\/blockquote>\n<p>For a more grounded and realistic assessment of generative AI, I suggest <a href=\"https:\/\/garymarcus.substack.com\/about\">Gary Marcus<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<\/div><\/div><div class=\"et_pb_text_5 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><h2>AI Heuristics<\/h2>\n<p>What do I think about generative AI? It's a tool. It's as much as a tool as a good framework is to python, or python was to C++. You gain something (easier work) and you lose something (static typing, proper memory management). It's engineering, so it's about tradeoffs.<\/p>\n<p>I think AI is absolutely good for:<\/p>\n<ul>\n<li>Exploring patterns and proof of concepts<\/li>\n<li>Prototypes, throw-away tools<\/li>\n<li>Boilerplate and repetitive tasks<\/li>\n<li>Replicating patterns<\/li>\n<\/ul>\n<p>I also think there's some things it shouldn't be used for. AI shouldn't decide; keep a human in the loop, ideally one with domain expertise. Don't vibe code your way into production - review, think about maintainability, scalability, security, governance; be an engineer. Production should last.<\/p>\n<\/div><\/div><div class=\"et_pb_text_6 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><h2>The main message<\/h2>\n<p>For me, AI is not merely a technique for rapid prototyping, but a way to focus on high-impact tasks where we can add value. Focus on engineering and architecture more, and less on implementation. It was never about typing code.<\/p>\n<p>AI does not lower the cost of poor decisions, only the cost of producing code. As execution becomes cheaper, the trick is proper judgement.<\/p>\n<p>The strategic move is not to maximize (low-value) output, but to redirect freed capacity towards architecture, clarity, testability, security, and long-term coherence.\u00a0<\/p>\n<p>Used carelessly, AI will only create chaos. Used deliberately, and it creates value \u2014 shifting low-value production to high-leverage thinking.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-523","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/posts\/523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/comments?post=523"}],"version-history":[{"count":6,"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/posts\/523\/revisions"}],"predecessor-version":[{"id":559,"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/posts\/523\/revisions\/559"}],"wp:attachment":[{"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/media?parent=523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/categories?post=523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/joskodeboer.nl\/index.php\/wp-json\/wp\/v2\/tags?post=523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}