[{"author":null,"categories":["Infrastructure"],"contents":"\u003cp\u003eFor years we\u0026rsquo;ve treated \u003cstrong\u003einfrastructure\u003c/strong\u003e and \u003cstrong\u003esoftware\u003c/strong\u003e as two separate religions, each with their own gods, their own rituals, and most importantly, their own people to blame. The code lived in Git; the infrastructure lived \u0026ldquo;in AWS,\u0026rdquo; some ethereal thing that \u0026ldquo;we manage with scripts and the console.\u0026rdquo;\u003c/p\u003e\n\u003cp\u003eBut the truth is your infrastructure already behaves like software: it has state, dependencies, bugs, versions, and side effects when you change it.\u003c/p\u003e","date":"2026-03-30T00:00:00Z","permalink":"https://iamlino.net/en/blog/infrastructure-as-code-why-your-infrastructure-deserves-version-control-just-like-your-code/","tags":["IaC","Terraform","CDK","Infrastructure as Code"],"title":"Infrastructure as Code: Why Your Infrastructure Deserves Version Control Just Like Your Code"},{"author":null,"categories":["Tutorial"],"contents":"\u003cp\u003eThere\u0026rsquo;s a moment in every tech career when someone tells you: \u0026ldquo;install Docker Desktop, next step.\u0026rdquo; You comply, reboot, accept three EULAs without reading them, and after a while your laptop sounds like a jet engine and \u003ccode\u003eDocker Desktop\u003c/code\u003e decides to eat more RAM than your IDE, your open Chrome tabs, and all your unresolved trauma combined.\u003c/p\u003e\n\u003cp\u003eThen you go back to the fine print and discover that, past a certain company size, \u003cstrong\u003eDocker Desktop isn\u0026rsquo;t even free\u003c/strong\u003e: you need an \u003ca href=\"https://docs.docker.com/desktop/setup/install/plan-availability/\" target=\"_blank\" rel=\"noopener\"\u003eenterprise license\u003c/a\u003e\n. Perfectly fair, but not always feasible — and that\u0026rsquo;s when the quest begins: \u0026ldquo;I want Docker, but I don\u0026rsquo;t want another giant thing running in the background all day.\u0026rdquo;\u003c/p\u003e","date":"2026-03-26T00:00:00Z","permalink":"https://iamlino.net/en/tutorials/installing-docker-without-selling-your-soul-to-desktop/","tags":["docker","wsl","colima","docker-ce","portainer"],"title":"Installing Docker (without selling your soul to Desktop)"},{"author":null,"categories":["Tutorials"],"contents":"\u003cp\u003eThere are two types of Windows developers: those who\u0026rsquo;ve already screamed \u0026ldquo;why does this work differently on my laptop than on the Linux server?\u0026rdquo;\u0026hellip; and those who don\u0026rsquo;t know it yet, but they\u0026rsquo;ll get there.\u003c/p\u003e\n\u003cp\u003eWindows as a desktop OS is reasonably comfortable: drivers that half-install themselves, games that work (until they crash), Office (sorry, they call it Copitot 365 now), and the resource-devouring horror that is Teams.\u003c/p\u003e\n\u003cp\u003eAs a serious development environment for modern stuff (Docker, Linux tooling, weird scripts, DevOps)\u0026hellip; it\u0026rsquo;s like trying to do surgery with a butter knife. Technically possible, but you will be cursing up a storm.\u003c/p\u003e","date":"2026-03-26T00:00:00Z","permalink":"https://iamlino.net/en/tutorials/wsl-how-to-get-linux-inside-windows-without-too-much-drama/","tags":["linux","wsl","windows","performance"],"title":"WSL: how to get Linux inside Windows without too much drama"},{"author":null,"categories":["Tutorial"],"contents":"\u003cp\u003eYour first encounter with Linux, coming from Windows, usually goes something like this:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eblack screen, white text, a blinking cursor, and your brain screaming \u0026ldquo;where do I right-click?\u0026rdquo;.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eYou\u0026rsquo;ve been told \u0026ldquo;the terminal is powerful,\u0026rdquo; but all you see is a place where you don\u0026rsquo;t even know which folder you\u0026rsquo;re in.\u003c/p\u003e\n\u003cp\u003eThe good news is that, underneath all the mystique, Linux (specifically Ubuntu) isn\u0026rsquo;t that different from what you already know. There\u0026rsquo;s a file system with folders, processes you can view and kill, a \u0026ldquo;Control Panel\u0026rdquo; disguised as commands, and a kind of \u0026ldquo;App Store\u0026rdquo; for installing things (only here they\u0026rsquo;re called repositories and they use \u003ccode\u003eapt\u003c/code\u003e).\u003c/p\u003e","date":"2026-03-26T00:00:00Z","permalink":"https://iamlino.net/en/tutorials/first-steps-linux-windows-users/","tags":["linux","ubuntu","wsl","command line","terminal","shell"],"title":"Your first steps in Linux (when you come from Windows and don't want to run away screaming)"},{"author":null,"categories":["Opinion"],"contents":"\u003cp\u003eEvery so often, the tech industry latches onto a word and repeats it until it\u0026rsquo;s completely hollow. First it was \u0026ldquo;cloud\u0026rdquo;, then \u0026ldquo;blockchain\u0026rdquo;, then \u0026ldquo;web3\u0026rdquo;. Now the magic word is \u0026ldquo;AI\u0026rdquo;. If you don\u0026rsquo;t put \u0026ldquo;\u003ca href=\"https://www.forbes.com/sites/bernardmarr/2024/04/25/spotting-ai-washing-how-companies-overhype-artificial-intelligence/\" target=\"_blank\" rel=\"noopener\"\u003eAI-powered\u003c/a\u003e\n\u0026rdquo; on your product page, it looks like your product comes in black and white with a Nokia 3310 thrown in for free (for my younger readers: those were the indestructible phones that only made calls and lasted a week on a single charge).\u003c/p\u003e","date":"2026-03-23T00:00:00Z","permalink":"https://iamlino.net/en/blog/ai-everywhere-the-ketchup-on-everything-syndrome/","tags":["artificial intelligence","consumer","economy","engineering"],"title":"AI everywhere: the ketchup-on-everything syndrome"},{"author":null,"categories":["Tutorials"],"contents":"\u003cp\u003eOver the years I\u0026rsquo;ve been collecting technical battle scars, commands you only remember when it\u0026rsquo;s already too late, configurations that work \u0026ldquo;on the third try,\u0026rdquo; and tool combos that were supposed to be simple but in practice left you on a Saturday night staring at logs.\u003c/p\u003e\n\u003cp\u003eAll of that usually stays in your head, in messy notebooks, or in lost Slack messages. This section exists to \u003cstrong\u003eget it out of there and put it to work for you\u003c/strong\u003e.\u003c/p\u003e","date":"2026-03-23T00:00:00Z","permalink":"https://iamlino.net/en/tutorials/the-manual-i-wish-id-had/","tags":["tutorials"],"title":"The manual I wish I'd had"},{"author":null,"categories":["Software Engineering"],"contents":"\u003cp\u003eThere are technical decisions made with data, time, and a bit of judgment.\u003c/p\u003e\n\u003cp\u003eAnd then there are the other kind: the ones made after watching three conference talks, scrolling through two X threads, and half-reading a \u003ca href=\"https://garden.io/blog/seven-hard-earned-lessons-learned-migrating-a-monolith-to-microservices\" target=\"_blank\" rel=\"noopener\"\u003ecase study\u003c/a\u003e\n, that somehow end with phrases like \u0026ldquo;well\u0026hellip; now that we\u0026rsquo;ve set it all up, we might as well get some use out of it, right?\u0026rdquo;\u003c/p\u003e\n\u003cp\u003eOne day you\u0026rsquo;re perfectly happy with your API running on a plain old VPS, and the next you find yourself building a \u003cstrong\u003eserverless-event-driven-data-mesh-multi-cloud\u003c/strong\u003e architecture because you watched a video claiming \u0026ldquo;that\u0026rsquo;s how Netflix does it.\u0026rdquo;\u003c/p\u003e","date":"2026-03-16T00:00:00Z","permalink":"https://iamlino.net/en/blog/how-to-make-technical-decisions-without-selling-your-soul-to-the-hype/","tags":["architecture","monolith","microservices","cloud"],"title":"How to Make Technical Decisions Without Selling Your Soul to the Hype"},{"author":null,"categories":["Software Engineering"],"contents":"\u003cp\u003eSome architecture decisions are made calmly, with data, over a nice cup of coffee.\u003c/p\u003e\n\u003cp\u003eAnd then there\u0026rsquo;s real life, where you pick your tech stack the same way you pick a favorite sports team: because you saw it in a cool conference talk, because some big-name company uses it, or because someone tweeted that \u0026ldquo;if you don\u0026rsquo;t have 80 microservices running on Kubernetes, you\u0026rsquo;re a dinosaur.\u0026rdquo;\u003c/p\u003e\n\u003cp\u003eNext thing you know, you\u0026rsquo;ve gone from a lovable monolith — a little messy but functional — to a circus of services where nobody really knows what talks to what, your cloud bill is terrifying, and the only microservice running flawlessly is the one that charges you at the end of the month. All because, at some point, somebody stopped asking the only question that actually matters:\u003c/p\u003e","date":"2026-03-09T00:00:00Z","permalink":"https://iamlino.net/en/blog/microservices-monoliths-mythical-creatures/","tags":["architecture","monolith","microservices","engineering","system design"],"title":"Microservices, Monoliths, and Other Mythical Creatures"},{"author":null,"categories":["Opinion"],"contents":"\u003cp\u003eBack in the day, you\u0026rsquo;d buy a CD, a game, a copy of Word 2003, and that thing was yours \u0026ldquo;forever\u0026rdquo; \u0026ndash; or at least until you switched computers or your music taste moved on.\u003c/p\u003e\n\u003cp\u003eNow you blink and discover that \u003cstrong\u003eeverything\u003c/strong\u003e is a subscription: movies, TV shows, music, the gym, your car, razor blades, cat food, courses, IDEs, design suites, servers\u0026hellip; and if you\u0026rsquo;re not careful, even your couch will hit you with a monthly fee just for sitting near it.\u003c/p\u003e","date":"2026-03-05T00:00:00Z","permalink":"https://iamlino.net/en/blog/subscription-model-sucks/","tags":["subscriptions","enshittification","SaaS","consumer","economics"],"title":"The subscription model sucks"},{"author":null,"categories":["Software Engineering"],"contents":"\u003cp\u003eImagine someone telling you: \u0026ldquo;I\u0026rsquo;ve set up my app on an on-premises server with Oracle 9i, but don\u0026rsquo;t worry, it\u0026rsquo;s modern architecture because it runs Docker.\u0026rdquo; That\u0026rsquo;s the moment you understand why people bail on architecture meetings pretending they have a dental emergency.\u003c/p\u003e\n\u003cp\u003eWhen we talk about \u003cstrong\u003e\u0026ldquo;modern architecture,\u0026rdquo;\u003c/strong\u003e we\u0026rsquo;re not talking about slapping Kubernetes onto everything or cramming as many buzzwords as possible into a slide deck. We\u0026rsquo;re talking about something far less flashy and far more difficult: building systems that survive in \u003ca href=\"https://apptastic-coder.com/tutorials/2025-11-3-architecture-comparison/\" target=\"_blank\" rel=\"noopener\"\u003etoday\u0026rsquo;s ecosystem\u003c/a\u003e\n without going obsolete or blowing up every time the business changes a \u0026ldquo;simple\u0026rdquo; requirement. Systems that live in the cloud (or several clouds), communicate over networks that fail, store data scattered across half the planet, and still need to keep responding when someone decides \u0026ldquo;we also need to go multi-region because an important client said so.\u0026rdquo;\u003c/p\u003e","date":"2026-03-02T00:00:00Z","permalink":"https://iamlino.net/en/blog/modern-architecture-fundamentals-no-snake-oil-included/","tags":["architecture","monolith","microservices","cloud","cloud-native"],"title":"Modern Architecture Fundamentals (No Snake Oil Included)"},{"author":null,"categories":["Opinion"],"contents":"\u003cp\u003eThere\u0026rsquo;s a very specific kind of tiredness that only people in tech truly understand. It\u0026rsquo;s not sleepiness, it\u0026rsquo;s not laziness, it\u0026rsquo;s not \u0026ldquo;I hate coding.\u0026rdquo; It\u0026rsquo;s that moment when you close your laptop at a reasonable hour, go make dinner\u0026hellip; and five minutes later open your phone \u0026ldquo;just to check\u0026rdquo; LinkedIn or X. In that \u003ca href=\"https://blogs.embarcadero.com/preventing-developer-burnout-from-reactive-fixes-to-a-proactive-approach-to-well-being/\" target=\"_blank\" rel=\"noopener\"\u003epersonal micro-hell\u003c/a\u003e\n, everyone seems to have launched a side project, contributed to open source, migrated to another framework, shoved AI into everything including their grocery list, and written a thread explaining how you can do it too \u003ca href=\"https://www.linkedin.com/pulse/spotting-developer-burnout-strategies-achieving-work-life-miriti-pz4df\" target=\"_blank\" rel=\"noopener\"\u003e\u0026ldquo;if you just get organized\u0026rdquo;\u003c/a\u003e\n.\u003c/p\u003e","date":"2026-02-26T00:00:00Z","permalink":"https://iamlino.net/en/blog/psychological-cost-always-up-to-date/","tags":["burnout","FOMO","mental health","career","learning"],"title":"The psychological cost of always being \"up to date\""},{"author":null,"categories":["Opinion"],"contents":"\u003cp\u003eThere comes a moment, in almost every tech career, when you catch yourself thinking: \u0026ldquo;maybe the problem is me.\u0026rdquo;\u003c/p\u003e\n\u003cp\u003eNot because you don\u0026rsquo;t enjoy coding, but because you feel like you\u0026rsquo;re always two frameworks behind, three blog posts short, and five certifications trailing whatever your LinkedIn feed suggests you should be. You open Twitter on a Sunday morning and it looks like everyone has contributed to open source, built a side project in Rust, and read the latest architecture book\u0026hellip; while you were, I don\u0026rsquo;t know, \u003ca href=\"https://www.reddit.com/r/ExperiencedDevs/comments/vbceu5/avoiding_long_term_burnout_associated_with/\" target=\"_blank\" rel=\"noopener\"\u003eliving\u003c/a\u003e\n.\u003c/p\u003e","date":"2026-02-23T00:00:00Z","permalink":"https://iamlino.net/en/blog/professional-hygiene-guide-developers/","tags":["burnout","career","certifications","specialization","DevEx"],"title":"A \"professional hygiene\" guide for developers"},{"author":null,"categories":["Observability"],"contents":"\u003cp\u003eIn almost every company, there\u0026rsquo;s a magical phrase used to describe a system\u0026rsquo;s health: \u0026ldquo;it more or less works.\u0026rdquo; Translated into plain English: nobody knows how often it goes down, how many requests fail, or how much money is lost when it decides not to work. But hey, \u0026ldquo;more or less.\u0026rdquo;\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://cloud.google.com/blog/products/devops-sre/sre-fundamentals-slis-slas-and-slos\" target=\"_blank\" rel=\"noopener\"\u003e\u003cstrong\u003eSLI\u003c/strong\u003e\u003c/a\u003e\n, \u003ca href=\"https://sre.google/sre-book/service-level-objectives/\" target=\"_blank\" rel=\"noopener\"\u003e\u003cstrong\u003eSLO\u003c/strong\u003e\u003c/a\u003e\n, and \u003ca href=\"https://dzone.com/articles/the-key-differences-between-sli-slo-and-sla-in-sre\" target=\"_blank\" rel=\"noopener\"\u003e\u003cstrong\u003eSLA\u003c/strong\u003e\u003c/a\u003e\n are the grown-up version of that phrase. They\u0026rsquo;re the way to go from \u0026ldquo;I think it\u0026rsquo;s fine\u0026rdquo; to \u0026ldquo;this is what it handles, this is what we promise, and this is what\u0026rsquo;s at stake\u0026rdquo; — without having to fall back on the classic \u0026ldquo;trust me, I\u0026rsquo;m an engineer.\u0026rdquo;\u003c/p\u003e","date":"2026-02-20T00:00:00Z","permalink":"https://iamlino.net/en/blog/slos-slas-slis/","tags":["SLO","SLA","SLI","SRE","error budget"],"title":"SLOs, SLAs, and SLIs: putting numbers on \"it kinda works\""},{"author":null,"categories":["Observability"],"contents":"\u003cp\u003eIn almost every team, there\u0026rsquo;s a magical moment when someone opens a dashboard, points at a green graph, and says: \u0026ldquo;See? We\u0026rsquo;re doing great.\u0026rdquo; Meanwhile, support is on fire, the payments API is going down every other hour, and the development team hasn\u0026rsquo;t slept properly in three weeks.\u003c/p\u003e\n\u003cp\u003eThe difference between a healthy team and one stuck in that endless theater usually comes down to how they use metrics: as a flashlight to see better\u0026hellip; or as a stick to beat each other with.\u003c/p\u003e","date":"2026-02-18T00:00:00Z","permalink":"https://iamlino.net/en/blog/metrics-observability-strategy/","tags":["metrics","observability","DORA","SLO","DevEx"],"title":"Metrics and observability strategy: measuring without fooling yourself"},{"author":null,"categories":["Opinion"],"contents":"\u003cp\u003eMost good technical articles are born the same way: someone got burned by a real problem and decided that, since they\u0026rsquo;d already bled, the least they could do was save others from tripping over the same spot.\nThen there\u0026rsquo;s the other kind: the one you end up writing after seeing yet another LinkedIn post claiming that \u0026ldquo;X is going to revolutionize software development\u0026rdquo; and thinking, \u0026ldquo;this smells like snake oil, but let me take a look just in case.\u0026rdquo;\u003c/p\u003e","date":"2026-02-16T00:00:00Z","permalink":"https://iamlino.net/en/blog/is-this-idea-worth-tech-article/","tags":["writing","technical decisions","checklist"],"title":"Checklist: \"Is this idea worth a tech article?\""},{"author":null,"categories":["Software Engineering"],"contents":"\u003cp\u003eWe were standing right on the edge of the cliff… and decided to take a big step forward.\u003c/p\u003e\n\u003cp\u003eFor years, \u0026ldquo;move fast\u0026rdquo; has been sold to us as an unquestionable virtue.\nThe problem is that, in far too many teams, it\u0026rsquo;s been translated into \u0026ldquo;ship crap\u0026rdquo;: ship fast, break things… and then spend months trapped in technical debt, bugs, angry customers, and general frustration.\u003c/p\u003e\n\u003cp\u003eIn this article I want to show you how bad metrics (OKRs, velocity, \u0026ldquo;features per quarter\u0026rdquo;) are pushing a lot of products over the edge—and what you can do about it, because it\u0026rsquo;s not \u003cem\u003eall\u003c/em\u003e doom and gloom.\u003c/p\u003e","date":"2026-02-15T00:00:00Z","permalink":"https://iamlino.net/en/blog/from-move-fast-to-ship-crap/","tags":["metrics","quality","OKR","velocity","technical debt"],"title":"From \"Move Fast\" to \"Ship Crap\": When Speed Eats Quality"},{"author":null,"categories":null,"contents":"\u003cp\u003eI am an Architect and Software Developer with more than 20 years of experience.\u003c/p\u003e\n\u003cp\u003eOver the years I’ve worked in nuclear power, banking, advertising, insurance, and healthcare, taking on roles such as Software Architect, Developer, Functional Analyst, and Project Manager.\u003c/p\u003e\n\u003cp\u003eI’m currently a Solutions Architect, helping companies migrate and modernize their applications in the cloud.\u003c/p\u003e\n\u003cp\u003eTeaching is my real passion, and sharing what I’ve learned means turning hard‑won experience into practical, no‑nonsense insights for other developers and technology professionals.\u003c/p\u003e","date":null,"permalink":"https://iamlino.net/en/page/about/","tags":null,"title":"About"},{"author":null,"categories":null,"contents":"\u003cp\u003e\u003cem\u003eLast updated: March 15, 2026\u003c/em\u003e\u003c/p\u003e\n\u003ch2 id=\"data-controller\"\u003eData Controller\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eLino Figueroa\u003c/strong\u003e\nContact: via \u003ca href=\"https://www.linkedin.com/in/linofigueroa/\" target=\"_blank\" rel=\"noopener\"\u003eLinkedIn\u003c/a\u003e\n\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"what-data-we-collect-and-why\"\u003eWhat data we collect and why\u003c/h2\u003e\n\u003cp\u003eThis site uses \u003cstrong\u003eGoogle Analytics 4\u003c/strong\u003e to obtain aggregated usage statistics: number of visits, most-read pages, approximate geographic origin, and device type. The purpose is to improve the blog\u0026rsquo;s content.\u003c/p\u003e\n\u003cp\u003eGoogle Analytics 4 \u003cstrong\u003edoes not collect data that directly identifies any individual\u003c/strong\u003e. IP addresses are anonymised automatically before any processing.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"cookies\"\u003eCookies\u003c/h2\u003e\n\u003cp\u003eGoogle Analytics sets the following cookies in your browser:\u003c/p\u003e","date":null,"permalink":"https://iamlino.net/en/page/privacy/","tags":null,"title":"Privacy Policy"}]