<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title></title>
      <link>https://code.jobo.to</link>
      <description></description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://code.jobo.to/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Sat, 04 Jul 2026 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Not actually a devlog #12</title>
          <pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/nad12/</link>
          <guid>https://code.jobo.to/nad12/</guid>
          <description xml:base="https://code.jobo.to/nad12/">&lt;p&gt;Hey! Summer&#x27;s here and side-projects are still on pause, but the reading list isn&#x27;t. Here&#x27;s what caught my eye recently.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;www.seangoedecke.com&#x2F;how-i-estimate-work&#x2F;&quot;&gt;How I estimate work&lt;&#x2F;a&gt;. Sean argues estimates are political tools for non-engineers more than technical exercises, and honestly I live that every day. Most of the time isn&#x27;t spent on the known work, it&#x27;s spent on the unknowns you can&#x27;t see yet, and the estimate ends up defining the scope rather than the other way around.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;arpitbhayani.me&#x2F;blogs&#x2F;clock-sync-nightmare&quot;&gt;Clock Synchronization Is a Nightmare&lt;&#x2F;a&gt;. A great refresher on why there&#x27;s no such thing as a global clock once you have thousands of independent machines. Takes me right back to studying distributed systems: NTP, TrueTime, Lamport timestamps, hybrid logical clocks, all the way down to accepting that perfect synchronization just isn&#x27;t on the table and you pick your trade-off instead.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;www.revenuecat.com&#x2F;blog&#x2F;engineering&#x2F;kotlinx-serialization&#x2F;&quot;&gt;How kotlinx.serialization generates code: a compiler plugin deep dive&lt;&#x2F;a&gt;. Not my day-to-day stack, but compiler internals are always a fun rabbit hole. The two-pass IR generation and the &quot;golden masks&quot; bitmask trick for required-field validation are the kind of details that make you appreciate how much work goes into making reflection-free serialization fast.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;piechowski.io&#x2F;post&#x2F;codebase-drag-audit&#x2F;&quot;&gt;Your Engineers Aren&#x27;t Lazy, Your Codebase Is Punishing Them&lt;&#x2F;a&gt;. This one hit close to home. Fighting codebase drag has been my day-to-day struggle since I stepped into the Tech Lead Platform Android role. Inflated estimates, deployment anxiety, the untouchable corners nobody wants to touch, tests that lie about coverage, painful onboarding: I recognize every single signal, and the audit framework is a good way to turn &quot;it feels slow&quot; into something you can actually act on and justify investing in.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;jordanlord.co.uk&#x2F;blog&#x2F;3-constraints&#x2F;&quot;&gt;3 constraints before I build anything&lt;&#x2F;a&gt;. A one-page vision doc, a separable core technology, and one defining constraint to shape the whole product. It&#x27;s close to how I try to operate before starting anything myself: force the idea into something short enough to survive scrutiny, keep the reusable part reusable, and pick the one constraint that will do the work of preventing feature bloat later.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>ADRs as a personal tool, then a team one</title>
          <pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/adrs-personal-then-team/</link>
          <guid>https://code.jobo.to/adrs-personal-then-team/</guid>
          <description xml:base="https://code.jobo.to/adrs-personal-then-team/">&lt;p&gt;&lt;em&gt;Notes on a habit that kept changing audiences.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Over a decade ago, I read &lt;a href=&quot;https:&#x2F;&#x2F;www.cognitect.com&#x2F;blog&#x2F;2011&#x2F;11&#x2F;15&#x2F;documenting-architecture-decisions&quot;&gt;an article by Michael Nygard&lt;&#x2F;a&gt; about Architecture Decision Records and decided to try one. I wrote it on a project I no longer work on, about a problem I no longer remember, for a future version of myself who would eventually forget — which, looking back, was the entire point.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve been writing ADRs ever since. What&#x27;s strange is that the document has barely changed across those years, but my reasons for writing it have changed almost beyond recognition. This is a post about that shift, and about what an ADR turned out to be — once I stopped writing it just for myself, and later, once I started writing them with something other than humans in mind.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;writing-decisions-before-anyone-else-read-them&quot;&gt;Writing decisions before anyone else read them&lt;&#x2F;h2&gt;
&lt;p&gt;For the first few years, I wrote ADRs alone, for myself. There was no template, no review process, no audience beyond the version of me who would inevitably forget. Most weren&#x27;t even in shared repositories — they lived in personal notes, side-project folders, scratch directories on machines I no longer own.&lt;&#x2F;p&gt;
&lt;p&gt;The format was whatever I felt like that day. Sometimes a few paragraphs. Sometimes just the question, the answer, and a quick note about what I&#x27;d considered and rejected. Nygard&#x27;s structure was somewhere in my head, but I rarely followed it strictly — I was writing for an audience of one, and that audience already knew the project.&lt;&#x2F;p&gt;
&lt;p&gt;What surprised me was how often I came back to those notes. Sometimes weeks later, sometimes months. A choice about how to structure a small library, made in twenty minutes on a Tuesday, would resurface when I started something similar later. Without the note, I&#x27;d have remade the same decision from scratch, probably worse. With the note, I had a starting point — and a record of what I&#x27;d already rejected.&lt;&#x2F;p&gt;
&lt;p&gt;Most introductions to ADRs skip this phase. They start with teams, stakeholders, alignment — which is fair, because that&#x27;s where the practice has the most impact. But I notice now that the habit, for me, started earlier and quieter than that. Before I ever wrote one for someone else, I&#x27;d been writing them for myself.&lt;&#x2F;p&gt;
&lt;p&gt;At some point I suggested to the team that we adopt the practice together. The reasoning wasn&#x27;t dramatic — I&#x27;d been writing these notes for myself for years, they&#x27;d been useful, and I&#x27;d started to notice that some of the discussions we kept rehashing in PR reviews were discussions I&#x27;d already resolved on paper, just not on shared paper. Without a written decision, an argument in a review easily turns into a clash of preferences — &lt;em&gt;I&#x27;d rather we did it this way&lt;&#x2F;em&gt;. With one, the discussion has an anchor. &quot;We decided this in ADR-X&quot; doesn&#x27;t end the conversation, but it changes its shape: instead of relitigating the choice in every PR, the discussion either accepts the existing decision or makes a deliberate case for revisiting it.&lt;&#x2F;p&gt;
&lt;p&gt;Writing an ADR meant for the team turned out to be a different exercise than writing one for myself. The reasoning had to be explicit, not just remembered. The alternatives I&#x27;d considered and rejected needed to actually appear on the page, because the reader couldn&#x27;t see them in my head. The tone shifted too — the notes I wrote for myself were sometimes terse to the point of being cryptic, but a shared note needed to make sense without me there to explain it.&lt;&#x2F;p&gt;
&lt;p&gt;On the surface, the document hadn&#x27;t changed much. Underneath, it was now answering to a different reader.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-practice-that-worked-until-it-didn-t&quot;&gt;A practice that worked, until it didn&#x27;t&lt;&#x2F;h2&gt;
&lt;p&gt;The team practice deepened over several years. I wasn&#x27;t in a formal lead role at the time — I was a senior developer, and ADRs had become a natural part of how I worked with the rest of the team. The format I used became more disciplined, the cadence more regular, and the kinds of decisions worth documenting shifted — fewer small library choices, more architectural calls, more cross-cutting concerns. What surprised me most about that period wasn&#x27;t how I used ADRs myself, but how the ADRs I didn&#x27;t write started to matter. A colleague drafting a decision and bringing it to review was no longer a curiosity; it was the goal.&lt;&#x2F;p&gt;
&lt;p&gt;Decisions also started to live longer than I&#x27;d anticipated. ADRs from a year earlier showed up in design discussions; &quot;superseded&quot; became a status I used regularly. The document was no longer just a record of what we&#x27;d decided — it was a record of how our thinking had moved.&lt;&#x2F;p&gt;
&lt;p&gt;When I changed teams and joined a larger organisation, I came in as a developer, not as a lead. The team I joined had its own way of documenting decisions — a custom format that had been there long before I arrived, and that I won&#x27;t get into here. For the first couple of years, I made a soft case for switching to standard ADRs — more direct, more recognizable, less idiosyncratic. I didn&#x27;t push harder than that; I wasn&#x27;t in a position to, and the existing format still mostly worked. The case never landed.&lt;&#x2F;p&gt;
&lt;p&gt;Some time later I moved into a tech lead role, but the format question didn&#x27;t immediately resurface. By the time it did, the situation had changed: the existing format was visibly struggling, decisions were getting harder to track, and a significant new architecture project was about to put real pressure on the system. I brought up ADRs again — this time addressed to the engineering managers and tech leads, since the conversation was about how we documented decisions across the organisation. The pitch was less about my preferences and more about preferring a recognized standard over maintaining yet another custom artefact.&lt;&#x2F;p&gt;
&lt;p&gt;The first ADR I wrote in this new context was a cross-platform architecture proposal, co-written with my counterpart on the iOS side. We had pseudocode, architecture diagrams, and what we thought was a clear case. Between us, we had years of experience writing this kind of document. I thought I knew what I was doing.&lt;&#x2F;p&gt;
&lt;p&gt;Not everything in those years went the way I&#x27;d have wanted. There&#x27;s a specific ADR that left me with a lot to chew on — too recent to write about cleanly here, and the people involved deserve more distance before I do. But what I took from it, in the end, was less about the specific decision than about a set of conditions that I&#x27;ve come to recognize since, in my own work and in conversations with others.&lt;&#x2F;p&gt;
&lt;p&gt;The first condition is that ADR review processes rarely define how closure actually happens. A document is drafted, comments accumulate, the comments eventually slow down — and the ADR is marked accepted. But &quot;comments slowing down&quot; can mean two very different things. It can mean people have converged on a shared answer, or it can mean people have run out of energy to keep objecting. The status field doesn&#x27;t distinguish between the two. From outside the conversation, they look the same.&lt;&#x2F;p&gt;
&lt;p&gt;The second condition is that an ADR doesn&#x27;t have full control over where the conversation actually happens. The official channel is the document — comments, suggestions, structured review. But the real conversation has a habit of migrating: into DMs, hallway exchanges, side meetings, Slack threads the author isn&#x27;t in. From inside the ADR, this migration is invisible. The document looks like it&#x27;s calming down, when in fact the disagreement has simply moved somewhere the author can&#x27;t see. And when an ADR can&#x27;t close on its own — when the comments keep going or the author keeps redrafting — the organisation tends to invent another channel to force closure: usually a meeting, often run by someone higher up. The decision that emerges from that meeting isn&#x27;t really the ADR&#x27;s decision. It&#x27;s a separate decision, recorded into the ADR after the fact. The document captures the outcome, but it didn&#x27;t produce it.&lt;&#x2F;p&gt;
&lt;p&gt;The third condition is subtler, and I think it&#x27;s the one I underestimated most. A document several people have read appears to produce a shared understanding. In practice, each reader fills the document&#x27;s ambiguities with their own assumptions, and those completions can diverge significantly without anyone noticing. Two engineers can walk away from the same approved ADR with different mental models of what was decided. The disagreement doesn&#x27;t show up during review — it shows up later, in the implementation.&lt;&#x2F;p&gt;
&lt;p&gt;What ties these conditions together, I think, is that they all blur a distinction the ADR format implicitly relies on but doesn&#x27;t enforce: the distinction between approval and decision. Approval is a state of the document. Decision is a state of the people — and the people sometimes decide elsewhere. The ADR format is good at recording the first. It assumes the second has happened, but it can&#x27;t tell.&lt;&#x2F;p&gt;
&lt;p&gt;The question of formats came up again later, in a different team and a more formal role. The context was complicated — there was already a custom way of documenting decisions in place, with its own history and its own users, and I found myself proposing standard ADRs once more, with no clear outcome yet. That part of the story is still unfolding, and I won&#x27;t pretend I&#x27;ve resolved it. It deserves more space than I can give it here. I plan to come back to it in another post.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;when-the-readers-stopped-being-only-human&quot;&gt;When the readers stopped being only human&lt;&#x2F;h2&gt;
&lt;p&gt;The most recent shift came from somewhere I hadn&#x27;t expected. Over the last couple of years, large language models have changed two things about how I work with ADRs — and they&#x27;ve changed them in opposite directions.&lt;&#x2F;p&gt;
&lt;p&gt;The first change is in how I write them. I&#x27;ve gotten into the habit of running a draft past a model before sending it to human review — first to clean it up, then to push back on it. The model isn&#x27;t a particularly imaginative reviewer, but it&#x27;s reliably available, it doesn&#x27;t carry social cost, and it&#x27;s perfectly happy to argue with my reasoning without taking anyone else&#x27;s time. What I&#x27;ve found, mostly, is that the document that goes to human review is better than what I&#x27;d have produced alone — not because the model wrote it, but because it disagreed with me first. The humans who review it afterwards spend their attention on the real points of contention, not on the gaps I could have closed myself. I plan to come back to this workflow in more detail in another post.&lt;&#x2F;p&gt;
&lt;p&gt;The second change runs the other way. Once you have a project with a meaningful set of ADRs in its repository, those ADRs stop being just a memory aid for humans — they become context for the models you work alongside. An agent reading the codebase reads the ADRs too, and the suggestions it produces start to take into account decisions that wouldn&#x27;t be visible from the code alone. On personal projects in particular, I&#x27;ve started using ADRs as explicit checkpoints in an LLM-assisted workflow: less code generated, more documentation produced through dialogue, each significant step pinned down in an ADR before the next one begins. It might look like a slowdown. It hasn&#x27;t been one. I plan to come back to this workflow in more detail in another post.&lt;&#x2F;p&gt;
&lt;p&gt;What strikes me, looking at these two shifts side by side, is how little the document itself has changed. The same template, the same structure, the same kinds of decisions worth recording. The ADR I write today for an LLM-assisted side project looks remarkably like the ADR I&#x27;d have written a few years ago for a team — and not very different from the notes I scribbled to myself a decade earlier.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;still-writing-them&quot;&gt;Still writing them&lt;&#x2F;h2&gt;
&lt;p&gt;Across all of this, the document itself has barely changed. The same template, the same kinds of decisions worth recording. What&#x27;s changed is what writing one costs, who reads them, and what they&#x27;re for. Three different phases of the same habit, with the audience shifting each time — first myself, then a team, now sometimes a model — and the document quietly adapting underneath.&lt;&#x2F;p&gt;
&lt;p&gt;The first ADR I wrote is gone, and I still couldn&#x27;t tell you what it was about. I keep writing them anyway. Not because I think I&#x27;ve figured out what they&#x27;re for — I don&#x27;t think the answer holds still long enough to be figured out — but because every version of me that&#x27;s tried them so far has been glad to have them around. That&#x27;s a thinner argument than I&#x27;d have given ten years ago. It&#x27;s also one I trust more.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Not actually a devlog #11</title>
          <pubDate>Tue, 27 Jan 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/nad11/</link>
          <guid>https://code.jobo.to/nad11/</guid>
          <description xml:base="https://code.jobo.to/nad11/">&lt;p&gt;Hey! Is that still possible to say &quot;Happy New Year&quot;? If so, let&#x27;s celebrate it!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;frederickvanbrabant.com&#x2F;blog&#x2F;2025-10-31-architectural-debt-is-not-just-technical-debt&#x2F;&quot;&gt;Architectural Debt is not just Technical Debt&lt;&#x2F;a&gt;. By nature technical debt is not just saying &quot;we don&#x27;t have the time&quot; or &quot;let&#x27;s do this later&quot;. It&#x27;s a trade we&#x27;re doing with our later selves, and it&#x27;s important to understand the consequences of that trade. It&#x27;s intracted in many layers of our teams and &lt;strong&gt;organizations&lt;&#x2F;strong&gt;. This article is exactly about that and help us understand those choices are not just our own.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;longform.asmartbear.com&#x2F;mission-vision&#x2F;&quot;&gt;Mission, vision, poTAYto, poTAHto&lt;&#x2F;a&gt;. A really nice article about what is mission and vision. It gives us a lot of insights about how to communicate those concepts and how to make them resonate with our audience. And also the scale of each of those concepts.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;world.hey.com&#x2F;joaoqalves&#x2F;traits-of-a-good-tech-lead-b5cac0ae&quot;&gt;Traits of a Good Tech Lead&lt;&#x2F;a&gt;. Becoming a good tech lead is not easy. You need to be conscious of your own limitations and be able to delegate tasks to others who are better suited to handle them. The author tries to give us specific traits to help us differentiate between EM and TL. He also provides a list of behaviors creating confidence for your team and the stakeholders.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;bastrich.tech&#x2F;perfect-code-review&#x2F;&quot;&gt;The PERFECT Code Review: How to Reduce Cognitive Load While Improving Quality&lt;&#x2F;a&gt;. Code reviews are fun. Checklists are fun. Acronyms are fun. Go read it.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;andreasfragner.com&#x2F;writing&#x2F;three-ways-to-solve-problems&quot;&gt;Three Ways to Solve Problems&lt;&#x2F;a&gt;. I like the clarity of this article and the straight forward approach. I read it not so long before &lt;a href=&quot;https:&#x2F;&#x2F;lalitm.com&#x2F;post&#x2F;why-senior-engineers-let-bad-projects-fail&#x2F;&quot;&gt;Why Senior Engineers Let Bad Projects Fail&lt;&#x2F;a&gt; and I find them really complementary.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Not actually a devlog #10</title>
          <pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/nad10/</link>
          <guid>https://code.jobo.to/nad10/</guid>
          <description xml:base="https://code.jobo.to/nad10/">&lt;p&gt;Hey! Still not much concerning the side-projects so here are the articles! Have a good read!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;www.workingsoftware.dev&#x2F;fundamental-techniques-for-software-architects&#x2F;&quot;&gt;30 Fundamental Techniques for Software Architects&lt;&#x2F;a&gt;. Sharing vision and strategy when creating (or refactoring) a new architecture is not simplest thing to do. It&#x27;s especially hard when many actors are involved and having multiple frameworks to be understood by specific audiences is critical. In this article you have a plethora of choices to do to so.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;read.highgrowthengineer.com&#x2F;p&#x2F;top-5-communication-framework&quot;&gt;Top 5 Communication Frameworks for Engineers You Must Remember&lt;&#x2F;a&gt;. Like the one before having the best toolset to communicate is crucial, here you&#x27;ll have ways to oganizare how you communicate and orchestrate your thoughts when presenting.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;newsletter.posthog.com&#x2F;p&#x2F;collaboration-sucks&quot;&gt;Collaboration sucks&lt;&#x2F;a&gt;. I&#x27;ve always tried to promote democracy and open room thinking when trying to create. And I&#x27;ve started working in a bigger team (like x4 times bigger). It was hard to move forward and a bit frustrating. Then I got to orchestrate the choices, well yeah collaboration sucks AND that&#x27;s exactly when you understand that &lt;em&gt;&quot;divide and conquer&quot;&lt;&#x2F;em&gt; is not necessarily bad. Giving less ownership to the whole team and delegate to people capable to have a better expertise (or can learn to get it) is like unlock a superpower.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;theengineeringmanager.substack.com&#x2F;p&#x2F;invert-always-invert&quot;&gt;Invert, always invert&lt;&#x2F;a&gt;. I loved the way this article presents a simple technique to totally change POVs about challenges. Will try.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;www.seangoedecke.com&#x2F;technical-communication&#x2F;&quot;&gt;To get better at technical writing, lower your expectations&lt;&#x2F;a&gt;. A good reminder to keep the things simple, even when you think they should be complex, especially when you think they are complex.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Not actually a devlog #9</title>
          <pubDate>Sun, 16 Nov 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/nad9/</link>
          <guid>https://code.jobo.to/nad9/</guid>
          <description xml:base="https://code.jobo.to/nad9/">&lt;p&gt;Hey! The sneezing season is here! I had a lot on my plate at work and really less time to continue all the side-projects (&lt;em&gt;yeah sure...&lt;&#x2F;em&gt;). Anyway here are some articles!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;mlacast.com&#x2F;projects&#x2F;undo-redo&quot;&gt;Implementing an Undo&#x2F;Redo System in a Complex Visual Application&lt;&#x2F;a&gt;. Creating state machines especially in the context of UI applications is always something I&#x27;ve liked. When it comes to &lt;em&gt;play&lt;&#x2F;em&gt; with the history of the actions that&#x27;s always where I thrive even if it can be hard. This article is talking about the &lt;strong&gt;undo&#x2F;redo&lt;&#x2F;strong&gt; couple and it goes quite deep in the implications of such a &quot;simple&quot; feature.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;benhowdle.im&#x2F;software-engineer-spectrum&quot;&gt;The Software Engineer Spectrum: Speed vs. Accuracy&lt;&#x2F;a&gt;. All the article is kinda obivous to whoever is working in the tech industry and have navigated between smaller and bigger companies. However I find it really useful to write it somewhere, maybe even everywhere. It&#x27;s so obvious it could be misregarded by some engineers or managers. I love this article format which is quite straight to the point.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;security.googleblog.com&#x2F;2025&#x2F;11&#x2F;rust-in-android-move-fast-fix-things.html&quot;&gt;Rust in Android: move fast and fix things &lt;&#x2F;a&gt;. I&#x27;m bit frustrated to share Google articles when it comes to Rust because I love the language and the whole &quot;true&quot; opensourceness feeling we have in this community which sounds less and less (if it ever) Google. I think that&#x27;s also why I like this kind of articles where a big player is injecting more and more of Rust in their codebase and promote the benefits you can grab from it.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;www.swequiz.com&#x2F;blog&#x2F;every-caching-strategy-explained-in-5-minutes&quot;&gt;Every Caching Strategy Explained in 5 Minutes&lt;&#x2F;a&gt;. Caching is hard, knowing how to name caching is also hard (pun intended). Here you&#x27;ll have a quick article where you have names and the related caching strategies so you&#x27;ll throw the right terms to the next architecture decision meeting.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;randsinrepose.com&#x2F;archives&#x2F;become-the-consequence&#x2F;&quot;&gt;Become the Consequence&lt;&#x2F;a&gt;. This one is a &lt;strong&gt;must read&lt;&#x2F;strong&gt;. Once again it&#x27;s exploring how a &quot;manager&quot; or a tech lead has to handle the dreadful duality of quality vs shipping in growing teams. It resonates so well with my current challenges it breaks my brain for a while. Go read it.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Not actually a devlog #8</title>
          <pubDate>Mon, 27 Oct 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/nad8/</link>
          <guid>https://code.jobo.to/nad8/</guid>
          <description xml:base="https://code.jobo.to/nad8/">&lt;p&gt;Hello everyone! What a summer! I don&#x27;t know about you but mine was full of surprises. For example I&#x27;ve finally launched back my photography &lt;a href=&quot;https:&#x2F;&#x2F;photos.jobo.to&quot;&gt;website&lt;&#x2F;a&gt; and played a bit with all the (not so anymore) cool kids, like &lt;a href=&quot;https:&#x2F;&#x2F;preactjs.com&#x2F;&quot;&gt;Preact&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;tailwindcss.com&#x2F;&quot;&gt;Tailwind&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;www.jetbrains.com&#x2F;compose-multiplatform&#x2F;&quot;&gt;Compose Multiplatform&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;deno.com&#x2F;&quot;&gt;deno&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;www.netlify.com&#x2F;&quot;&gt;Netlify&lt;&#x2F;a&gt;. It was great! The timing however is quite bad due to the fact I sold my camera around the same time (but you know sometimes stuff don&#x27;t have to make sense I guess 🤷‍♂️). And now the articles!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;blog.gitbutler.com&#x2F;how-git-core-devs-configure-git&quot;&gt;How Core Git Developers Configure Git&lt;&#x2F;a&gt;. Git is probably the dev tool I&#x27;m using the most and I always look to have a better user experience with it so this article was definitely a tease for me. And without surprise I felt like a caveman at the end of it. So many good stuff to add to your config!&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;www.tunjid.com&#x2F;articles&#x2F;ui-layer-architecture-for-persistent-ui-elements-68248e8ecc8e85f53ce1aa46&quot;&gt;UI layer architecture for persistent UI elements&lt;&#x2F;a&gt;. This one is for my Android UI dev peeps! It articulates really well how and why we should be persist UI elements per-screen or in a whole layout. Spoiler both are not easy and are critical choices.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;www.seangoedecke.com&#x2F;the-valley-of-engineering-despair&#x2F;&quot;&gt;The valley of engineering despair&lt;&#x2F;a&gt;. Ooh Sean, why are you like that? So keen to let you articles found me right at the best time. During the summer I had a point where a project seemed less clear everyday and to quote the article &lt;em&gt;&quot;The trick is to recognize that the feeling is temporary - you can always work through it - and to make sure you don’t do anything stupid in the meantime&quot;&lt;&#x2F;em&gt;. A quick but a must read.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;simonwillison.net&#x2F;2022&#x2F;Oct&#x2F;29&#x2F;the-perfect-commit&#x2F;&quot;&gt;The Perfect Commit&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;simonwillison.net&#x2F;2022&#x2F;Oct&#x2F;1&#x2F;software-engineering-practices&#x2F;&quot;&gt;Software engineering practices&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;simonwillison.net&#x2F;2022&#x2F;Jan&#x2F;31&#x2F;release-notes&#x2F;&quot;&gt;Writing better release notes&lt;&#x2F;a&gt; are three articles I found during my constant goal of improving our processes in my day-to-day job. Nothing really new here but they are good reminders.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;buttondown.com&#x2F;hillelwayne&#x2F;archive&#x2F;write-the-most-clever-code-you-possibly-can&quot;&gt;Write the most clever code you possibly can&lt;&#x2F;a&gt;. I won&#x27;t spoil you this one. It&#x27;s a quick read and I was personnally outraged when seeing this title, ready to comment with some clean code or equivalent book quotes AAAAND nope :p.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;blog.shreyaspatil.dev&#x2F;exploring-pausablecomposition-internals-in-jetpack-compose&quot;&gt;Exploring PausableComposition internals in Jetpack Compose&lt;&#x2F;a&gt;. I&#x27;m not a huge fan of pixel perfect tasks and stuff like that however I LOVE reading about UI frameworks internals. This article explores the &lt;code&gt;PausableComposition&lt;&#x2F;code&gt; API in Jetpack Compose and it&#x27;s a blast!&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;www.deepintodev.com&#x2F;blog&#x2F;how-javascript-works-behind-the-scenes&quot;&gt;How JavaScript Works Behind the Scenes&lt;&#x2F;a&gt;. I haven&#x27;t touched Javascript outside of personal pet projects for long and it&#x27;s always good to learn the basics :)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Not actually a devlog #7</title>
          <pubDate>Tue, 22 Jul 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/nad7/</link>
          <guid>https://code.jobo.to/nad7/</guid>
          <description xml:base="https://code.jobo.to/nad7/">&lt;p&gt;Hello everyone! Time to share some articles with you!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;lethain.com&#x2F;wardley-mapping&#x2F;&quot;&gt;Refining strategy with Wardley Mapping&lt;&#x2F;a&gt;. Before reading this I didn&#x27;t know this Wardley person however I like maps! I haven&#x27;t tested them in a real-life example however it seems really convenient to use.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;corrode.dev&#x2F;blog&#x2F;rust-option-handling-best-practices&#x2F;&quot;&gt;Don&#x27;t Unwrap Options: There Are Better Ways&lt;&#x2F;a&gt;. I agree a lot with this article forcing us to go forward than just using &lt;code&gt;unwrap()&lt;&#x2F;code&gt; and I would say it&#x27;s almost always the case when encountering that kind of unwrapping mecanism in any languages. When you have types and pattern matching we should use it, or a similar approach to avoid any ambiguous code.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;proandroiddev.com&#x2F;kotlin-inline-reified-to-solve-type-erasure-and-a-practical-guide-on-noinline-crossinline-and-63ecbf693250&quot;&gt;Kotlin inline, reified to Solve Type Erasure and a Practical Guide on noinline, crossinline, and More&lt;&#x2F;a&gt;. Well the title is so long but it&#x27;s fair. The subject is important when using Kotlin extensively and this article succeed to give a nice approach to something complex.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;mitchellh.com&#x2F;writing&#x2F;building-large-technical-projects&quot;&gt;My Approach to Building Large Technical Projects&lt;&#x2F;a&gt;. There are some projects which are simpler than others implying less new knowledge and less guessing parts. There are others which are just small and capable to be shipped quickly. And we have the last ones where almost everything is new and we have no clue how to split the work. Mitchell Hashimoto was someone I followed a lot back when I was intersted in HashiCorp etc. I totally forgot about him, then I started to use &lt;a href=&quot;https:&#x2F;&#x2F;ghostty.org&#x2F;&quot;&gt;Ghostty&lt;&#x2F;a&gt; just to find he was the main developer. The article gives so many vibes why I was following him before. It&#x27;s concise but have a lot of informations and succeed to give some leads on how to actually split any new large technical project.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;proandroiddev.com&#x2F;kotlins-builder-functions-a-better-way-to-create-lists-maps-strings-sets-77ddbe706303&quot;&gt;Kotlins&#x27;s Builder Functions: A Better way to Create Lists, Maps, Strings &amp;amp; Sets&lt;&#x2F;a&gt;. Pretty useful functions helping us create common types where we want to have customized initliazers.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;sxlijin.github.io&#x2F;2025-06-25-rust-case-studies&quot;&gt;Rust Case Studies&lt;&#x2F;a&gt;. Lessons from people who&#x27;ve migrated to Rust succesfully or not.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;proandroiddev.com&#x2F;10-jetpack-compose-ui-tricks-you-probably-dont-know-d3dd63b617c9&quot;&gt;10 Jetpack Compose UI Tricks You Probably Don&#x27;t Know&lt;&#x2F;a&gt;. Exactly what you&#x27;re expecting and hopefully you&#x27;ll grab some interesting knowledge :).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Not actually a devlog #6</title>
          <pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/nad6/</link>
          <guid>https://code.jobo.to/nad6/</guid>
          <description xml:base="https://code.jobo.to/nad6/">&lt;p&gt;Hello everyone! Not much in side-projects in the last months. I&#x27;ve only managed to fix a bit the blog&#x27;s CSS. So here are four articles about programming (and related subjects 🫣)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;marcgg.com&#x2F;blog&#x2F;2025&#x2F;02&#x2F;18&#x2F;no-technical-project&#x2F;&quot;&gt;All Projects are Business Projects&lt;&#x2F;a&gt;. I&#x27;ve never been somewhere where &lt;strong&gt;THIS&lt;&#x2F;strong&gt; is not a subject. Sometime it&#x27;s frustrating causing dev fatigue and sometime teams succeeds to handle it gracefully (jk never heard of something like that). So I hope this article could help convince people on the other side of the fence 😁.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;blog.shreyaspatil.dev&#x2F;deep-dive-into-annotations-in-jetpack-compose&quot;&gt;Deep dive into annotations in Jetpack Compose&lt;&#x2F;a&gt;. I&#x27;ve been doing less and less UI code recently. However when I discovered &lt;a href=&quot;https:&#x2F;&#x2F;react.dev&#x2F;&quot;&gt;React&lt;&#x2F;a&gt; around 2020, I was &lt;em&gt;&lt;strong&gt;hooked&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt; (pun intended).
was waiting for stable releases of &lt;a href=&quot;https:&#x2F;&#x2F;developer.android.com&#x2F;compose&quot;&gt;Jetpack Compose&lt;&#x2F;a&gt; and secretly wishing for something as easy to use. It was or at least it was WAY easier to produce reactive prototype than the ol&#x27; XML way. Now recomposition (and knowing when to do it) is an interesting problem for every framework in every language. Having nice API to make it even smarter is also a challenge. This article is directly talking about these kinds of little optimizations available in Jetpack Compose and when they can be really useful. A must-read for every Android developer.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;writing.pupius.co.uk&#x2F;you-need-to-be-more-strategic-dc473a2aa319&quot;&gt;&quot;You need to be more strategic.&quot;&lt;&#x2F;a&gt;. Some frameworks about strategies we can apply as devs to help us having a direciton.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;www.seangoedecke.com&#x2F;how-projects-fail&#x2F;&quot;&gt;How projects fail at large tech companies &lt;&#x2F;a&gt;. Interesting takes on projects failures.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Garbage Logger - Devlog#0</title>
          <pubDate>Wed, 14 May 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/garbage-logger-devlog0/</link>
          <guid>https://code.jobo.to/garbage-logger-devlog0/</guid>
          <description xml:base="https://code.jobo.to/garbage-logger-devlog0/">&lt;p&gt;Hello everyone! This one is finally a real devlog!&lt;&#x2F;p&gt;
&lt;p&gt;A while ago I asked myself what if I add one more side-project I will never finish? The obvious answer was yes. For this one the goal would be to be capable to monitor &lt;strong&gt;my family garbage production&lt;&#x2F;strong&gt; based on common, recycling and &quot;green&quot; bins. It could be a simple sheet shared between my partner and I. However I&#x27;m a mobile application developer and I haven&#x27;t published one myself for a long time. The plethora of frameworks I can work with now is quite overwhelming but I like native development and wanted to extend what I do daily so I chose &lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kotlinlang.org&#x2F;docs&#x2F;multiplatform.html&quot;&gt;Kotlin Multiplatform&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;. It&#x27;s totally arbitratry and it could have make more sense to choose something web related but hey that&#x27;s my thing not yours!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;dart-one-step-at-a-time&quot;&gt;🎯 One step at a time&lt;&#x2F;h2&gt;
&lt;p&gt;With these real devlog I should keep you updated about the progress. For now this this the theorical roadmap:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1.0.0 - Foundations&lt;&#x2F;strong&gt;
&lt;ul&gt;
&lt;li&gt;It should provide a nice dev environment for myself (meaning CI&#x2F;CD, linters etc).&lt;&#x2F;li&gt;
&lt;li&gt;It should let the user registers&#x2F;creates bins with their types (which are opiniated for now)&lt;&#x2F;li&gt;
&lt;li&gt;It should let the user updates bins&lt;&#x2F;li&gt;
&lt;li&gt;It should let the user delete bins&lt;&#x2F;li&gt;
&lt;li&gt;It should let the user adds a log to a bin&lt;&#x2F;li&gt;
&lt;li&gt;It should let the user updates a log to a bin&lt;&#x2F;li&gt;
&lt;li&gt;It should let the user deletes a log to a bin&lt;&#x2F;li&gt;
&lt;li&gt;Everything is local within the device&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;2.0.0 - Sharing is caring&lt;&#x2F;strong&gt;
&lt;ul&gt;
&lt;li&gt;It should allow a user to create a home&lt;&#x2F;li&gt;
&lt;li&gt;It should allow a user to update a home&lt;&#x2F;li&gt;
&lt;li&gt;It should allow a user to delete a home&lt;&#x2F;li&gt;
&lt;li&gt;It should allow a user to invite another user to a home they&#x27;re administrator&lt;&#x2F;li&gt;
&lt;li&gt;It should allow a user to kick another user from a home they&#x27;re administrator&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;3.0.0 - Glowing up&lt;&#x2F;strong&gt;
&lt;ul&gt;
&lt;li&gt;It should provides a nicer UI and UX&lt;&#x2F;li&gt;
&lt;li&gt;It should provides graphs&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;rocket-show-me-what-you-got&quot;&gt;🚀 Show me what you got&lt;&#x2F;h2&gt;
&lt;p&gt;I&#x27;m obviously not putting dates behind them because I can&#x27;t and want to keep it as a pet project without any real stress. The main targets are &lt;strong&gt;iOS and Android&lt;&#x2F;strong&gt;, however thanks to KMP I want to freely target desktops (through JVM app for now). So for now, I&#x27;m creating the test cases and basic usecases without any UI to share. I&#x27;m still struggling to orchestrate the CI&#x2F;CD thing even if I consider it as a main goal to reach &lt;strong&gt;1.0.0&lt;&#x2F;strong&gt;. I also didn&#x27;t precise but this project won&#x27;t be open-source (or at least publicly available) before &lt;strong&gt;1.0.0&lt;&#x2F;strong&gt; (or a bit later).&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Not actually a devlog #5</title>
          <pubDate>Wed, 30 Apr 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/devlog-5/</link>
          <guid>https://code.jobo.to/devlog-5/</guid>
          <description xml:base="https://code.jobo.to/devlog-5/">&lt;p&gt;Hey everyone! I&#x27;m finally assuming those are not real devlogs because I paused my side-projects a while ago. However here are some links I found nice recently.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;kt.academy&#x2F;article&#x2F;network_client_threads&quot;&gt;How many threads does your network client use?&lt;&#x2F;a&gt; A really nice article about Kotlin network clients and how they handle concurrency under the hood.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;corrode.dev&#x2F;blog&#x2F;pitfalls-of-safe-rust&#x2F;&quot;&gt;Pitfalls of Safe Rust&lt;&#x2F;a&gt; A nice to keep for people like me not working every day in Rust. Some error are trivials and easily avoidable however I found it nice to have them aggregated in a small article.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;lethain.com&#x2F;exploring-for-strategy&#x2F;&quot;&gt;Exploring for strategy&lt;&#x2F;a&gt; Now that the serie is completed getting back to the first part was really needed at least for me. It&#x27;s a must read for anyone working in a tech environment.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Hawzen&#x2F;hdp&quot;&gt;What would happen if we didn&#x27;t use TCP or UDP?&lt;&#x2F;a&gt; A fun experiment about avoiding TCP&#x2F;UDP. It brings me back in time when studiying OSI model and everything.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;endler.dev&#x2F;2025&#x2F;best-programmers&#x2F;&quot;&gt;The Best Programmers I Know&lt;&#x2F;a&gt; I couldn&#x27;t agree more. A must read for everyone willing to know how &quot;best programmers&quot; operate.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Devlog #4</title>
          <pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/devlog-4/</link>
          <guid>https://code.jobo.to/devlog-4/</guid>
          <description xml:base="https://code.jobo.to/devlog-4/">&lt;p&gt;Hey everyone! Nothing new but here are the articles and shows I found the most articles during the last 4 months(WTF).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;play.pocketcasts.com&#x2F;podcasts&#x2F;8ea0e990-390d-0131-77d4-723c91aeae46&#x2F;d1959f1b-dd8b-45b6-ba58-bd174bc9d15b&quot;&gt;Location location location, revised&lt;&#x2F;a&gt;. A podcast episode where the team behind the Location API and related stuff explains many choices they had to take and strategy behing the diffent APIs.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;lethain.com&#x2F;is-engineering-strategy-useful&#x2F;&quot;&gt;Is engineering strategy useful&lt;&#x2F;a&gt;. Another great article from Will Larson about the cost of writing an engineering strategy and why it&#x27;s so impactful.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;errorprone.info&#x2F;docs&#x2F;time&quot;&gt;How to Think About Time&lt;&#x2F;a&gt;. A good read to remember it&#x27;s hard to work with time (and to start me with &lt;strong&gt;distributed&lt;&#x2F;strong&gt; clocks...).&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;blogs.newardassociates.com&#x2F;blog&#x2F;2025&#x2F;debts-tech-and-otherwise.html&quot;&gt;Debts, Tech and Otherwise&lt;&#x2F;a&gt;. Because tech debts articles are everywhere, it&#x27;s hard to avoid talking about the other debts in a tech team. This article tries to summarize it.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;longform.asmartbear.com&#x2F;models&#x2F;&quot;&gt;All pretty models are wrong, but some ugly models are useful&lt;&#x2F;a&gt;. Holy shot this one was good. I won&#x27;t spoil it much but you should read it if you have to design API or do any modelization.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;cendyne.dev&#x2F;posts&#x2F;2025-03-19-vibe-coding-vs-reality.html&quot;&gt;&quot;Vibe Coding&quot; vs Reality&lt;&#x2F;a&gt;. A nice reality check about what&#x27;s AI is capable of for the moment in the programming context.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Devlog #3</title>
          <pubDate>Wed, 08 Jan 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/develog-3/</link>
          <guid>https://code.jobo.to/develog-3/</guid>
          <description xml:base="https://code.jobo.to/develog-3/">&lt;p&gt;Hello everyone! Have a great year! I&#x27;ve started a new side project (AGAIN) to work with &lt;a href=&quot;https:&#x2F;&#x2F;kotlinlang.org&#x2F;docs&#x2F;multiplatform.html&quot;&gt;Kotlin Multiplatform&lt;&#x2F;a&gt; more. Apart I read a bit during those last months.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;newsletter.pragmaticengineer.com&#x2F;p&#x2F;how-to-become-a-more-effective-engineer&quot;&gt;How to become a more effective engineer&lt;&#x2F;a&gt;. The title could seem a bit presumptuous but it&#x27;s a nice read focusing on soft skills to acquire when starting in a new company or at least the ones needed to have a better understanding in your work environment.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;solar.lowtechmagazine.com&#x2F;2020&#x2F;12&#x2F;how-and-why-i-stopped-buying-new-laptops&quot;&gt;How and Why I Stopped Buying New Laptops&lt;&#x2F;a&gt;. This one is a bit old but still really relevant. I like how the author put it as a story with a context without blaming everyone not doing that immediately. Bonus point it&#x27;s available in multiple languages.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;joaquimrocha.com&#x2F;2024&#x2F;09&#x2F;22&#x2F;how-to-fork&#x2F;&quot;&gt;How to fork: Best practices and guide&lt;&#x2F;a&gt;. Doing a fork can be intimidating, this article gives nice tips to do it nicely.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧 &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;pretzelhammer&#x2F;rust-blog&#x2F;blob&#x2F;master&#x2F;posts&#x2F;rust-in-non-rust-servers.md&quot;&gt;Using Rust in Non-Rust Servers to Improve Performance&lt;&#x2F;a&gt;. Sometimes I like when people take time to explain how they replace X by Y. Here the author is going step by step to do so with a Express application to a Rust powered server.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;dev.to&#x2F;samuelfaure&#x2F;how-atomic-git-commits-dramatically-increased-my-productivity-and-will-increase-yours-too-4a84&quot;&gt;How atomic Git commits dramatically increased my productivity - and will increase yours too&lt;&#x2F;a&gt;. Another good one about atomicity for Git commit. I&#x27;m hoarding those ones.&lt;&#x2F;li&gt;
&lt;li&gt;🇬🇧&lt;a href=&quot;https:&#x2F;&#x2F;www.ontestautomation.com&#x2F;i-am-tired-of-ai&#x2F;&quot;&gt;I am tired of AI&lt;&#x2F;a&gt;. I don&#x27;t like AI or at least not as we&#x27;re promoting it right now. This post neither and it resonates a lot with my feelings.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;tools-tools&quot;&gt;Tools 🛠️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;DISCLAIMER I&#x27;VE NOT TESTED ANY OF THESE&lt;&#x2F;strong&gt; &lt;em&gt;but they seem pretty cool&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tummychow&#x2F;git-absorb&quot;&gt;tummychow&#x2F;git-absorb&lt;&#x2F;a&gt;. I&#x27;m a huge fan of &lt;code&gt;rebase -i&lt;&#x2F;code&gt;. I like making surgery in my Git history however I also like being efficient about it and shipping quick fixes and going the whole process bothers me a bit. I really want to try this port and check how good (or bad) it is!&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;blog.eriksen.com.br&#x2F;en&#x2F;introducing-kotlin-money&quot;&gt;Introducing Kotlin Money&lt;&#x2F;a&gt;. It&#x27;s been a while since I had to manage currency in a project. It&#x27;s a tedious task and this library seems to make it easy.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Devlog #2</title>
          <pubDate>Tue, 29 Oct 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/devlog-2/</link>
          <guid>https://code.jobo.to/devlog-2/</guid>
          <description xml:base="https://code.jobo.to/devlog-2/">&lt;p&gt;Hey! Not much to show today, as planned nothing moved on my personal projects side 😅. However some great news and reads from the outside internets! First things first &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2025&#x2F;news&#x2F;2024-10-28-devrooms-announced&#x2F;&quot;&gt;FOSDEM Devrooms&lt;&#x2F;a&gt; have been announced and I should go back to this edition \o&#x2F;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;wiki.erg.be&#x2F;w&#x2F;Byebye_Google&quot;&gt;Bye Bye Google&lt;&#x2F;a&gt;. A great story (in French) about the &lt;a href=&quot;https:&#x2F;&#x2F;wiki.erg.be&#x2F;w&#x2F;%C3%89cole_de_recherche_graphique&quot;&gt;erg&lt;&#x2F;a&gt;, a belgian school of arts and how they free themselves from Google Accounts system.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;newsletter.pragmaticengineer.com&#x2F;p&#x2F;paying-down-tech-debt-further-learnings&quot;&gt;Paying down tech debt: further learnings&lt;&#x2F;a&gt;. I love reading about tech debt. It&#x27;s a critical tool we have as developers (and product teams) to leverage legacy technologies (or choices) without compromising too much with newer techs (or specs changes). It&#x27;s also a pragmatic way to have an empirical history of architecture decisions and could even help us to look back to the past when trying to understand product delivery rythm. Long story short, this article is a great read and you may want to read it if you any interest about the subject.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matklad.github.io&#x2F;2024&#x2F;03&#x2F;22&#x2F;basic-things.html&quot;&gt;Basic Things&lt;&#x2F;a&gt;. An older one about what a project should implement or provide at the most basic level especially for bigger projects.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;walnut356.github.io&#x2F;posts&#x2F;language-documentation&#x2F;&quot;&gt;Why is language documentation still so terrible?&lt;&#x2F;a&gt;. A rant about language documentations and what they should look like. Not sure about the author tone but I totally share their opinion about Rust documentation. I would add even if Java &quot;official&quot; documentation is a mess, Kotlin is quite pleasant to browse!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Devlog #1</title>
          <pubDate>Wed, 09 Oct 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/devlog-1/</link>
          <guid>https://code.jobo.to/devlog-1/</guid>
          <description xml:base="https://code.jobo.to/devlog-1/">&lt;p&gt;Long time no see! Like a lot of blogs, I had no actual stuff to post about... And that&#x27;s gonna change for a while! However writing is still something I like to do and sharing links is almost a daily practice for me. That&#x27;s why I will try to post every two weeks or so. Most of my pet projects being currently &quot;paused&quot;, I&#x27;ll probably list contents from other places on the internet I found interesting. I secrectly hope this will motivate me to get back to work to those projects and share with you my bugs and fixes!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reads-book&quot;&gt;Reads 📖&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;jackdanger.com&#x2F;writing&#x2F;&quot;&gt;Jack Danger, the blog&lt;&#x2F;a&gt;. I discovered Jack Danger a month ago. His articles clicked so much with my feelings about how my previous (and current) engineering orgs are wokring I almost immediately shared it to most of direct coworkers with a simple question: &quot;Do you feel the same way?&quot;. I&#x27;m a huge fan of &lt;a href=&quot;https:&#x2F;&#x2F;lethain.com&#x2F;&quot;&gt;Will Larson&lt;&#x2F;a&gt; and Jack Danger&#x27;s work is somehow even closer to my experiences and my feelings when speaking about engineering orgs.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;tools-tools&quot;&gt;Tools 🛠️&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;docs.cocogitto.io&#x2F;&quot;&gt;cocogitto&lt;&#x2F;a&gt;. Since a few months I&#x27;m using more and more standardized conventions to commit and automate most of my workflow around git. When I found about &lt;strong&gt;cocogitto&lt;&#x2F;strong&gt; I was a bit skeptical about what it could bring to my day-to-day experience especially because it asks to use &quot;another&quot; tool to git. My hooks were here and they seemed to be enough to cover all of my needs. However after a few weeks I&#x27;m quite happy about it. It creates a dedicated context switch to craft nice commit messages and helps me respect the conventions I try to use.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;snippets-jigsaw&quot;&gt;Snippets 🧩&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;A simple script to enforce &lt;a href=&quot;https:&#x2F;&#x2F;www.conventionalcommits.org&quot;&gt;Conventional Commit&lt;&#x2F;a&gt;. Best used in the &lt;code&gt;commit-msg&lt;&#x2F;code&gt; &lt;a href=&quot;https:&#x2F;&#x2F;gerrit-review.googlesource.com&#x2F;Documentation&#x2F;cmd-hook-commit-msg.html&quot;&gt;hook&lt;&#x2F;a&gt; :)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;
#!&amp;#x2F;bin&amp;#x2F;sh
# Regex to validate the type pattern
REGEX=&amp;quot;^((Merge[ a-z-]* branch.*)|(Revert*)|((build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\(.*\))?!?: .*))&amp;quot;

FILE=`cat $1` # File containing the commit message

echo &amp;quot;Commit Message: ${FILE}&amp;quot;

if ! [[ $FILE =~ $REGEX ]]; then
	echo &amp;gt;&amp;amp;2 &amp;quot;ERROR: Commit aborted for not following the Conventional Commit (https:&amp;#x2F;&amp;#x2F;www.conventionalcommits.org) standard.​&amp;quot;
	exit 1
else
	echo &amp;gt;&amp;amp;2 &amp;quot;Valid commit message.&amp;quot;
fi
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
      </item>
      <item>
          <title>Interesting content from Sept&#x2F;Oct 2022</title>
          <pubDate>Thu, 03 Nov 2022 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/readings-sept-oct-2022/</link>
          <guid>https://code.jobo.to/readings-sept-oct-2022/</guid>
          <description xml:base="https://code.jobo.to/readings-sept-oct-2022/">&lt;p&gt;What would be a blog without an article saying &quot;hey cool what&#x27;s up, I&#x27;ve not been here for so long so here a new article ouf of nowhere!&quot;. So here&#x27;s my take on it, I&#x27;ll try to keep this blog active with all the stuff I&#x27;m reading&#x2F;watching&#x2F;listening online I found useful. I&#x27;m already hoarding everything &lt;a href=&quot;https:&#x2F;&#x2F;www.notion.so&#x2F;joboto&#x2F;THE-GOBLIN-K-S-LITTLE-GARDEN-2f034f0f42f8415195ff362730faa5ef&quot;&gt;here&lt;&#x2F;a&gt;. However I also think it makes sense to have a quick sumup every now and then so here it is!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;to-read&quot;&gt;To Read&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.theverge.com&#x2F;2022&#x2F;9&#x2F;14&#x2F;23353776&#x2F;android-and-ios-matter-smart-home-compatibility&quot;&gt;The Verge - Android and iOS take big steps toward launching Matter smart home compatibility&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;skamille.medium.com&#x2F;debugging-teams-groundhog-day-f0483fea82d9&quot;&gt;Skamille.Medium - Debugging Teams: Groundhog Day&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;twitchard.github.io&#x2F;posts&#x2F;2022-08-26-metrics-schmetrics.html&quot;&gt;Twitchard - Be good-argument-driven, not data-driven&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.smashingmagazine.com&#x2F;2022&#x2F;08&#x2F;error-messages-ux-design&#x2F;&quot;&gt;Smashing Magazine - Designing Better Error Messages UX&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kt.academy&#x2F;article&#x2F;type-modelling-kotlin&quot;&gt;KtAcademy - Type modelling in Kotlin&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;volvo-cars-engineering&#x2F;why-volvo-thinks-you-should-have-rust-in-your-car-4320bd639e09&quot;&gt;Johannes Foufas.Medium - Why Rust is actually good for your car.&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;Piwai&#x2F;status&#x2F;1568113478946406403&quot;&gt;Piwai on Twitter about SQLite and Dispatchers&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.47deg.com&#x2F;blog&#x2F;functional-domain-modeling&#x2F;&quot;&gt;47 Degress - Functionnal Domain Modeling in Kotlin&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;typealias.com&#x2F;&quot;&gt;Dave Leeds on Kotlin&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;to-watch&quot;&gt;To Watch&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=jpVzSse7oJ4&quot;&gt;Youtube - Rust Linz, Jan 22 - Error Handling in Rust - A Pragmatic Approach by Luca Palmieri&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;to-test&quot;&gt;To Test&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gchq.github.io&#x2F;CyberChef&#x2F;&quot;&gt;CyberChef&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;ffmpeg.guide&#x2F;&quot;&gt;ffmepg.guide&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Why Using Clean Architecture For Side Projects?</title>
          <pubDate>Tue, 02 Jun 2020 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://code.jobo.to/why-using-clean-architecture-for-side-projects/</link>
          <guid>https://code.jobo.to/why-using-clean-architecture-for-side-projects/</guid>
          <description xml:base="https://code.jobo.to/why-using-clean-architecture-for-side-projects/">&lt;p&gt;Hey everyone. As expected it took me some time to write the second article. I won&#x27;t hide behind those curious times, I was lazy 😅.&lt;&#x2F;p&gt;
&lt;p&gt;I hope all your relatives and yourself are fine and safe.&lt;&#x2F;p&gt;
&lt;p&gt;Today I wanted to share with your my very own perspective about making side-projects. Let&#x27;s start!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-crappy-projects-and-the-never-ending-to-do-list&quot;&gt;The Crappy Projects and The Never Ending To-Do List&lt;&#x2F;h2&gt;
&lt;p&gt;Let&#x27;s settle something right here. Most of my side-projects are never finished crap rotting on GitHub, waiting to be deleted before the next ones. At the same time, I have that an ever growing To-Do List where some of the old items are about technologies not even maintained anymore. That, my fellow readers, was the sad record I&#x27;ve made at the end of every year since I&#x27;ve started programming. Obviously, some of the items from the list found a place in the crappy rotten projects and some of those ones succeed to be used a bit by myself. However shipping things is fun, maintaining very less.&lt;&#x2F;p&gt;
&lt;p&gt;Alas the boring parts would always be the same.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;clean-architecture-hammer-savior&quot;&gt;Clean Architecture Hammer Savior&lt;&#x2F;h2&gt;
&lt;p&gt;Some years back, Android (my day-job programming context) faced a wave of architecture revelations and illuminations. Every other talk and article were about how Clean Architecture could save developer lives and removing spaghetti from the codebase menu. It took me about one article to be drowned and start to cry about how bad I was at programming. However I tried, maybe not for the good reasons (yup sometimes hype is attracting). Coding was even harder than all the articles read and the videos watched. At the time I was almost fully dedicated to the subject (trying to migrate to this in my day-job project and implementing the plenty of examples found on the internet).&lt;&#x2F;p&gt;
&lt;p&gt;It definitely took me years and some &lt;em&gt;aha moments&lt;&#x2F;em&gt; to start to understand the advices some very nice people gave me to use it correctly. The Clean Way™ was not an illumination, it&#x27;s a slow path where putting all the parts together is taking a certain amount of time. I&#x27;m starting to feel almost enough confident to help people with it and talk about the subject. However I won&#x27;t cover the what and the how to implement here :).&lt;&#x2F;p&gt;
&lt;p&gt;It also gives me a new perspective about what I was expecting when programming. Working with it everyday at my day-job and porting some spaghetti code I wrote before gives me new slow and steady goals.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;safety-when-sharing&quot;&gt;Safety When Sharing&lt;&#x2F;h2&gt;
&lt;p&gt;One of those goals is being able to share my work with confidence even if I don&#x27;t code very well.
It&#x27;s impressive to share your own little program on the vast ocean of marvelous projects on the Internet. Most of the time no one notice your errors and even if they do they&#x27;ll probably help you. Even so, it&#x27;s frightening.&lt;&#x2F;p&gt;
&lt;p&gt;Clean Architecture is focused on what you want to do with your project. The &lt;code&gt;core&lt;&#x2F;code&gt; part is very abstract and are just definition for your use cases. Sharing it quickly, can help for feedback before even starting to install that Mongo instance (without speaking about the last trending driver) or pushing the actual server on a hosting machine.&lt;&#x2F;p&gt;
&lt;p&gt;It validates your domain. It can also let people talk you about their expectations. It&#x27;s way easier to write some abstract code (with unit tests because you&#x27;re someone nice) than trying to implement the whole stack needed for an experiment.&lt;&#x2F;p&gt;
&lt;p&gt;People can also join the project faster and PRs can be related only to pure features, letting other writing the implementations later (or never 😅).&lt;&#x2F;p&gt;
&lt;p&gt;It helps proving your point and let people safely interact with it.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;learning&quot;&gt;Learning&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;If all you have is a hammer, everything looks like a nail.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The other thing who struck me recently is how using Clean Architecture can help to have a quick overview about the core structure of a language. It was so obvious that it gave me this blog post idea.&lt;&#x2F;p&gt;
&lt;p&gt;Every language tends to have its own idiomatic way of writing&#x2F;structuring things. However when creating a new project we tend to go straight to the working code and forget about it until the next one. Putting abstraction first helped me to go a bit deeper, especially when the language is not in a paradigm I use a lot.&lt;&#x2F;p&gt;
&lt;p&gt;My last two examples are Gutenborg (the program transforming my markdown to HTML for this blog) in Rust and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;automaticidiots&#x2F;stack-bingo&quot;&gt;stack-bingo&lt;&#x2F;a&gt; in Go. Coming from object oriented programming languages as Java or even Kotlin, it was a bit difficult to implement something with the same structure at the beginning. All the constraints I faced actually helped me a lot to understand if not the ideas behind the language at least the syntax and some of its grammar.&lt;&#x2F;p&gt;
&lt;p&gt;It won&#x27;t be a silver bullet to be the rockstar developer in the targeted language. It still gives a good constraint to force you to avoid rushing the implementation and missing helpful concepts.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;keeping-your-own-pace&quot;&gt;Keeping Your Own Pace&lt;&#x2F;h2&gt;
&lt;p&gt;As discussed before, decoupling the codebase helps to work in parallel and let you make evolution without breaking anything. Implementations being a totally different part, if someone is eager to use one of the feature planned on the roadmap but you don&#x27;t have the time to work on the implementation right away that&#x27;s okay.
Any new contributor should be able to get it and start develop something.&lt;&#x2F;p&gt;
&lt;p&gt;I think that&#x27;s also why decoupling stuff is so satisfying. Your &lt;code&gt;core&lt;&#x2F;code&gt; is now your To-Do List with every new feature you would create and all the implementations are branches in the project where anyone can push their marvelous or crappy things.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;&#x2F;h2&gt;
&lt;p&gt;I&#x27;m probably a bit biased here. I like Clean Architecture a lot. I like Domain Driven Design a lot. Maybe I&#x27;m just an hostage of practices I&#x27;ve struggled with for so many years.&lt;&#x2F;p&gt;
&lt;p&gt;However it can be a powerful tool to manage new project, learn new language and&#x2F;or keep sanity when working on the side! It&#x27;s also tedious to implement but that&#x27;s part of the fun. I haven&#x27;t go deeper in the details but I would totally discuss about it. If interested don&#x27;t hesitate to ping me on Twitter or by email me (at) jobo.to.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A huge warning here.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Sometimes it can be useful to have this kind of overview, it doesn&#x27;t mean we have to trash project from someone else just for the sake of Clean Architecture. The hammer, the nail etc. Languages and communities have their own philosophy and we should respect them. When contributing please take care about it.&lt;&#x2F;p&gt;
</description>
      </item>
    </channel>
</rss>
