<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Samuel Caetite</title>
    <description>The latest articles on DEV Community by Samuel Caetite (@osamucadev).</description>
    <link>https://dev.to/osamucadev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3753910%2F267fad3f-7fe8-4caa-acbd-b554d171485c.jpg</url>
      <title>DEV Community: Samuel Caetite</title>
      <link>https://dev.to/osamucadev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/osamucadev"/>
    <language>en</language>
    <item>
      <title>Code While You Take a Breath</title>
      <dc:creator>Samuel Caetite</dc:creator>
      <pubDate>Fri, 25 Sep 2026 00:53:41 +0000</pubDate>
      <link>https://dev.to/osamucadev/code-while-you-take-a-breath-h6h</link>
      <guid>https://dev.to/osamucadev/code-while-you-take-a-breath-h6h</guid>
      <description>&lt;p&gt;A few months ago, I started having this strange feeling that I was falling behind on AI.&lt;/p&gt;

&lt;p&gt;Which is funny, because I've been developing with AI for almost four years.&lt;/p&gt;

&lt;p&gt;It wasn't a recent discovery for me. I was already using models to learn technologies, investigate problems, write code, review solutions, organize ideas, and speed up parts of my work long before this whole conversation about how every developer now needs to learn how to work with agents.&lt;/p&gt;

&lt;p&gt;And yet, at some point, it felt like I had missed something.&lt;/p&gt;

&lt;p&gt;Suddenly it was RAG, embeddings, vector search, agents, tool calling, MCP, LangChain, LangGraph, and who knows how many other things I hadn't even added to the list yet. And that was the easy part, because at least those were concepts I could study.&lt;/p&gt;

&lt;p&gt;At the same time, there was always some new model that had supposedly left Claude in the dust, followed by another one that had left &lt;em&gt;that&lt;/em&gt; one in the dust. Then came Kimi, another Chinese model, another open-source model, a new coding tool, a new agent, OpenCode, some random GitHub repository that somehow got two billion stars in three days and that, apparently, everyone knew about except me.&lt;/p&gt;

&lt;p&gt;Then there was the local-model crowd explaining that I didn't need to pay subscriptions to any of these companies anymore because I could run everything locally for free.&lt;/p&gt;

&lt;p&gt;I just needed a $10,000 computer.&lt;/p&gt;

&lt;p&gt;And, of course, if I was still paying for subscriptions, I was probably leaving money on the table.&lt;/p&gt;

&lt;p&gt;By the way, "leaving money on the table" has to be one of the most expensive expressions of the last few years.&lt;/p&gt;

&lt;p&gt;Somewhere in the middle of all this, software development also died a few times. Developers were done. Then we weren't. Then we came back, except now we had to "learn our place." Every once in a while, that weird little war between development and "product" would show up again, especially the version where someone discovers a tool capable of generating an application and concludes that the only reason things weren't being built before was because some developer was standing in the way.&lt;/p&gt;

&lt;p&gt;Sometimes we were.&lt;/p&gt;

&lt;p&gt;Probably because somebody had to make sure the whole thing didn't explode.&lt;/p&gt;

&lt;p&gt;I was using AI every day while simultaneously starting to believe I was behind on AI.&lt;/p&gt;

&lt;p&gt;That's when, about ten months ago, I decided to stop for a moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  I wasn't trying to escape the hype
&lt;/h2&gt;

&lt;p&gt;There's one response to this anxiety that has never really worked for me.&lt;/p&gt;

&lt;p&gt;Every once in a while, someone shares a chart showing that a huge portion of the world's population still doesn't use LLMs directly, or that adoption is much smaller than our tech bubble makes it seem.&lt;/p&gt;

&lt;p&gt;Maybe.&lt;/p&gt;

&lt;p&gt;But I'm a developer, so looking at a statistic like that and deciding I can ignore what's happening because most of the planet didn't open ChatGPT today doesn't help me very much. The market I work in, the jobs I see, the people I talk to, the products I build, and the companies I work for are a much closer sample of the people already being directly affected by this technology.&lt;/p&gt;

&lt;p&gt;I'd be using someone else's reality to reassure myself.&lt;/p&gt;

&lt;p&gt;So this was never an attempt to deny what's happening. Quite the opposite. I wanted to accept reality without necessarily accepting all the panic that came with it.&lt;/p&gt;

&lt;p&gt;And I ended up doing more or less the same thing I do when I leave the house.&lt;/p&gt;

&lt;p&gt;I put on my headphones.&lt;/p&gt;

&lt;p&gt;I recently bought a pair with ANC, active noise cancellation, and I've really enjoyed the feeling. I don't need to listen to everyone's blah blah blah and every car around me to keep walking down the street and pay attention to what actually matters, including making sure I don't get run over.&lt;/p&gt;

&lt;p&gt;The street is still there, after all.&lt;/p&gt;

&lt;p&gt;That's more or less what I tried to do with AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  I needed to understand what was actually happening
&lt;/h2&gt;

&lt;p&gt;Until then, my relationship with these technologies had mostly been driven by necessity.&lt;/p&gt;

&lt;p&gt;A problem came up, I learned what I needed to solve it. If I needed to understand a particular API, I studied it. If I needed to use a model differently, I researched it. If I hit a limitation, I looked for an alternative.&lt;/p&gt;

&lt;p&gt;That's basically how I've always learned technology.&lt;/p&gt;

&lt;p&gt;But this time I wanted a slightly higher-level view.&lt;/p&gt;

&lt;p&gt;I started looking at job postings that mentioned AI. I wrote down the terms that kept appearing. I asked AI itself to help me organize them. I went back to some theoretical concepts, started connecting what I was seeing in the market with things I had studied before, and gradually built a kind of map so I could look at the whole thing without constantly standing in the middle of the hurricane.&lt;/p&gt;

&lt;p&gt;I wanted to understand what was genuinely new, what was a new application of something that already existed, what was likely to become part of my work for a long time, and what might be receiving a disproportionate amount of attention because somebody needed to sell something.&lt;/p&gt;

&lt;p&gt;The funny part was that some things became much less intimidating once they stopped being English words repeated in posts and became concepts I actually had to understand.&lt;/p&gt;

&lt;p&gt;Embeddings are a good example.&lt;/p&gt;

&lt;p&gt;The word appears so often around LLMs that it's easy to treat it like some alien technology invented alongside ChatGPT. When I actually sat down and studied it, I started recognizing ideas that weren't that far removed from the AI and math foundations I had already encountered before.&lt;/p&gt;

&lt;p&gt;That happened several times.&lt;/p&gt;

&lt;p&gt;The more I studied, the less it felt like an entirely new universe had appeared overnight. There was novelty, of course, and a lot of it. But there were also old concepts finding new applications, techniques being combined in different ways, abstractions becoming more accessible, products being built on top of them, and a considerable amount of marketing giving very big names to some relatively understandable things.&lt;/p&gt;

&lt;p&gt;That calmed me down quite a bit.&lt;/p&gt;

&lt;p&gt;Not because I concluded that AI was less important than I thought.&lt;/p&gt;

&lt;p&gt;Almost the opposite.&lt;/p&gt;

&lt;p&gt;I just started finding the hype less important.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem is that everything changes while you're trying to understand it
&lt;/h2&gt;

&lt;p&gt;There's a particularly funny part about trying to keep up with this market: sometimes you discover that something stopped existing before you even finished understanding the previous thing.&lt;/p&gt;

&lt;p&gt;I recently discovered, for example, that Google Bard doesn't exist anymore.&lt;/p&gt;

&lt;p&gt;I used Bard.&lt;/p&gt;

&lt;p&gt;At some point in my life, I opened it, talked to it, and thought, "Oh, look, Google has one of these now too."&lt;/p&gt;

&lt;p&gt;Today, it's Gemini.&lt;/p&gt;

&lt;p&gt;Not long ago, I had a similar experience when I tried to figure out what had happened to Windsurf and ended up going through the whole story involving Cognition and Devin.&lt;/p&gt;

&lt;p&gt;Devin.&lt;/p&gt;

&lt;p&gt;Not Mano Deyvin, the Brazilian YouTuber I like watching.&lt;/p&gt;

&lt;p&gt;A different one.&lt;/p&gt;

&lt;p&gt;At some point during this whole journey, I also discovered that I had spent a considerable amount of time pronouncing Claude wrong. It's "clawed," not "cloud," as in the thing floating in the sky.&lt;/p&gt;

&lt;p&gt;I find it incredibly funny that you can spend months studying agent architectures, RAG, and vector search only to discover that you didn't even know how to pronounce the name of the thing you were using.&lt;/p&gt;

&lt;p&gt;Maybe that's also a decent antidote to the feeling that you're behind.&lt;/p&gt;

&lt;p&gt;The ecosystem changes so quickly that if your goal is to eventually reach a point where you finally know everything that's happening, I have some bad news.&lt;/p&gt;

&lt;p&gt;By the time you get there, they've probably renamed it.&lt;/p&gt;

&lt;h2&gt;
  
  
  That's when "systematizing" started to mean something
&lt;/h2&gt;

&lt;p&gt;When I say I've spent these months trying to systematize how I use AI, I don't mean I made a list of every technology that exists and started checking them off one by one.&lt;/p&gt;

&lt;p&gt;For one thing, I haven't finished.&lt;/p&gt;

&lt;p&gt;I probably never will.&lt;/p&gt;

&lt;p&gt;What I wanted was to build a somewhat more stable and consistent modus operandi for using AI the same way I use any other technology.&lt;/p&gt;

&lt;p&gt;After you've been working in software for a while, you start accumulating this enormous menu of things you know exist. You know different databases, caching strategies, queues, containers, architectures, protocols, frameworks, and an endless number of tools that can solve particular problems. Knowing they exist doesn't mean putting all of them into the same system.&lt;/p&gt;

&lt;p&gt;In fact, an important part of the job is knowing what to leave out.&lt;/p&gt;

&lt;p&gt;That's how I started looking at this new menu too.&lt;/p&gt;

&lt;p&gt;LLMs, RAG, embeddings, vector search, tool calling, agents, MCP, and the frameworks growing around them are ingredients. Some work well together, others solve very specific problems, some introduce complexity that's absolutely worth it, and others can turn something simple into an impressive contraption that nobody actually needed.&lt;/p&gt;

&lt;p&gt;I can know all of them without putting all of them on the plate.&lt;/p&gt;

&lt;p&gt;If I understand, at least reasonably well, what each one does, which problems it solves, what it costs to introduce, what limitations it brings, and when it starts becoming unnecessary complexity, I can look at a solution and make a more deliberate choice about what belongs in it.&lt;/p&gt;

&lt;p&gt;That's what systematizing has meant to me.&lt;/p&gt;

&lt;p&gt;Learning how to use these things, when to use them, and, most importantly, when not to.&lt;/p&gt;

&lt;h2&gt;
  
  
  And I really like AI
&lt;/h2&gt;

&lt;p&gt;It might sound strange to spend this much time talking about hype only to get here, but I'm genuinely very grateful these tools exist.&lt;/p&gt;

&lt;p&gt;There are a lot of things I've wanted to build for myself for years and simply never built. Not always because I didn't know how. Sometimes I knew perfectly well how to do it, but I couldn't justify spending an entire Saturday building a tool that would solve one small annoyance in my life.&lt;/p&gt;

&lt;p&gt;That equation has changed.&lt;/p&gt;

&lt;p&gt;I've been able to build tools exactly the way I want them for my own work. I can experiment with ideas that would probably have died in a note somewhere, and I can study things that had been sitting on my list for a long time because some of the work required to get there has become smaller.&lt;/p&gt;

&lt;p&gt;And it has gone beyond code.&lt;/p&gt;

&lt;p&gt;I've been using AI to organize work, studies, and some very mundane parts of my life, putting order into things that used to occupy space in my head while I tried to remember everything at once.&lt;/p&gt;

&lt;p&gt;My spending on Post-it notes has gone down quite a bit.&lt;/p&gt;

&lt;p&gt;That might be a difficult productivity metric to put in a report, but it works for me.&lt;/p&gt;

&lt;p&gt;When I can get some of those things out of my head, there's more room for other things. More time to study, more space to think through a solution calmly, more energy to build some tiny tool for myself simply because I want it to exist that way.&lt;/p&gt;

&lt;p&gt;At some point, we'll probably end up paying a bigger share of the bill for those astronomical investments the LLM giants are making.&lt;/p&gt;

&lt;p&gt;I hope it takes a little while.&lt;/p&gt;

&lt;p&gt;For now, this is pretty nice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Parsimony
&lt;/h2&gt;

&lt;p&gt;If there's one word that keeps coming back to me through all of this, it's parsimony.&lt;/p&gt;

&lt;p&gt;I like it because it doesn't have much to do with rejecting a technology or being afraid of it. It's more about knowing where I'm putting my foot and why.&lt;/p&gt;

&lt;p&gt;Today, I can put an agent to work investigating a codebase, and it can read in a few minutes an amount of files that would take me hours to go through. A model might know an architectural pattern I've never used, find examples, connect ideas, and show me a possibility that would have taken me quite a while to discover on my own.&lt;/p&gt;

&lt;p&gt;That's incredible, and I have absolutely no desire to compete with it.&lt;/p&gt;

&lt;p&gt;But I'm on the other side of that relationship bringing a different kind of baggage. I've lived through projects catching fire, had to solve problems without the right tool available, watched requirements change halfway through, had to improvise, and seen technically beautiful solutions fail once they encountered the real world.&lt;/p&gt;

&lt;p&gt;There's a certain feel that comes from having been through those things.&lt;/p&gt;

&lt;p&gt;Sometimes AI helps by putting guardrails around my thinking, pointing out a possibility I hadn't considered, or bringing in technical and architectural knowledge I was missing. Other times, I'm the one who needs to put guardrails around it.&lt;/p&gt;

&lt;p&gt;It can tell me how a particular architecture could be built. I can say that this architecture, on this project, with these people, under this deadline and in this context, might be a terrible idea.&lt;/p&gt;

&lt;p&gt;And that combination has been working very well for me.&lt;/p&gt;

&lt;p&gt;I have no idea how long it will continue to work exactly like this. Maybe soon the hype will be physical AI and I'll have to learn an entirely new vocabulary. Maybe some of what I'm studying today will look funny when I read this again a few years from now. Maybe some tool that feels inevitable today will simply disappear.&lt;/p&gt;

&lt;p&gt;That would be pretty consistent, actually.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code While You Take a Breath
&lt;/h2&gt;

&lt;p&gt;Some time ago, I came across a post from a woman who returned to work after being away on maternity leave and felt like she had come back to a different reality. While she was away, generative AI had advanced, new tools had appeared, and it seemed like everyone had learned something she hadn't had the chance to learn.&lt;/p&gt;

&lt;p&gt;I didn't go through the same thing.&lt;/p&gt;

&lt;p&gt;I wasn't away. I kept coding, working, and using AI. And yet I immediately recognized that feeling of looking around and thinking that, at some point, without anyone telling you, everyone else had received a handbook you somehow never got.&lt;/p&gt;

&lt;p&gt;Today, I think I was paying too much attention to the voices inside other people's heads.&lt;/p&gt;

&lt;p&gt;There will always be a technology I haven't tried yet, a paper I haven't read, a model I haven't experimented with, a repository that gained an absurd number of stars while I was asleep, and an acronym I've seen three times this week and still have no idea what it means. Some of those things will matter a lot, which is why I keep studying.&lt;/p&gt;

&lt;p&gt;I just don't want to confuse speed with direction anymore.&lt;/p&gt;

&lt;p&gt;The machine can read faster than I can, research faster than I can, generate faster than I can, and write code while I'm doing something else.&lt;/p&gt;

&lt;p&gt;Great.&lt;/p&gt;

&lt;p&gt;I don't need to respond by becoming more rushed.&lt;/p&gt;

&lt;p&gt;I can use that time to understand the problem better, study something, test an idea, build something that's been sitting around for months, or look at a technically impressive solution and realize that it became far too complicated for the problem it was supposed to solve.&lt;/p&gt;

&lt;p&gt;I might even discover that I don't need AI at all for that particular thing.&lt;/p&gt;

&lt;p&gt;I can take a breath.&lt;/p&gt;

&lt;p&gt;The code keeps moving.&lt;/p&gt;

&lt;p&gt;And, with a little parsimony, so do I.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>rag</category>
      <category>agents</category>
    </item>
    <item>
      <title>Falso Retorno, ou: Quando desligamos as ranqueadas</title>
      <dc:creator>Samuel Caetite</dc:creator>
      <pubDate>Sat, 14 Feb 2026 10:48:43 +0000</pubDate>
      <link>https://dev.to/osamucadev/falso-retorno-ou-quando-desligamos-as-ranqueadas-44d0</link>
      <guid>https://dev.to/osamucadev/falso-retorno-ou-quando-desligamos-as-ranqueadas-44d0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Nota importante&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Este &lt;strong&gt;não é um texto de minha autoria&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;Este artigo foi originalmente publicado no antigo site brasileiro do &lt;strong&gt;League of Legends&lt;/strong&gt;, escrito por &lt;strong&gt;Rumtumtummers&lt;/strong&gt;, e está disponível publicamente via Wayback Machine.  &lt;/p&gt;

&lt;p&gt;Estou republicando este conteúdo no &lt;strong&gt;dev.to&lt;/strong&gt; exclusivamente como &lt;strong&gt;referência pessoal e profissional&lt;/strong&gt;, para manter salvo um exemplo real de como equipes técnicas lidam com incidentes críticos, tomada de decisão sob pressão e responsabilidade com usuários.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://samuelcaetite.dev/falso-retorno" rel="noopener noreferrer"&gt;https://samuelcaetite.dev/falso-retorno&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Autor original:&lt;/strong&gt; Rumtumtummers&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Fonte original:&lt;/strong&gt; League of Legends Brasil&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Todos os horários em:&lt;/strong&gt; PDT&lt;/p&gt;




&lt;p&gt;Ah, a pré-temporada… época de ficar ansioso sobre as novidades em League, mas também de refletir sobre as coisas que aconteceram neste ano. Jogadores ranqueados, por exemplo, devem se lembrar do bug da Riven que apareceu em julho e causou o desligamento de todas as filas ranqueadas.&lt;/p&gt;

&lt;p&gt;A seguir temos a história desse bug e das equipes da Riot que trabalharam intensamente para encontrar uma solução.&lt;/p&gt;




&lt;h2&gt;
  
  
  Manhã – 15 de julho de 2015
&lt;/h2&gt;

&lt;p&gt;Um vídeo sobe rapidamente para a página inicial do subreddit de League of Legends. Nele, um jogador mostrava um bug com a Riven: a sequência “certa” de apertos de botão fazia com que ela voltasse instantaneamente para a base, ignorando o tempo de conjuração da habilidade de retorno. À medida que as equipes na Riot começam a trabalhar, relatórios sobre bugs e seu impacto em potencial vão surgindo.&lt;/p&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Recebemos emails, memorando e pessoas o tempo todo.&lt;br&gt;&lt;br&gt;
“Meu Deus, você viu isso no Reddit?”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Scott Hansen&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tinha algo no Reddit em que alguém publicou um vídeo de&lt;br&gt;&lt;br&gt;
“Ei, aconteceu esse negócio bizarro quando eu estava jogando de Riven”.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A primeira coisa que vimos foi a publicação no Reddit e foi a partir dali que começamos a investigar. Tínhamos algumas pessoas no time de Campeões investigando o problema também.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧩 &lt;strong&gt;Kacee Granke&lt;/strong&gt;, Product Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;O problema com a Riven levantou alertas de emergência imediatamente.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧠 &lt;strong&gt;Mark Sassenrath&lt;/strong&gt;, Associate Game Designer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Alguém vem e diz&lt;br&gt;&lt;br&gt;
“Ei, temos um bug na Riven que precisa ser arrumado. Podemos arrumar esse bug da Riven!”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Então fomos investigar e começamos a tentar reproduzi-lo. Nosso objetivo quando esse tipo de coisa chega é sempre descobrir se é aleatório ou se era algo que as pessoas podiam explorar para vantagem própria.  &lt;/p&gt;

&lt;p&gt;Se há um bug no jogo, isso não é bom. Caso um bug dê uma vantagem que não seja natural a alguém, isso é muito, muito ruim.  &lt;/p&gt;

&lt;p&gt;E uma parte importante é: “Consigo fazer também?”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧩 &lt;strong&gt;Kacee Granke&lt;/strong&gt;, Product Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Começamos a tentar reproduzi-lo nós mesmos. Por sorte, o vídeo deixou tudo muito claro.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Scott Hansen&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;O controle de qualidade de Release conseguiu efetuar a reprodução facilmente. Nós, da Live Production, não. Não somos tão bons no jogo. Sou prata.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧪 &lt;strong&gt;Matthew Wittrock&lt;/strong&gt;, Release QA&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Estou mexendo e finalmente&lt;br&gt;&lt;br&gt;
“Ah, consegui”.&lt;br&gt;&lt;br&gt;
Depois&lt;br&gt;&lt;br&gt;
“Agora consigo fazer direto. Agora é fácil. Isso não é bom”.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Perguntei&lt;br&gt;&lt;br&gt;
“Com essas informações, vamos desabilitar Riven?”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Então olhamos as informações e vimos o quão rapidamente a publicação estava ficando popular e visível e tomamos a decisão de desabilitar Riven.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  14:50 – 15 de julho
&lt;/h3&gt;

&lt;p&gt;Riven é desabilitada globalmente. Enquanto os times trabalham na solução, novos relatórios aparecem interna e externamente indicando que o bug pode ser aplicado em mais Campeões.&lt;/p&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Depois de desabilitar a Riven, vários Rioters vieram me falar sobre mais vídeos de pessoas reproduzindo o bug em outros Campeões. Era no Yasuo, depois no Graves, depois mais e mais.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧠 &lt;strong&gt;Mark Sassenrath&lt;/strong&gt;, Associate Game Designer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Pessoas continuaram relatando&lt;br&gt;&lt;br&gt;
“Isso também acontece no Shen. E em X, Y e Z”.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧩 &lt;strong&gt;Kacee Granke&lt;/strong&gt;, Product Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Quase imediatamente depois disso, começamos a receber relatórios do nosso controle de qualidade informando que eles conseguiam reproduzir o bug com outros Campeões.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧠 &lt;strong&gt;Mark Sassenrath&lt;/strong&gt;, Associate Game Designer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;No decorrer do dia, começamos a perceber que esse não era um bug da Riven. Era um bug geral.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Quando olhamos as informações, percebemos que o problema poderia ser explorado em quase um quarto dos Campeões. Quase entramos em choque.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧪 &lt;strong&gt;Matthew Wittrock&lt;/strong&gt;, Release QA&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Mesmo então, ainda estávamos subestimando o escopo do problema.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Concluímos que qualquer Campeão usando Tiamat ou Hidra poderia causar o mesmo efeito.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧠 &lt;strong&gt;Mark Sassenrath&lt;/strong&gt;, Associate Game Designer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Pensei&lt;br&gt;&lt;br&gt;
“Qualquer Campeão pode fazer isso. Precisamos impedir que se espalhe”.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Fica um sentimento de desespero quando você percebe que é com todos os Campeões.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧪 &lt;strong&gt;Matthew Wittrock&lt;/strong&gt;, Release QA&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Estava claro que não existia lado ruim no abuso desse bug.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Tarde – 15 de julho de 2015
&lt;/h2&gt;

&lt;p&gt;O bug cresce rapidamente. Times começam a discutir como mitigar o dano potencial.&lt;/p&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Scott Hansen&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Precisamos considerar desabilitar as ranqueadas.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Desabilitar um quarto do jogo seria pior do que desligar as ranqueadas.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧪 &lt;strong&gt;Matthew Wittrock&lt;/strong&gt;, Release QA&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Não adiantava só desligar um Campeão ou item.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧩 &lt;strong&gt;Kacee Granke&lt;/strong&gt;, Product Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A pergunta era&lt;br&gt;&lt;br&gt;
“O que podemos fazer?”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Era uma espada de dois gumes. Informação boa, visibilidade ruim.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧩 &lt;strong&gt;Kacee Granke&lt;/strong&gt;, Product Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Precisávamos desligar as ranqueadas agora.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  17:30 – 15 de julho
&lt;/h3&gt;

&lt;p&gt;As filas ranqueadas são oficialmente desabilitadas. O trabalho de correção começa em ritmo máximo.&lt;/p&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Scott Hansen&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Estamos informando jogadores em mais de 20 idiomas e tentando resolver o problema.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧩 &lt;strong&gt;Kacee Granke&lt;/strong&gt;, Product Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Levou horas até passar pelo primeiro teste.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧠 &lt;strong&gt;Mark Sassenrath&lt;/strong&gt;, Associate Game Designer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;O escopo ficava cada vez maior.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sabíamos que estávamos com problemas após várias iterações falharem.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  2:00 – 16 de julho de 2015
&lt;/h2&gt;

&lt;p&gt;A solução falha nos testes destrutivos. Todos são chamados de volta.&lt;/p&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Acordamos engenheiros, designers, todo mundo.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧠 &lt;strong&gt;Mark Sassenrath&lt;/strong&gt;, Associate Game Designer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Você sabe que algo deu errado quando o telefone toca de madrugada.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Tarde – 16 de julho de 2015
&lt;/h2&gt;

&lt;p&gt;As ranqueadas seguem desligadas há quase 24 horas.&lt;/p&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Era difícil comunicar progresso sem saber o prazo.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  17:00 – 16 de julho
&lt;/h3&gt;

&lt;p&gt;A solução é validada para todos os Campeões.&lt;/p&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Recebemos a confirmação de que funcionava 100%.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;O trem de lançamento estava pronto.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧪 &lt;strong&gt;Matthew Wittrock&lt;/strong&gt;, Release QA&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Todos estavam prontos.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  20:00 – 16 de julho
&lt;/h3&gt;

&lt;p&gt;As ranqueadas são reativadas após &lt;strong&gt;28 horas&lt;/strong&gt; desligadas.&lt;/p&gt;




&lt;p&gt;🎛️ &lt;strong&gt;Tim Isenman&lt;/strong&gt;, Live Producer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;O demônio foi derrotado.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧪 &lt;strong&gt;Matthew Wittrock&lt;/strong&gt;, Release QA&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;O trem continua seu curso.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧭 &lt;strong&gt;Donna Mason&lt;/strong&gt;, Release Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Pensei&lt;br&gt;&lt;br&gt;
“Vou jogar uma ranqueadinha”.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧩 &lt;strong&gt;Kacee Granke&lt;/strong&gt;, Product Manager&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;E voltamos ao trabalho.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;🧠 &lt;strong&gt;Mark Sassenrath&lt;/strong&gt;, Associate Game Designer&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ainda há muito trabalho a fazer.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Ninguém gosta de bugs em jogos complexos, mas quando eles surgem, equipes inteiras trabalham juntas para preservar a integridade da experiência. No caso do grande bug de volta à base de 2015, várias pessoas contribuíram incansavelmente para devolver as ranqueadas aos jogadores.&lt;/p&gt;




&lt;h2&gt;
  
  
  Fonte original e snapshot
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;URL original:&lt;/strong&gt; &lt;a href="https://br.leagueoflegends.com/pt/news/riot-games/editorial/falso-retorno-ou-quando-desligamos-ranqueadas" rel="noopener noreferrer"&gt;https://br.leagueoflegends.com/pt/news/riot-games/editorial/falso-retorno-ou-quando-desligamos-ranqueadas&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Snapshot (Wayback Machine):&lt;/strong&gt; &lt;a href="https://web.archive.org/web/20160225005605/http://br.leagueoflegends.com/pt/news/riot-games/editorial/falso-retorno-ou-quando-desligamos-ranqueadas" rel="noopener noreferrer"&gt;https://web.archive.org/web/20160225005605/http://br.leagueoflegends.com/pt/news/riot-games/editorial/falso-retorno-ou-quando-desligamos-ranqueadas&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data e hora do snapshot:&lt;/strong&gt; 25 de fevereiro de 2016, 00:56:05 (UTC)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I spent 3 months building a static website and it says more about me than any stack</title>
      <dc:creator>Samuel Caetite</dc:creator>
      <pubDate>Thu, 05 Feb 2026 00:28:09 +0000</pubDate>
      <link>https://dev.to/osamucadev/i-spent-3-months-building-a-static-website-and-it-says-more-about-me-than-any-stack-366i</link>
      <guid>https://dev.to/osamucadev/i-spent-3-months-building-a-static-website-and-it-says-more-about-me-than-any-stack-366i</guid>
      <description>&lt;p&gt;For a long time, I was a web developer without a personal website.&lt;/p&gt;

&lt;p&gt;Not because I never built one. I had several. Some were decent, some were quick experiments, some died with expired domains. Back in 2019 I even made a simple one just to land my first internship. It worked.&lt;/p&gt;

&lt;p&gt;What I did not have was a site that actually represented who &lt;strong&gt;I am now&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And that felt weird.&lt;/p&gt;

&lt;p&gt;If you build software for a living but you have no space that reflects your own criteria, it is like being a chef who lives on delivery. Functional, sure. But something does not add up.&lt;/p&gt;

&lt;h2&gt;
  
  
  The first versions were pretty and empty
&lt;/h2&gt;

&lt;p&gt;My first attempts were purely aesthetic.&lt;/p&gt;

&lt;p&gt;I tried glassmorphism. It looked modern and polished. I shipped it fast, with help from AI, and for a brief moment it felt done.&lt;/p&gt;

&lt;p&gt;Then the discomfort kicked in.&lt;/p&gt;

&lt;p&gt;It was a résumé wearing a costume. Same content as the PDF, just with blur and shine. Good looking, low truth.&lt;/p&gt;

&lt;p&gt;Then I tried neumorphism. Even prettier. I let AI drive most of it. It nailed the vibe. Still, after a while I realized I liked the style more than the message.&lt;/p&gt;

&lt;p&gt;I was optimizing surface, not meaning.&lt;/p&gt;

&lt;h2&gt;
  
  
  A side project quietly changed everything
&lt;/h2&gt;

&lt;p&gt;While I was stuck with the portfolio, I started a personal project called &lt;strong&gt;TrueStreak&lt;/strong&gt;. The idea was simple: track gym consistency and make habits visible.&lt;/p&gt;

&lt;p&gt;But it became a lab.&lt;/p&gt;

&lt;p&gt;I dove into performance, accessibility, analytics, SEO, domain modeling, cloud, serverless. Not as theory. As decisions that had to hold up in a real product.&lt;/p&gt;

&lt;p&gt;That is when I made a choice that looked odd from the outside.&lt;/p&gt;

&lt;p&gt;I built it with HTML, SCSS, and vanilla JavaScript.&lt;/p&gt;

&lt;p&gt;No framework. No TypeScript.&lt;/p&gt;

&lt;p&gt;Not out of nostalgia. Out of fit.&lt;/p&gt;

&lt;p&gt;A static product with simple flows does not need a cruise ship. It needs clarity, speed, and tolerance for iteration.&lt;/p&gt;

&lt;p&gt;The stack served the problem. Not the other way around.&lt;/p&gt;

&lt;h2&gt;
  
  
  The site stopped being a site and became a tool
&lt;/h2&gt;

&lt;p&gt;As the project grew, the usual friction showed up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;compiling SCSS
&lt;/li&gt;
&lt;li&gt;reusing shared structure across pages
&lt;/li&gt;
&lt;li&gt;cache busting assets
&lt;/li&gt;
&lt;li&gt;optimizing images
&lt;/li&gt;
&lt;li&gt;generating metadata and structured data
&lt;/li&gt;
&lt;li&gt;avoiding regressions and broken builds
&lt;/li&gt;
&lt;li&gt;making deploy predictable
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I started solving one pain at a time.&lt;/p&gt;

&lt;p&gt;Scripts became a pipeline. The pipeline became a builder. The builder became a small system.&lt;/p&gt;

&lt;p&gt;I eventually packaged the idea into my own static generator: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SiteForge&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It is not a “framework replacement”. It is a way to eliminate unnecessary complexity while keeping full control over what gets shipped.&lt;/p&gt;

&lt;p&gt;If you are curious:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Portfolio: &lt;a href="https://samuelcaetite.dev" rel="noopener noreferrer"&gt;https://samuelcaetite.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;SiteForge demo page: &lt;a href="https://samuelcaetite.dev/site-forge" rel="noopener noreferrer"&gt;https://samuelcaetite.dev/site-forge&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;SiteForge repo: &lt;a href="https://github.com/osamucadev/site-forge" rel="noopener noreferrer"&gt;https://github.com/osamucadev/site-forge&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The real problem was narrative, not design
&lt;/h2&gt;

&lt;p&gt;When I finished TrueStreak and looked at it running, something clicked.&lt;/p&gt;

&lt;p&gt;I had a real product. Something I use. Something that does not depend on context or hype.&lt;/p&gt;

&lt;p&gt;Then I revisited my portfolio and noticed a mismatch.&lt;/p&gt;

&lt;p&gt;My LinkedIn told the story of someone who has dealt with critical systems, production pressure, real responsibility, and the boring parts that keep products alive.&lt;/p&gt;

&lt;p&gt;My website looked like a nice template.&lt;/p&gt;

&lt;p&gt;Two different people.&lt;/p&gt;

&lt;p&gt;At that moment it became obvious: the problem was not visual. It was narrative.&lt;/p&gt;

&lt;p&gt;I did not need another place listing technologies and job titles. I needed a space that shows how I think, how I decide, and what I refuse to compromise.&lt;/p&gt;

&lt;h2&gt;
  
  
  I changed how I used AI
&lt;/h2&gt;

&lt;p&gt;I stopped asking AI for solutions.&lt;/p&gt;

&lt;p&gt;I started asking it for questions.&lt;/p&gt;

&lt;p&gt;I shared the HTML and CSS. I explained the discomfort. I asked for critiques, alternatives, and tradeoffs. I used AI as an assistant that accelerates iteration, not as an author that replaces judgment.&lt;/p&gt;

&lt;p&gt;That is the key difference.&lt;/p&gt;

&lt;p&gt;AI can speed up execution. It cannot replace criteria.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the current portfolio actually demonstrates
&lt;/h2&gt;

&lt;p&gt;Yes, it is a static website. But it is not a static decision.&lt;/p&gt;

&lt;p&gt;This repo exists to demonstrate engineering habits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;full control over generated HTML, CSS, and JS
&lt;/li&gt;
&lt;li&gt;a custom build pipeline focused on real performance metrics
&lt;/li&gt;
&lt;li&gt;SEO that is not just “meta tags”, but structure and intent
&lt;/li&gt;
&lt;li&gt;cache busting and predictable deploy
&lt;/li&gt;
&lt;li&gt;security headers and basic hardening
&lt;/li&gt;
&lt;li&gt;separation between source and production output
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was not to impress with complexity.&lt;/p&gt;

&lt;p&gt;The goal was to ship something fast, quiet, readable, and durable.&lt;/p&gt;

&lt;p&gt;In other words, the exact way I like to build software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it took 3 months
&lt;/h2&gt;

&lt;p&gt;Because the hard part was not typing code.&lt;/p&gt;

&lt;p&gt;The hard part was deciding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what should exist
&lt;/li&gt;
&lt;li&gt;what should not exist
&lt;/li&gt;
&lt;li&gt;what is noise
&lt;/li&gt;
&lt;li&gt;what actually communicates value
&lt;/li&gt;
&lt;li&gt;what stays stable as the site evolves
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A strong portfolio is not a list. It is a narrative system.&lt;/p&gt;

&lt;p&gt;Each section has its own intention. Some need tension. Some need calm. Some need structure. Some need humanity.&lt;/p&gt;

&lt;p&gt;The site does not try to prove seniority. &lt;strong&gt;It lets you feel it&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;I spent 3 months building a static website.&lt;/p&gt;

&lt;p&gt;And I would do it again the same way.&lt;/p&gt;

&lt;p&gt;Not because it is “hard” or “impressive”, but because it forced me to be honest about what I value:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clarity over noise
&lt;/li&gt;
&lt;li&gt;responsibility over aesthetics
&lt;/li&gt;
&lt;li&gt;fit over trend
&lt;/li&gt;
&lt;li&gt;maintainability over cleverness
&lt;/li&gt;
&lt;li&gt;narrative over buzzwords
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are building your own portfolio, here is my suggestion:&lt;/p&gt;

&lt;p&gt;Do not start with visuals.&lt;/p&gt;

&lt;p&gt;Start with what you want to be true about you when someone closes the tab.&lt;/p&gt;

&lt;p&gt;Everything else is implementation.&lt;/p&gt;

&lt;p&gt;If you want to see the code and the build approach:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo: &lt;a href="https://github.com/osamucadev/frontsamuelcaetite" rel="noopener noreferrer"&gt;https://github.com/osamucadev/frontsamuelcaetite&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Site: &lt;a href="https://samuelcaetite.dev" rel="noopener noreferrer"&gt;https://samuelcaetite.dev&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>frontend</category>
      <category>career</category>
      <category>performance</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
