<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss-styles.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>vibe.log — everything</title><description>Vibes, linux, software engineering</description><link>https://www.thefuga.dev/</link><language>en-us</language><atom:link href="https://www.thefuga.dev/rss/all.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Mon, 12 Oct 2026 00:00:00 GMT</lastBuildDate><item><title>Goodbye, world!</title><link>https://www.thefuga.dev/blog/goodbye-world/</link><guid isPermaLink="true">https://www.thefuga.dev/blog/goodbye-world/</guid><description>Hello worlds are gone. What now?</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: this text was written by me and shares my personal views. AI was used for grammar, spelling, formatting, translation, and finding references.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;During the &lt;a href=&quot;https://www.youtube.com/watch?v=vDjW_dRyKXY&quot;&gt;Rails World 2026 Opening Keynote&lt;/a&gt;, DHH talked about how &quot;today&quot; is a great time to be alive. In his words: &quot;even more exciting for me is to be alive right now in this moment&quot;[^dhh]. He was talking about the AI situation. That got me thinking.
I always felt like there was nothing new coming to software, no paradigm breakers. I thought code was at its peak and anything from that point would be diminishing returns. That bummed me out in a way, because it meant I wouldn&apos;t see history being made. LLMs changed that.&lt;/p&gt;
&lt;h2&gt;How it all started&lt;/h2&gt;
&lt;p&gt;My journey with computers started in the early 2000s, but 2006 was when I knew that I wanted to work with them for a living. It was before I knew what programming was all about. It all started with curiosity and the will to install games, which evolved into adding mods, and eventually into messing around with Windows to make the internet connection work. Soon I was on Linux, and that&apos;s where a new horizon of possibilities arose. In 2007 I took Linux lessons with a guy who became my first mentor. He showed me the basics, all the way up to recompiling the kernel.&lt;/p&gt;
&lt;p&gt;At that point, I barely knew how to read or write in English. Everything was a struggle and took tremendous effort to figure out. Searching forums was hard, and I had to rely on translators - which, back then, weren&apos;t always that helpful. Everything had a long learning curve, and because most of what I learned wasn&apos;t practiced, a lot of it was lost, so I kept every command and what it did documented.&lt;/p&gt;
&lt;p&gt;The most valuable part of all of that was not the learning itself, but the skill set I was developing - without having any idea about it. I learned how to search, read through error messages and man pages, how to approach the community for help, how to organize my work and findings, and much more. These skills were invaluable when I began programming, when I started college, and later in my career - in fact, they still are. Without realizing it, I was developing my systems thinking[^systems][^senge].&lt;/p&gt;
&lt;h2&gt;Hello, world!&lt;/h2&gt;
&lt;p&gt;My first hello world[^hello] app was a C++ app I did while trying to learn programming. I remember posting on a PC forum that had a programming section asking for tips, and people recommended learning OOP - I had no idea what that was, and when I looked into it, it made even less sense.&lt;/p&gt;
&lt;p&gt;At first, I never really dug hello worlds. At first glance, they don&apos;t do anything useful. But if you think about it, they make sense. There is a lot going on in a hello world. Before you can get it to run, you need to set up the environment, which by itself can be a solid learning process. Then you learn about the command line, about commands, arguments, parameters. You learn about the compiler, you learn how to read error messages, and how to debug code. Then it finally runs. The result is unimpressive, but the value is the journey from typing in a text editor all the way to seeing the output on the screen.&lt;/p&gt;
&lt;p&gt;The thought process behind hello worlds is valid. It&apos;s about investigating, asking questions, and trial and error. Or to put it in other words: it&apos;s about programming.&lt;/p&gt;
&lt;p&gt;Hello worlds are no more. We no longer have to set up environments on our own, or read long stack traces, or go line by line trying to figure out what is going on. Agents will do that. They are faster, they know where to look, and the knowledge is there. Newcomers are likely just creating full complex systems as a &quot;hello world&quot;. And that&apos;s a problem.&lt;/p&gt;
&lt;h2&gt;What the future looks like&lt;/h2&gt;
&lt;h3&gt;The problem&lt;/h3&gt;
&lt;p&gt;What worries me the most about the future is that we can now do all of those &quot;hello world&quot; steps with a single prompt. But where&apos;s the learning process? Many skills that I learned back then are transferable to many fields, and they are just as useful for &quot;vibe-coding&quot;[^vibe] as they are for debugging a C program. Where will this come from now? How are people learning how to explore, debug, ask, break, and fix things if the agent is the one doing all of that work?&lt;/p&gt;
&lt;h3&gt;The software engineering career&lt;/h3&gt;
&lt;p&gt;Social media is full of the idea that software engineers will get replaced. I don&apos;t fear for my career. I know a product person can&apos;t replace me. Not because I&apos;m personally irreplaceable, but because they have a different skill set, one that&apos;s much more directed towards the high-level aspects of the product and management.&lt;/p&gt;
&lt;p&gt;Agents are not people. You can manage them, but the extent of what they produce is going to be limited to what you tell them; they will not have ideas on their own, or discuss with each other, gather different experiences and backgrounds, and consolidate them into an implementation. If they are not properly guided, they&apos;ll go by average, because that&apos;s how they work. And if you&apos;re building by average, you should expect average results.&lt;/p&gt;
&lt;p&gt;Engineering in general is about many things, and one of them is decision-making. Not based on gut feelings, or on what others are doing[^boring], but on your own reality: available resources, requirements, and constraints. This involves not only looking around, but also reaching out to people, engaging in discussions, and digging through sources that may not even be documented. An agent can handle the practical part of these activities, but it doesn&apos;t have enough context to make decisions.&lt;/p&gt;
&lt;p&gt;Not to mention diversity. What makes the company&apos;s culture is the people, their history, backgrounds, opinions, and vision. Agents may have the indexed knowledge of everything, but they won&apos;t have the uniqueness of a group of people working together.&lt;/p&gt;
&lt;h3&gt;The opportunity&lt;/h3&gt;
&lt;p&gt;Software engineering is forever changed. And I&apos;m glad I&apos;m part of that. Yes, I loved writing code; I enjoyed every moment of it. Learning new languages, new ways of solving the same problem. But this is no more. Just like punched cards, floppy disks, and shared FTP servers are gone, writing code by hand, changing between coding and testing hats, is also gone.&lt;/p&gt;
&lt;p&gt;That gives us a unique opportunity to be part of something great. We are no longer constrained by how much code we can output - which didn&apos;t include just the writing part, but also figuring out test scenarios, use cases, ways some piece of code could fail, and what the implications of failure are, navigating code to gather context, reading through dozens of lines of a stack trace.&lt;/p&gt;
&lt;p&gt;Writing code is no longer the bottleneck, but getting it to production still is[^phoenix]. Continuous delivery[^cd] still drives the cycle to production, and CI pipelines are more important than ever[^accelerate]. There is no recipe for CD; each company is its own universe. It takes time, experimentation, and introspection to find what works best. LLMs can assist, but they won&apos;t be in charge. This remains an engineering task.&lt;/p&gt;
&lt;p&gt;It is now easier than ever to try different approaches, run prototypes, and benchmark. A different skill set is required.&lt;/p&gt;
&lt;h2&gt;What&apos;s this blog all about?&lt;/h2&gt;
&lt;p&gt;I&apos;ve been experimenting, learning and exploring for roughly two decades, and I think a lot of that can be shared. The same way I&apos;ve learned from others&apos; experiences, I think it&apos;s time I shared findings of my own.&lt;/p&gt;
&lt;p&gt;In the coming weeks, I will share some of my personal projects: some born out of pure vibes, others from back when programming was still a thing. I&apos;ll also talk more about my experience with AI in software engineering, from the early days of dumb autocomplete to frontier models.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;[^dhh]: The above quote is from DHH&apos;s &lt;a href=&quot;https://www.youtube.com/watch?v=vDjW_dRyKXY&amp;amp;t=27s&quot;&gt;Rails World 2026 Opening Keynote&lt;/a&gt;, at 0:27.&lt;/p&gt;
&lt;p&gt;[^systems]: &lt;a href=&quot;https://en.wikipedia.org/wiki/Systems_thinking&quot;&gt;Systems thinking&lt;/a&gt;, Wikipedia.&lt;/p&gt;
&lt;p&gt;[^senge]: Peter M. Senge, &lt;em&gt;The Fifth Discipline: The Art and Practice of the Learning Organization&lt;/em&gt; (1990). Senge calls systems thinking the &quot;fifth discipline&quot;, the one that ties the other four together.&lt;/p&gt;
&lt;p&gt;[^cd]: &lt;a href=&quot;https://continuousdelivery.com/&quot;&gt;Continuous Delivery&lt;/a&gt;, Jez Humble.&lt;/p&gt;
&lt;p&gt;[^hello]: The &lt;a href=&quot;https://en.wikipedia.org/wiki/%22Hello,_World!%22_program&quot;&gt;&quot;Hello, World!&quot; program&lt;/a&gt; first appeared in Brian Kernighan&apos;s 1972 tutorial for the B language, and was popularized by &lt;em&gt;The C Programming Language&lt;/em&gt; (Kernighan &amp;amp; Ritchie, 1978).&lt;/p&gt;
&lt;p&gt;[^vibe]: &lt;a href=&quot;https://en.wikipedia.org/wiki/Vibe_coding&quot;&gt;Vibe coding&lt;/a&gt;, a term coined by Andrej Karpathy in February 2025.&lt;/p&gt;
&lt;p&gt;[^boring]: Dan McKinley, &lt;a href=&quot;https://boringtechnology.club/&quot;&gt;Choose Boring Technology&lt;/a&gt; (2015).&lt;/p&gt;
&lt;p&gt;[^accelerate]: Nicole Forsgren, Jez Humble, and Gene Kim, &lt;em&gt;Accelerate: The Science of Lean Software and DevOps&lt;/em&gt; (2018). Based on the &lt;a href=&quot;https://dora.dev/&quot;&gt;DORA&lt;/a&gt; research, it shows that continuous integration and delivery practices predict software delivery performance.&lt;/p&gt;
&lt;p&gt;[^phoenix]: Gene Kim, Kevin Behr, and George Spafford, &lt;em&gt;The Phoenix Project&lt;/em&gt; (2013). A novel that applies the Theory of Constraints from Eliyahu Goldratt&apos;s &lt;em&gt;The Goal&lt;/em&gt; (1984) to IT: speeding up any step other than the bottleneck doesn&apos;t make the whole system faster.&lt;/p&gt;
</content:encoded><category>ai</category><category>career</category><category>learning</category><category>personal</category></item><item><title>Book: Accelerate</title><link>https://openlibrary.org/isbn/9781942788331</link><guid isPermaLink="false">book:accelerate</guid><description>The research behind what makes delivery teams perform.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Nicole Forsgren, Jez Humble, Gene Kim&lt;/p&gt;&lt;p&gt;The research behind what makes delivery teams perform.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9781942788331&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>devops</category><category>continuous-delivery</category><category>research</category></item><item><title>Book: Clean Architecture</title><link>https://openlibrary.org/isbn/9780134494166</link><guid isPermaLink="false">book:clean-architecture</guid><description>Dependencies pointing inward, and keeping policy apart from details.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Robert C. Martin&lt;/p&gt;&lt;p&gt;Dependencies pointing inward, and keeping policy apart from details.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780134494166&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>architecture</category><category>design</category></item><item><title>Book: Clean Code</title><link>https://openlibrary.org/isbn/9780132350884</link><guid isPermaLink="false">book:clean-code</guid><description>Naming, small functions, and code written to be read.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Robert C. Martin&lt;/p&gt;&lt;p&gt;Naming, small functions, and code written to be read.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780132350884&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>craftsmanship</category><category>design</category></item><item><title>Book: Competing with Unicorns</title><link>https://openlibrary.org/isbn/9781680507232</link><guid isPermaLink="false">book:competing-with-unicorns</guid><description>How the big tech companies organise teams to build and ship.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Jonathan Rasmusson&lt;/p&gt;&lt;p&gt;How the big tech companies organise teams to build and ship.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9781680507232&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>teams</category><category>management</category><category>agile</category></item><item><title>Book: Design Patterns</title><link>https://openlibrary.org/isbn/9780201633610</link><guid isPermaLink="false">book:design-patterns</guid><description>The Gang of Four catalogue of object-oriented patterns.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides&lt;/p&gt;&lt;p&gt;The Gang of Four catalogue of object-oriented patterns.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780201633610&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>design</category><category>patterns</category><category>oop</category></item><item><title>Book: Designing Data-Intensive Applications</title><link>https://openlibrary.org/isbn/9781449373320</link><guid isPermaLink="false">book:designing-data-intensive-applications</guid><description>Storage, replication, partitioning and consistency, and their trade-offs.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Martin Kleppmann&lt;/p&gt;&lt;p&gt;Storage, replication, partitioning and consistency, and their trade-offs.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9781449373320&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>distributed-systems</category><category>databases</category><category>architecture</category></item><item><title>Book: Domain-Driven Design</title><link>https://openlibrary.org/isbn/9780321125217</link><guid isPermaLink="false">book:domain-driven-design</guid><description>Ubiquitous language, bounded contexts, and modelling the domain in code.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Eric Evans&lt;/p&gt;&lt;p&gt;Ubiquitous language, bounded contexts, and modelling the domain in code.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780321125217&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>ddd</category><category>design</category><category>architecture</category></item><item><title>Book: Extreme Programming Explained: Embrace Change</title><link>https://openlibrary.org/isbn/9780321278654</link><guid isPermaLink="false">book:extreme-programming-explained</guid><description>The values and practices of XP, from pairing to small releases.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Kent Beck, Cynthia Andres&lt;/p&gt;&lt;p&gt;The values and practices of XP, from pairing to small releases.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780321278654&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>xp</category><category>agile</category><category>tdd</category></item><item><title>Book: Growing Object-Oriented Software, Guided by Tests</title><link>https://openlibrary.org/isbn/9780321503626</link><guid isPermaLink="false">book:growing-object-oriented-software-guided-by-tests</guid><description>Outside-in TDD, with mocks used to discover roles between objects.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Steve Freeman, Nat Pryce&lt;/p&gt;&lt;p&gt;Outside-in TDD, with mocks used to discover roles between objects.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780321503626&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>tdd</category><category>testing</category><category>oop</category></item><item><title>Book: Modern Software Engineering</title><link>https://openlibrary.org/isbn/9780137314911</link><guid isPermaLink="false">book:modern-software-engineering</guid><description>Engineering as learning and managing complexity, through fast feedback.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by David Farley&lt;/p&gt;&lt;p&gt;Engineering as learning and managing complexity, through fast feedback.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780137314911&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>craftsmanship</category><category>continuous-delivery</category></item><item><title>Book: Refactoring</title><link>https://openlibrary.org/isbn/9780134757599</link><guid isPermaLink="false">book:refactoring</guid><description>Changing the design of working code in small, safe steps.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Martin Fowler&lt;/p&gt;&lt;p&gt;Changing the design of working code in small, safe steps.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780134757599&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>refactoring</category><category>design</category></item><item><title>Book: Release It!</title><link>https://openlibrary.org/isbn/9781680502398</link><guid isPermaLink="false">book:release-it</guid><description>Designing systems that survive production, with circuit breakers and bulkheads.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Michael T. Nygard&lt;/p&gt;&lt;p&gt;Designing systems that survive production, with circuit breakers and bulkheads.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9781680502398&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>reliability</category><category>operations</category><category>architecture</category></item><item><title>Book: The DevOps Handbook</title><link>https://openlibrary.org/isbn/9781942788003</link><guid isPermaLink="false">book:the-devops-handbook</guid><description>The practices behind the Three Ways, from deployment pipelines to telemetry.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Gene Kim, Jez Humble, Patrick Debois, John Willis&lt;/p&gt;&lt;p&gt;The practices behind the Three Ways, from deployment pipelines to telemetry.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9781942788003&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>devops</category><category>continuous-delivery</category><category>operations</category></item><item><title>Book: The Mythical Man-Month</title><link>https://openlibrary.org/isbn/9780201835953</link><guid isPermaLink="false">book:the-mythical-man-month</guid><description>Adding people to a late project makes it later.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Frederick P. Brooks Jr.&lt;/p&gt;&lt;p&gt;Adding people to a late project makes it later.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780201835953&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>management</category><category>teams</category></item><item><title>Book: The Phoenix Project</title><link>https://openlibrary.org/isbn/9780988262591</link><guid isPermaLink="false">book:the-phoenix-project</guid><description>A novel about IT operations, flow, and the Three Ways.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Gene Kim, Kevin Behr, George Spafford&lt;/p&gt;&lt;p&gt;A novel about IT operations, flow, and the Three Ways.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780988262591&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>devops</category><category>fiction</category><category>management</category></item><item><title>Book: The Pragmatic Programmer</title><link>https://openlibrary.org/isbn/9780135957059</link><guid isPermaLink="false">book:the-pragmatic-programmer</guid><description>Habits of a working programmer, from DRY to tracer bullets.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by David Thomas, Andrew Hunt&lt;/p&gt;&lt;p&gt;Habits of a working programmer, from DRY to tracer bullets.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9780135957059&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>craftsmanship</category><category>career</category></item><item><title>Book: The Unicorn Project</title><link>https://openlibrary.org/isbn/9781942788768</link><guid isPermaLink="false">book:the-unicorn-project</guid><description>The Phoenix Project retold from the developers&apos; side, around the Five Ideals.</description><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;by Gene Kim&lt;/p&gt;&lt;p&gt;The Phoenix Project retold from the developers&apos; side, around the Five Ideals.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openlibrary.org/isbn/9781942788768&quot;&gt;openlibrary.org →&lt;/a&gt;&lt;/p&gt;</content:encoded><category>devops</category><category>fiction</category><category>teams</category></item></channel></rss>