<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Engineering on Artur Rios Lab</title><link>https://artur-rios.github.io/personal-lab/engineering/</link><description>Recent content in Engineering on Artur Rios Lab</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 21 Oct 2026 23:00:00 +0000</lastBuildDate><atom:link href="https://artur-rios.github.io/personal-lab/engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Asking for Help in Chat: No Hello, Don't Ask to Ask, and the XY Problem</title><link>https://artur-rios.github.io/personal-lab/engineering/asking-for-help/</link><pubDate>Wed, 21 Oct 2026 23:00:00 +0000</pubDate><guid>https://artur-rios.github.io/personal-lab/engineering/asking-for-help/</guid><description>&lt;p&gt;Most of the time I spend helping someone, or being helped, goes to the&#10;question rather than the answer. The answer is often a sentence. Getting to&#10;the point where that sentence can be written takes a greeting, a wait, a&#10;follow-up, a &amp;ldquo;what are you actually trying to do?&amp;rdquo;, and another wait. In&#10;chat, each of those round trips can cost minutes or hours, because the other&#10;person is not watching the window.&lt;/p&gt;</description></item><item><title>The Conventions I Follow</title><link>https://artur-rios.github.io/personal-lab/engineering/my-conventions/</link><pubDate>Wed, 21 Oct 2026 18:00:00 +0000</pubDate><guid>https://artur-rios.github.io/personal-lab/engineering/my-conventions/</guid><description>&lt;p&gt;A convention is a decision made once. Without them, every new repository,&#10;class and commit reopens the same small questions: what to call it, where to&#10;put it, how to phrase it. None of those questions is hard, but answering them&#10;again every time is slow, and answering them differently every time leaves a&#10;codebase that reads like it was written by several people who never met.&lt;/p&gt;&#10;&lt;p&gt;This page collects the conventions I follow in my own projects. Where a style&#10;guide already covers something, I follow it; the&#10;&lt;a href="https://google.github.io/styleguide/"&gt;Google Style Guides&lt;/a&gt; are my default&#10;reference for the languages they cover. What is written here is either what&#10;those guides leave open, or a choice I have made on top of them.&lt;/p&gt;</description></item><item><title>How I Start a Project From Scratch</title><link>https://artur-rios.github.io/personal-lab/engineering/starting-a-project-from-scratch/</link><pubDate>Wed, 21 Oct 2026 17:30:00 +0000</pubDate><guid>https://artur-rios.github.io/personal-lab/engineering/starting-a-project-from-scratch/</guid><description>&lt;p&gt;Every project on this site starts the same way. Not with code, but with a&#10;document, because the cheapest place to find a mistake is in a sentence, before&#10;anything has been built on top of it. This is the roadmap I follow, from the&#10;first idea to a system that is ready to use:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Create a brainstorm document for the project, with ideas about its nature,&#10;its implementation and the technologies to use.&lt;/li&gt;&#10;&lt;li&gt;Refine the brainstorm into four initial documents: Project Overview,&#10;Technology Stack, Workflow and Business Rules.&lt;/li&gt;&#10;&lt;li&gt;Formalise them into a Vision Document, a System Requirements Document and a&#10;Use Case Specification Document.&lt;/li&gt;&#10;&lt;li&gt;Review the documents, improve them, and review them again until they match&#10;what the project is meant to be.&lt;/li&gt;&#10;&lt;li&gt;Create GitHub issues for the initial scaffold and infrastructure.&lt;/li&gt;&#10;&lt;li&gt;Create a GitHub issue for each use case, linked to a GitHub Project and to an&#10;MVP milestone.&lt;/li&gt;&#10;&lt;li&gt;Implement the initial scaffold and infrastructure.&lt;/li&gt;&#10;&lt;li&gt;Implement one use case after another, including unit and functional tests.&lt;/li&gt;&#10;&lt;li&gt;For each use case, run the tests and fix until all of them pass, and only&#10;then move on to the next one.&lt;/li&gt;&#10;&lt;li&gt;Run a final test of the full functionality and fix any issue found,&#10;repeating until the system is ready.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;The ten steps fall into four phases:&lt;/p&gt;</description></item></channel></rss>