<?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: Quique Fdez Guerra</title>
    <description>The latest articles on DEV Community by Quique Fdez Guerra (@ckgrafico).</description>
    <link>https://dev.to/ckgrafico</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4686%2Fd071d427-a595-41de-a67d-f65e43bf5add.jpeg</url>
      <title>DEV Community: Quique Fdez Guerra</title>
      <link>https://dev.to/ckgrafico</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ckgrafico"/>
    <language>en</language>
    <item>
      <title>Hello senior developer: tell me which AIs you use (and please, you already use some)</title>
      <dc:creator>Quique Fdez Guerra</dc:creator>
      <pubDate>Tue, 16 Sep 2025 07:07:32 +0000</pubDate>
      <link>https://dev.to/ckgrafico/hello-senior-developer-tell-me-which-ais-you-use-and-please-you-already-use-some-3cja</link>
      <guid>https://dev.to/ckgrafico/hello-senior-developer-tell-me-which-ais-you-use-and-please-you-already-use-some-3cja</guid>
      <description>&lt;p&gt;&lt;em&gt;My experience using LLMs in day-to-day work and how they are changing programming.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;A necessary introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In recent months, the noise around &lt;em&gt;"programming with AI"&lt;/em&gt; and &lt;em&gt;"the end of programmers"&lt;/em&gt; has multiplied.\&lt;br&gt;
What's curious is that most of these claims come from people who &lt;strong&gt;don't program&lt;/strong&gt;. It's like to say "we don't need lawyers anymore" having knowledge of how a trial works: it wouldn't make sense or have any rigor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is clear&lt;/strong&gt; is that AIs already act as &lt;strong&gt;super accelerators&lt;/strong&gt; in technical work. What many thought would arrive in one or two years is already happening today. And far from being something to fear, what senior profiles need to do is &lt;strong&gt;adopt them now&lt;/strong&gt; and learn how to integrate them into daily work.&lt;/p&gt;

&lt;p&gt;In my case, I code much less than before because my role is now more about management and strategy. However, when I do program, the change has been radical: I'm faster, more efficient, I focus on complex parts and delegate the repetitive work to AI. Form validation, wiring, scaffolding, utility generation... all the things that used to consume time are now solved in seconds.&lt;/p&gt;

&lt;p&gt;AI does not eliminate the need for a senior developer. &lt;strong&gt;It reconfigures the role&lt;/strong&gt;: less time writing mechanical lines of code and more time applying judgment, designing architectures, and ensuring quality.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;My setup and how I work with LLMs&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before getting into backlogs and code, I start with a key file in my projects: &lt;code&gt;**Agents.md**&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Agents.md file
&lt;/h3&gt;

&lt;p&gt;This document contains the rules and practices I want the AI to always follow when working with me. It's my "contract" with the machine.\&lt;br&gt;
I base it on previous versions I've tested, but I always update it with the help of AIs like ChatGPT.&lt;/p&gt;

&lt;p&gt;Some of the practices I include there:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Don't add comments to the code. The code should be self-explanatory.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write at least one small test for each new block of code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Always check against the backlog before closing a task.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Update documentation (README, agents.md) whenever something relevant changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Keep style, dependencies, and patterns consistent.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to this file, every project starts with a solid foundation and with clear expectations of how the AI should work with me.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Backlogs and specification&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Afterwards, I use AI to &lt;strong&gt;work on backlogs&lt;/strong&gt;. First I think them through and draft them myself, because that's where human input adds the most value. Then I run them through AIs like ChatGPT or CheckInAI to polish: making them clearer, more consistent, and easier for everyone to understand. This saves a lot of time lost in misinterpretations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Programming with AI&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;On the technical side, my setup is simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I use a lightweight editor, such as &lt;strong&gt;VS Code&lt;/strong&gt;, without excessive configuration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I always keep an assistant AI agent running (for example, GitHub Copilot).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This has taken me from coding 100% of the time to coding barely 1--3% in small projects.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I tackle large tasks with these AIs, it's not as simple as saying "create this infrastructure" and being done. &lt;strong&gt;I work with AI as if it were another person&lt;/strong&gt;: I question what it suggests, give feedback, ask for changes, and push for improvements until I get the result I want. Although they're still not very good at complex refactoring, I do encourage them to refactor very specific small parts. That constant interaction is what makes the difference.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;How I distribute tasks by size&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Large and small.&lt;/strong&gt;\&lt;br&gt;
Here AI is very useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Large → infrastructure, initial structures, module skeletons.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Small → minor design changes, visual tweaks, button or icon modifications.\&lt;br&gt;
In both cases, I clearly define the task and closely supervise the result.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Medium.&lt;/strong&gt;\&lt;br&gt;
This is where AI shines the most today.\&lt;br&gt;
I use agents like &lt;strong&gt;Codex&lt;/strong&gt; or &lt;strong&gt;Devin AI&lt;/strong&gt;, which work synchronously and are often described as "junior developers." In my experience, they handle these tasks very well:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Creating a new page based on another.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adding a simple editor with data import/export.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maintaining consistent design with the rest of the system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The most relevant advantage is that I can use these AIs not only while sitting at my computer, but also by &lt;strong&gt;leaving them tasks in the background&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I assign a task, go to a meeting, and when I return the branch is ready for review.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I can even leave something running overnight and check it fresh the next morning.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This has brought a profound change in how I manage my time: it allows me to progress in parallel without extending my workdays or accumulating pending tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How I think this will evolve&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Although I've said several times that I don't think AIs will replace us, I do believe their evolution will broaden the &lt;strong&gt;spectrum of medium tasks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We can already see that what used to be complex (like validating a form or setting up an importer/exporter) is now considered a "medium" task. And I think this trend will continue:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Very small tasks&lt;/strong&gt; (especially in Frontend and design) will still need people with great aesthetic sensitivity and user experience skills.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Very large tasks&lt;/strong&gt; (in Backend, Frontend, QA, data, architectures...) will still require human teams capable of making decisions, integrating systems, and handling growing complexity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;But &lt;strong&gt;the range of medium tasks will expand more and more&lt;/strong&gt;. What we currently see as "difficult" will become "medium," and that's where AIs will play a bigger role.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means there will be less repetitive or routine programming work, and more human focus on tasks that truly define quality, experience, and the long-term vision of a project.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;And if you're not senior?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you're a junior developer (or don't know how to program at all), the message is different.\&lt;br&gt;
First of all: &lt;strong&gt;don't get carried away by the hype&lt;/strong&gt;. The internet is full of messages whose only goal is your clicks or your money.&lt;/p&gt;

&lt;p&gt;What I do consider essential is learning &lt;strong&gt;the technical foundations&lt;/strong&gt;. Just like in math not everyone solves integrals, but everyone knows how to add, subtract, or solve a simple equation, in programming you should learn &lt;strong&gt;the basics&lt;/strong&gt;: logic, data structures, simple patterns.&lt;/p&gt;

&lt;p&gt;Today it's much easier to learn than 10 years ago: you have AIs that teach, compare approaches, and correct mistakes. But it's also harder, because technology has become much broader and more complex. That will be one of the biggest challenges in the coming years: learning enough to be productive without getting lost in the flood of tools.&lt;/p&gt;

&lt;p&gt;There's also a deeper issue: &lt;strong&gt;without junior developers, there will be no seniors in 10 years&lt;/strong&gt;. AIs are reducing many of the entry-level tasks that used to serve as training. That was the school where future seniors were formed. If it disappears, how will we train the next generation of professionals?&lt;/p&gt;

&lt;p&gt;Companies will need to solve this challenge. Training, mentoring, and creating real practice spaces will be key. Because AI can accelerate, but it cannot replace the learning curve that turns someone into a complete professional.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;What I think about all this&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If you're senior, &lt;strong&gt;you should already be using AI in your day-to-day work&lt;/strong&gt;. Not doing so means missing out on an accelerator that's already here.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you're junior (or just starting out), &lt;strong&gt;learn the fundamentals first and use AI to practice and understand better&lt;/strong&gt;, not to skip steps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The future poses a huge challenge: &lt;strong&gt;how to train the next generation of developers&lt;/strong&gt; in a context where entry-level tasks are increasingly automated.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The answer will not be choosing between humans or machines, but learning how to &lt;strong&gt;integrate both worlds&lt;/strong&gt; to keep building together.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>discuss</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Deploying Next.js to Azure Web App with Github Actions</title>
      <dc:creator>Quique Fdez Guerra</dc:creator>
      <pubDate>Wed, 03 May 2023 07:18:03 +0000</pubDate>
      <link>https://dev.to/ckgrafico/deploying-nextjs-to-azure-web-app-with-github-actions-1o9c</link>
      <guid>https://dev.to/ckgrafico/deploying-nextjs-to-azure-web-app-with-github-actions-1o9c</guid>
      <description>&lt;p&gt;This is not going to be a detailed post, this is more like a checklist to remember of all the required things in 2023 to have a correct deployment from Github to Azure Web App when I'm working with Next.js framework.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If I'm using Bicep or terraform for deployment this step is not necessary, otherwise Create a Web App in Azure and configure the deployment with Github.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31ambaff0xexefzer1ca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31ambaff0xexefzer1ca.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will create a Github Deployment file, but I'll like something simpler like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Build and deploy

on:
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    environment:
      name: production

    steps:
      - uses: actions/checkout@v2

      - name: Set up Node.js version
        uses: actions/setup-node@v1
        with:
          node-version: "18.x"

      - name: npm install, build, and test
        run: |
          npm install --force
          npm run build
          mv ./build/static ./build/standalone/build
          mv ./public ./build/standalone
        working-directory: ./src
        env:
          NEXTAUTH_SECRET: ${{ vars.NEXTAUTH_SECRET }}
          NEXTAUTH_URL: ${{ vars.NEXTAUTH_URL }}
          AZURE_AD_TENANT_ID: ${{ vars.AZURE_AD_TENANT_ID }}
          AZURE_AD_CLIENT_ID: ${{ vars.AZURE_AD_CLIENT_ID }}
          AZURE_AD_CLIENT_SECRET: ${{ vars.AZURE_AD_CLIENT_SECRET }}
          NEXT_PUBLIC_CONNECTION_PROVIDER: ${{ vars.NEXT_PUBLIC_CONNECTION_PROVIDER }}
          NEXT_PUBLIC_CONNECTION_PRESENCE: ${{ vars.NEXT_PUBLIC_CONNECTION_PRESENCE }}
          NEXT_PUBLIC_CONNECTION_MEETING: ${{ vars.NEXT_PUBLIC_CONNECTION_MEETING }}

      - name: "Deploy to Azure Web App"
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: "teamshousepre"
          slot-name: "Production"
          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_134181791EE54060B31CE60610FB9DAE }}
          package: ./src/build/standalone
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Some interesting things here are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I'm installing with --force because I sometimes need Next.js canary version.&lt;/li&gt;
&lt;li&gt;After building I am moving &lt;code&gt;static&lt;/code&gt; and &lt;code&gt;public&lt;/code&gt; folders inside standalone folder.&lt;/li&gt;
&lt;li&gt;I shared the ENV variables with the deployment (not always needed but depending on how you have created the project)&lt;/li&gt;
&lt;li&gt;I'm uploading the standalone folder.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Configure Next.js to use standalone and don't use .next folder (this folder is sometimes forgotten during the deployment).
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  reactStrictMode: true,
  output: "standalone",
  distDir: "build",
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;This can be changed in the deployment file but is also easy to change the startup command on Azure Settings, we want &lt;code&gt;node server.js&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fim9fbysgrbmbggfa0s11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fim9fbysgrbmbggfa0s11.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Remember to fill the variables on Azure and Github:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxe9yc3avi8t643jjuris.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxe9yc3avi8t643jjuris.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff32iunj9idkdgvhkz0iu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff32iunj9idkdgvhkz0iu.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Still receiveing 500 ERROR?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jbzxm7xcqeni7ql94y7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jbzxm7xcqeni7ql94y7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then you will need to investigate the Azure Logs&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1v6ayupl0a7roch7ua15.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1v6ayupl0a7roch7ua15.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nothing else on my checklist right now, enjoy if you need this :)&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>azure</category>
      <category>githubactions</category>
    </item>
    <item>
      <title>Inbox zero method as a professional - F&amp;L #4</title>
      <dc:creator>Quique Fdez Guerra</dc:creator>
      <pubDate>Sun, 09 Apr 2023 15:30:01 +0000</pubDate>
      <link>https://dev.to/ckgrafico/inbox-zero-method-as-a-professional-fl-4-2f3j</link>
      <guid>https://dev.to/ckgrafico/inbox-zero-method-as-a-professional-fl-4-2f3j</guid>
      <description>&lt;p&gt;Do you know how many emails you have in your inbox right now? No? More than 20? More than 100? Take a look, I'll wait.&lt;/p&gt;

&lt;p&gt;Whatever the number is, does it make you feel anxious? Do you feel like it's too much? Do you not have any strategy for managing it? Throughout my professional career, I have encountered a large number of people who don't follow any strategy for managing their inbox, NONE!&lt;/p&gt;

&lt;p&gt;During the first few years, I was really surprised to find this, but nowadays, it seems normal to me. However, it was the first thing my colleague Alex Campos taught me when I was an intern at Microsoft. I remember he told me that I had to learn to manage my inbox well, that it was something basic.&lt;/p&gt;

&lt;p&gt;Well, apparently, it wasn't so basic, but luckily for me, I learned it at an early stage. For me, having an immaculate inbox is completely natural, and it doesn't require any effort. Want to know how I do it?&lt;/p&gt;

&lt;p&gt;Basically, I apply everything I learned at Microsoft, and I've added a few things over time. In my case, I have some clear principles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;My inbox is my list of important tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;My inbox cannot be a source of anxiety.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your lack of planning is not my emergency.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Based on these principles, I use a series of techniques in my day-to-day life. Let's see them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Emails never create notifications.&lt;br&gt;
I have a rule in my email that marks any new email as read. I never have notifications for emails on my computer or phone. This allows emails to not distract me from my current task. No emergency should come through email, and if it does, it's poor planning on the part of the sender. To be strict about this, I have an internal rule that I can take up to 24 hours to read an email and as many to reply (if I remember correctly, I was taught double this time frame at Microsoft).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The first task of the day (and sometimes the last) is to spend 10 minutes organizing email.&lt;br&gt;
Organizing doesn't mean replying, it means organizing. I open my inbox and start deleting anything that is not important, move notifications I want to keep to folders, and leave in the inbox anything that needs a reply from me. There are many ways to organize folders, in my case, and due to my work, when I was a developer, I had a folder for each project. Nowadays, I have one folder for each client and different folders for internal issues (Billing, Teams, IT, etc.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If I'm copied on an email, I'm not expected to reply. &lt;br&gt;
Many people create endless threads where they add many people in copy. As an internal rule, if someone puts me in copy, I classify it as a notification and try not to reply to that thread. I read it, and if necessary, I take asynchronous actions, taking the time I consider necessary. But if I'm copied, I shouldn't be the person who has to manage that problem.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The wall of shame.&lt;br&gt;
There is no need to be afraid to leave an email in your inbox for days, if there is an important email and the task needs days to be resolved, the email stays in the inbox reminding me every day that I haven't finished that task yet. Which helps me see every day that I haven't finished something and that I should probably try to deliver a result soon. When you have a healthy email management system, you can end your day with 4-5 emails in your inbox, of which 1 or 2 may have been there for several days (because I haven't replied, not because other people have added replies).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a meeting with yourself.&lt;br&gt;
A good way to save time to solve tasks that have been sent to me by email and need time is to create meetings with myself dedicated to that specific task.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learn to deal with people.&lt;br&gt;
There are people who are bad professionals and their way of reacting is to start sending emails, outside of working hours and with urgency, over time you have to learn to understand one of the most important phrases that many people repeat "Your lack of planning is not my emergency." So that you choose the moment when it is an emergency because it is best for everyone or there is no other choice and when it is not my problem and I have other more urgent matters.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As you can see, I haven't put any secret formula, you just need to dedicate some time each day, be organized and understand that emails are asynchronous messages and you can take the time you need to deliver a good result.&lt;/p&gt;

&lt;p&gt;If you want to receive this article in your inbox as a newsletter just press the button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ckgrafico.substack.com/subscribe"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xzfWP_iB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s2oe4gt7otu6o2ct9ao2.png" alt="Subscribe" width="183" height="55"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>failandlearn</category>
      <category>career</category>
      <category>devjournal</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Job hoppers generation - F&amp;L #3</title>
      <dc:creator>Quique Fdez Guerra</dc:creator>
      <pubDate>Thu, 09 Feb 2023 08:04:20 +0000</pubDate>
      <link>https://dev.to/ckgrafico/job-hoppers-generation-fl-3-2mh7</link>
      <guid>https://dev.to/ckgrafico/job-hoppers-generation-fl-3-2mh7</guid>
      <description>&lt;p&gt;The only way to get a better salary is to change companies! That's it, I've said it, we've got it out of the way, now that we've done it, could you accompany me and internalize the concept of job hoppers?&lt;/p&gt;

&lt;p&gt;It's been about 3-4 years since I discovered this concept of "job hoppers" and like any concept on the internet, there are many people in favor and many others against it. What is clear and are statistical data is that young people are increasingly inclined to change jobs. You invest one to two years in a company and then make the leap.&lt;/p&gt;

&lt;p&gt;There are many reasons to make that leap, salary, change of role, boredom with the current position, bad managers, etc.&lt;/p&gt;

&lt;p&gt;If one thing is certain, it is that our generation is less and less willing to be in a job just for the job and looks for a good place to be, to be recognized and to have a salary in line with their expectations. And is that realistic? Can I have all that in one job?&lt;/p&gt;

&lt;p&gt;The truth is that it depends. As I write these lines, I am about to complete 8 years in my same company, a company that I entered with the lowest salary and that I gradually climbed in roles and money. If instead of being 8 years in this company I had been jumping, would I earn more? Probably yes, but I probably wouldn't have worked with the clients I have worked with, I could have delved into different roles and above all, I don't know how they would have tolerated all the mistakes I make every day in those other companies.&lt;/p&gt;

&lt;p&gt;The problem with this is that it is very uncertain, I could change jobs tomorrow and discover that the new place is even better, or not. Or it doesn't matter, because in the end a job is like the search for a soul mate, it's not a magical connection company-employee, it's the day-to-day work of all employees in a company and the effort they make to make it a better place for everyone.&lt;/p&gt;

&lt;p&gt;As in any relationship, there are many failures on both sides. I don't want to think about how many times I have felt that my job was very improvable or how many times I have felt that a decision someone made disappointed me. It's in those moments that you can end the relationship and look for another company "there are plenty of fish in the sea" or you can decide to work to help improve and bring visibility to the problems you see.&lt;/p&gt;

&lt;p&gt;What is clear is that the second path is much longer and tedious and that, as in any relationship, it may be that no matter how much you put in, the other side doesn't put in any effort.&lt;/p&gt;

&lt;p&gt;In my experience, every failure, every disappointment, and every mistake has been worth it to be who I am today and to see that the company I work for has come as far as it has. I still remember when I was the fifth employee in Barcelona, the 170th in the company, and today we are more than 500 employees and more than 800 will have passed these years. The company I entered is nothing like the company it is today and nor will it be in the future.&lt;/p&gt;

&lt;p&gt;But returning to the topic, what about job hoppers? Is it okay? Is it wrong? If you see that a relationship can't improve for either side, run away from that company whether you've been there for a month, half a year, or two years. But if you have little experience in the technology world, if you're on a team that more or less works, if the company believes in your potential and is more or less capable of demonstrating it, I think it's a good decision to not jump to another company just to earn more money (as long as your needs and those of your family are covered).&lt;/p&gt;

&lt;p&gt;If you are restless and what you do is not enough, let your managers know, look for internal change opportunities, interact with other teams or in other roles. It is very difficult to find a decent company, if you find one, don't break this relationship just because someone else promises you more money or a better role. Try to improve where you are and if in the end it's not possible, go ahead, JUMP!&lt;/p&gt;

&lt;p&gt;If you want to receive this article in your inbox as a newsletter just press the button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ckgrafico.substack.com/subscribe" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2oe4gt7otu6o2ct9ao2.png" alt="Subscribe" width="183" height="55"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>cloudcomputing</category>
      <category>networking</category>
    </item>
    <item>
      <title>The least bad move in tech - F&amp;L #2</title>
      <dc:creator>Quique Fdez Guerra</dc:creator>
      <pubDate>Sat, 31 Dec 2022 12:28:31 +0000</pubDate>
      <link>https://dev.to/ckgrafico/the-least-bad-move-in-tech-fl-2-3k3m</link>
      <guid>https://dev.to/ckgrafico/the-least-bad-move-in-tech-fl-2-3k3m</guid>
      <description>&lt;p&gt;We live in a society that always thinks about winning and winning and we have turned the human being into something specifically made to win over the rest, to be above the others. &lt;/p&gt;

&lt;p&gt;To success means to be better than others, to success means to earn more money, to get the best position, to have a better title on LinkedIn, to success means always making the best move.&lt;/p&gt;

&lt;p&gt;It is possible that throughout your career in technology, you have experienced some, if not all, of the above points either in others or in yourself. &lt;/p&gt;

&lt;p&gt;Fortunately, it seems to be something that is easily fixed, with enough time and experience. &lt;/p&gt;

&lt;p&gt;These needs to be better and to win end up causing many people to get lost along the way and, instead of understanding failures as part of the journey and knowledge, they understand them as mistakes and penalties. And how not to get lost?&lt;/p&gt;

&lt;p&gt;To my surprise, I learned this lesson by listening to a professional video game player. Professional players are usually people who have seen failure very closely and who have managed to reach a very small percentage of their profession, which basically gives them something to live for.&lt;/p&gt;

&lt;p&gt;That player explained that casual people always try to make the best move with the elements they have, that the best move is often the most complex and the one that can make you lose against stronger rivals but win against the average. This can help you to stop being a bad player but it will not help you reach the top.&lt;/p&gt;

&lt;p&gt;And how do they do it? They mostly base their strategy on "the least bad move" which statistically and in the long term, gives you regularity and if you maintain it for long enough it will eventually make you a professional, because the least bad move can make you lose but in the long run it is much more likely that you will end up winning.&lt;/p&gt;

&lt;p&gt;And then I wondered, how can I apply something like this to my profession? And the truth is that we cannot lack examples.&lt;/p&gt;

&lt;p&gt;Since 100% test coverage does not provide much more than 32% coverage in which you are sure that the important things have been tested. &lt;/p&gt;

&lt;p&gt;That it is better to go to production with 3 out of 6 stories done than try a perfect sprint and need 12 hours per day. Or that it is better to have a project with real users and a very simple architecture than to have the best architecture in the world but no one uses your product.&lt;/p&gt;

&lt;p&gt;Let's remember that there are startups being sold for thousands and they are just a few slides… As people who really like technology, we may not go to that extreme, but knowing how to apply these rules and many others that will surely occur to you can be the difference between a Minimum VIABLE Product and an idea that did not work because: we had "bad luck" or we "did everything right".&lt;/p&gt;

&lt;p&gt;And that's when I wonder… What if at the end, the best move is  the least bad move?&lt;/p&gt;

&lt;p&gt;If you want to receive this article in your inbox as a newsletter just press the button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ckgrafico.substack.com/subscribe"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--huRncBYv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s2oe4gt7otu6o2ct9ao2.png" alt="Subscribe" width="183" height="55"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>failandlearn</category>
      <category>devjournal</category>
      <category>career</category>
      <category>motivation</category>
    </item>
    <item>
      <title>My first mistake as a dev - F&amp;L #1</title>
      <dc:creator>Quique Fdez Guerra</dc:creator>
      <pubDate>Fri, 23 Dec 2022 10:09:56 +0000</pubDate>
      <link>https://dev.to/ckgrafico/my-first-mistake-as-a-dev-fl-1-4eae</link>
      <guid>https://dev.to/ckgrafico/my-first-mistake-as-a-dev-fl-1-4eae</guid>
      <description>&lt;p&gt;Over the past decade, I've made thousands of mistakes while working in tech. Each mistake was a stressful situation and a complex challenge, but they have helped me grow and learn in my career. These experiences have prepared me for the challenges ahead and have been instrumental in my professional development.&lt;/p&gt;

&lt;p&gt;Although my career is still in its early stages, I've gained a lot of knowledge and I want to share my experiences and insights with others.&lt;/p&gt;

&lt;p&gt;When I was 13, a classmate encouraged me to create websites with him and what a great discovery it was! That moment when Aleix encouraged me to create websites together changed the next 7-8 years of my life. I had a new hobby, I could spend hours studying and creating websites for friends, family, or small businesses and many times I even lost track of time. I was so sure that I would never dedicate myself professionally that I decided to study a more interesting career: Telecommunications.&lt;/p&gt;

&lt;p&gt;But then, halfway through the career, I made what I consider my first mistake as a technology professional, I decided  to give up coding as a hobby and turning it into a career.&lt;/p&gt;

&lt;p&gt;A hobby is almost always fun. It is innocent, a pastime that usually does not have many obligations but has plenty of rewards. A hobby does not have any strings attached and when you turn it into your job, something changes. In my experience, that something goes through a series of phases: initial excitement, melancholy, and normalization.&lt;/p&gt;

&lt;p&gt;The initial excitement is probably the period with the most highs and lows that I remember from turning my hobby into my job. Everything is absolutely amazing and you invest a lot of hours into everything but you are happy because &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I'm working on something that is my hobby." (damn quote).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On the one hand, the feeling of rush is really amazing, no matter how difficult the task is, and on the other hand, it is terrible that you can spend 13-15 hours studying something new or trying to do something with a technology that you did not know, it is not at all necessary and the experience teaches you that resting often makes that effort more productive.&lt;/p&gt;

&lt;p&gt;Who hasn't spent 4 hours trying to solve something, not being able to do it, and the next day solving it in 5 minutes? Of those 4 hours, surely 1-2 were really useful to understand the problem and look for possible solutions, but the following 1-2 hours could have been spent resting or dedicating time to yourself and your loved ones.&lt;/p&gt;

&lt;p&gt;In those red zones, we can enter them alone but the people in our professional environment can help provoke them or avoid them. Fortunately, my first mentors and bosses were quite insistent on not working extra hours or on weekends and made it known to us. I fondly remember a Friday when a boss said he was going to turn off our computers.&lt;/p&gt;

&lt;p&gt;At that time, I thought it was silly and that they should let us do what we wanted, but I learned a valuable lesson and now that I am responsible for some people, I act similarly. Although on the other hand, I understand, as happened to me, that there are people who prefer to spend more time than usual on their studies to improve. For those people, I would simply say, take care of your rest to take care of your mind.&lt;/p&gt;

&lt;p&gt;After a few years of highs and lows, you may start to feel regret or feelings of sadness: Have I dedicated too much time to this? What if I took the wrong direction? Was it worth it? Am I in time to change? Is it worth it?&lt;/p&gt;

&lt;p&gt;In my experience, it was at that moment that I had one of my many reality checks. Work is work and although you work on something you like, there are boring moments, hard moments, and moments when you would rather have opened a small bookstore or a small coffee shop. It is at that moment that you can decide, I have come this far and I am going to do something else, but happy about everything you learned.&lt;/p&gt;

&lt;p&gt;Or like I did, and many before me, understand that in every profession there are better and worse moments and that it is worth working on something you like more than something you hate, and that any profession is good and respectable.&lt;/p&gt;

&lt;p&gt;By then, leaving behind the melancholy and normalizing the profession as what it is, a place where you spend several hours a day, which allows you to contribute value first to yourself as a human being, to a group as society, and who knows if to someone else. It is normal to suffer in the lows and it is correct to get excited in the peak moments, as well as it is normal to have diverse groups of work in which not everyone has reached that moment in the same way as you, combining all of those experiences to create something unique together, in our case: software, what a great invention!&lt;/p&gt;

&lt;p&gt;Was it a big mistake to turn my hobby into my profession? There are times when I still think it was and that I would live more peacefully running that bookstore... But after more than 10 years, I start to think that the mistake was idealizing any profession and that only time allow us to sort things in their place.&lt;/p&gt;

&lt;p&gt;If you want to receive this article in your inbox as a newsletter just press the button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ckgrafico.substack.com/subscribe" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2oe4gt7otu6o2ct9ao2.png" alt="Subscribe" width="183" height="55"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>discuss</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
