<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Engineering in Context]]></title><description><![CDATA[Put software engineering into a wider context. Personal, social and economical.]]></description><link>https://engineeringincontext.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Bu3y!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc0ffed-b969-4c5f-9f64-441d9bc42695_440x440.png</url><title>Engineering in Context</title><link>https://engineeringincontext.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 08 Nov 2026 18:03:25 GMT</lastBuildDate><atom:link href="https://engineeringincontext.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Mihaly Balogh]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[engineeringincontext@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[engineeringincontext@substack.com]]></itunes:email><itunes:name><![CDATA[Mihaly Balogh]]></itunes:name></itunes:owner><itunes:author><![CDATA[Mihaly Balogh]]></itunes:author><googleplay:owner><![CDATA[engineeringincontext@substack.com]]></googleplay:owner><googleplay:email><![CDATA[engineeringincontext@substack.com]]></googleplay:email><googleplay:author><![CDATA[Mihaly Balogh]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Knowledge consolidation]]></title><description><![CDATA[Everyone is standing on the shoulders of giants from the past. Even AI agents. Exploring problem spaces.]]></description><link>https://engineeringincontext.com/p/knowledge-consolidation</link><guid isPermaLink="false">https://engineeringincontext.com/p/knowledge-consolidation</guid><dc:creator><![CDATA[Mihaly Balogh]]></dc:creator><pubDate>Tue, 29 Sep 2026 08:01:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Bu3y!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc0ffed-b969-4c5f-9f64-441d9bc42695_440x440.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>1. AI as a more natural interface</strong></h2><p>You sit down in front of Claude, Copilot, Lovable, or any similar tool in the field; you describe what you want, and... there it goes: a new, shiny website, an app, an essay, maybe a song. And if you're tired of typing in all those words and sentences, you can use your voice and tell the computer what you want. Feels good, for many reasons. <br>One particular benefit of this is the <strong>ability to describe</strong> what's in my mind with <strong>my own words,</strong> and hand it over to the computer. It feels more natural than learning sometimes awkward artificial languages and interfaces.</p><p>AI tools - LLMs - have become quite powerful. Their abilities include image and video generation, software code generation, and drafting documents and presentations&#8212;even songs and books. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://engineeringincontext.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Engineering in Context! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>But how did this become so easy <strong>in just a few years</strong>? </p><p>We needed a lot of things for this to happen. First, the core technology itself was already available 10-20 years ago. Then, sufficient computing power became a reality in the last few years. Then, data is needed to train the models. We already had a lot in the form of books, but with the explosion of internet usage, a whole new world of data sources was born. Agents - LLMs that can <em>act - </em>also need tools. Specialized software tools that can perform specific tasks very well. Search engines, compilers, image and text editors are all tools. Let&#8217;s focus on the knowledge part here.</p><h2><strong>2. How we got here</strong></h2><p>An important part of developing these models is training, which requires feeding them large amounts of existing data. Data someone produced.</p><p> We already have a lot of data, including shared experiences, working and not-working examples, descriptions of how to work, patterns, and guides. These accumulated over years and decades. Strangely, LLMs were the lamps that shed light on this pile of knowledge.</p><p>Now let's turn our attention to what has happened over the past decades in software engineering and explore the many factors that have contributed to the current state.</p><h2><strong>3. Building the knowledge infrastructure</strong></h2><p>5, 10, or 20 years ago, very different problems were considered challenging than the ones today. </p><p>For example, in software engineering, there were fewer standards and mature techniques. From a web development perspective, it was still a pioneering era. Web 2.0 was still in its infancy; the technology stacks were more like islands than they are today.<br>A decade later, with the rise of the cloud and the tools born in that era, deployment, infrastructure management, and many other topics matured as well. We started to see more and more &#8220;boring&#8221; technologies: battle-tested and it working reliably.<br>In recent years, even more parts of the software stack got democratized and commoditized. To have a working authentication system earlier usually required at least some custom development; today there are plenty of ready-to-use options like Auth0, BetterAuth, and so on. </p><p>I remember the time when creating a calendar component for a web application required a lot of engineering effort. It seems easy at first, but it turns out to be challenging: handling different languages, date formats, screen sizes, and layouts. One layout is nice and easy to use on a mobile - by the way, which phone, model, size? - but maybe unpleasant, or wrong-sized on a tablet. Or the very dreaded thing is to handle dates: there are many, many time zones, many weird cases, for example when a country is in multiple time zones, but the time zone differences are different. There are several other engineering challenges in the software field.</p><h3>Problem spaces</h3><p>The foremost challenge was, in such cases, to <strong>explore the problem space</strong> itself: what typical and edge cases are there, are there recurring patterns, and, in general, how hard is it to explore and navigate it?  In other words, discovering the nature of the problem(s) and their potential solutions.</p><p>In recent decades, many similar problems were discovered and mapped out. We <strong>understand</strong> the <strong>challenges</strong> we needed to overcome. Based on this knowledge, we built increasingly effective solutions until we had ready-to-use strategies, patterns, and libraries.<br>Such a problem space was no longer uncharted territory, and we had the tools to travel through it faster and more safely.</p><p>In recent years, creating a new application could be done with little to no coding using templates, project generators, and example projects. Sure, putting everything together so it all works could be painful. </p><p>Still, in most cases, it was <em>plumbing</em>.</p><h2><strong>4. A spectacular gap AI could fill </strong></h2><p>We already had good maps and tools, but it was not that comfortable. One could spend a lot of time connecting the tools and frameworks. To use a car analogy: we charted the territory and built the infrastructure, like roads and gas stations, but still traveled in age-old automobiles. Then came newer models built on the existing infrastructure, drawing on decades of engineering experience and unlocking new possibilities. Still a car, but now with a much more comfortable interior and capable of much higher speeds. Although it is still possible to travel by foot - or horse- the car is much faster now in the known space.</p><p>We now know a lot about <strong>what</strong> to build, <strong>how</strong> to build, what to prepare for in terms of common <strong>failures</strong>, issues, and fallacies. We have developed useful theorems, best practices, and tools to aid us. It is way easier to create a working web application now, even without having deep knowledge of the tools. It has become common to have ready-to-use template apps for all major frameworks. Connecting ready-to-use authentication solutions, logging, and databases has become much easier. And so this becomes the least interesting part of web development, but it could consume disproportionate time to make it work. This was the case before coding agents. Now with agents, it can be much faster to assemble a working app from scratch, connect all the required tools, and use it. There are a lot of written materials, documentation, articles, and an agent is just faster at consuming all this information and finding the required configuration and settings to make my code work.</p><h2><strong>5. A note on knowledge externalization</strong></h2><p>There could be many reasons to externalize a skill or knowledge about something: </p><ul><li><p>Not that important,</p></li><li><p>I don&#8217;t have enough time or capacity, </p></li><li><p>another actor is more capable and/or faster, </p></li><li><p>or I can use my energy and time more wisely by spending them on higher-reward tasks. That is all good.</p></li></ul><p>Two possible consequences take more time to be visible. <br>The first is that a single skill or set of <strong>skills decaying</strong> might affect others. People who rely more on navigation tools not only lose their ability to navigate without them but also experience weakened memory.<br>As with all human abilities, our cognitive ones must be exercised and trained. If not by manually writing code, we'll need to find another approach.</p><p>The other consequence is becoming increasingly <strong>dependent</strong> on <strong>external</strong> actors. That can be a company, tool, other person, etc. The real threat here is losing sole ownership and governance over our abilities if we externalize too much.</p><p>Now, this is not new; we have been doing this for a long time.</p><p>With LLMs, it becomes way easier to materialize our inner thinking, logic, and our own brain's algorithms as data and software. If I lean too much on these tools, I might find myself in trouble when I lose access to my externalized memory, skills, and knowledge, especially if that knowledge is not internalized. I will write on this more in an upcoming article.</p><h1><strong>Conclusion</strong></h1><p>I will leave here three questions to think about for now. </p><ol><li><p>How does their speed affect quality? -  <em>Are we at the point where they can produce high-quality outputs (granted to have good inputs and a good guidance system), or do we just not see the drop in quality in the high-speed noise?</em></p></li><li><p>Are the problem spaces where AI tools are very effective (like web app or website development) fully explored with the current technology?</p></li><li><p>Can today&#8217;s AI tools explore new problem spaces on their own? - <em>It would effectively mean that they are capable of something similar to human intuition. Or just being very effective at using brute force.</em></p></li></ol><p>In upcoming articles, I will explore these topics in more detail.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://engineeringincontext.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Engineering in Context! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Coming soon]]></title><description><![CDATA[This is Engineering in Context.]]></description><link>https://engineeringincontext.com/p/coming-soon</link><guid isPermaLink="false">https://engineeringincontext.com/p/coming-soon</guid><dc:creator><![CDATA[Mihaly Balogh]]></dc:creator><pubDate>Fri, 02 May 2025 19:44:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Bu3y!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc0ffed-b969-4c5f-9f64-441d9bc42695_440x440.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is Engineering in Context.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://engineeringincontext.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://engineeringincontext.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item></channel></rss>