# Marcelo Guerra > Software & Hardware Developer Full-stack developer with 20+ years of experience. Electronic engineer turned software developer. Currently focused on mentoring developers, building products, integrating processes, and delivering solutions — with or without AI tooling. ## Links - Website: https://mwguerra.com - GitHub: https://github.com/mwguerra - LinkedIn: https://www.linkedin.com/in/marcelowguerra/ - Full info: https://mwguerra.com/llms-full.txt ## Tech Stack Laravel, PHP, Vue.js, TypeScript, Filament, Livewire, Tailwind CSS, Docker, PostgreSQL, SQLite, Redis ## Current Role CTO & Developer at Likker (2017-2026) — technical vision and all technical decisions to ensure the delivery of true value to customers, whether in strategy, processes, or developing real solutions. From project design, through deployment, to continuous operation and evolution of each product. ## Posts - AI gets demoed in greenfield and billed in legacy (https://mwguerra.com/blog/en/ai-gets-demoed-in-greenfield-and-billed-in-legacy) An essay on where AI generates returns in real software. The legacy problem was never writing code, it was understanding what exists: program comprehension studies show more than half of working time spent on understanding. The biggest brownfield return is context recovery: assisted archaeology with candidate documentation, characterization tests that freeze behavior before change, strangler fig executed by agents in validated slices, and new layers (adapters, tests, instrumentation) as greenfield hidden inside the legacy. It rejects the two symmetrical promises: autonomous rewrites and legacy as forbidden ground for AI. Topics: legacy, brownfield, characterization tests, strangler fig, code comprehension, software archaeology, documentation, technical debt, migration, agents - Without evals, every new prompt is an untested deploy (https://mwguerra.com/blog/en/without-evals-every-new-prompt-is-an-untested-deploy) A technical article presenting evals as the regression test reread for LLM systems. Unit tests verify deterministic functions; a model returns a distribution, and the assert becomes a measurement with a threshold. A worthwhile suite combines golden, edge, adversarial and cost cases, favoring curated sampling over exhaustion. LLM-as-judge works with calibration against human evaluation and periodic re-evaluation. Coupled to prompt versioning, the suite turns V2 versus V1 from opinion into a diff and protects against provider model swaps. Closes with a twenty-case starting plan. Topics: evals, golden dataset, LLM-as-judge, behavior regression, prompt versioning, acceptance criteria, calibration, evaluation suite, agent quality - The work that used to train seniors is the same work AI automated (https://mwguerra.com/blog/en/work-that-trained-seniors-is-the-work-ai-automated) A career and engineering-culture reflection on the training pipeline AI shut down. Entry tasks (CRUD, bugfixes, boilerplate) were an informal school of judgment in small doses. With those rungs automated and junior hiring falling, as measured by Stanford's Canaries in the Coal Mine research, the market wants ready-made seniors while having shut down the path that produced them. Learning by osmosis is over; training became deliberate design: guided review of agent PRs, specification as an exercise, postmortems as classes, mentoring as senior work with reserved time. Topics: talent development, junior developers, seniority, mentorship, technical judgment, entry-level hiring, Canaries in the Coal Mine, engineering culture, career - Every agent in production is an insider with credentials (https://mwguerra.com/blog/en/every-agent-in-production-is-an-insider-with-credentials) An essay on AI agent security that moves the debate from the model to the autonomy granted. An agent with tools is a privileged non-human identity and deserves insider-risk discipline. Prompt injection is the reread of SQL injection: instruction and data in the same channel, with no prepared statement possible. The lethal trifecta (private data, untrusted content, exit channel) and Meta's Rule of Two become architecture rules, complemented by per-task least privilege, containment with a defined blast radius and treatment of the tool and MCP supply chain as dependencies with execution power. Topics: agent security, prompt injection, lethal trifecta, Rule of Two, least privilege, containment, blast radius, tool supply chain, MCP, non-human identity, OWASP - AI is the new engine. Races are still won by engineering (https://mwguerra.com/blog/en/ai-is-the-new-engine-races-still-won-by-engineering) Everyone with a new model compares engines. High-performance races are not won on the engine alone: aerodynamics, strategy, and engineering still decide who crosses the line. With AI, the physics is the same. - You write specs for a character that does not exist (https://mwguerra.com/blog/en/you-write-specs-for-a-character-that-does-not-exist) An essay on spec-driven development that starts from one observation: the image of AI inherited from film, a sentient intelligence that understands like a person, contaminates how we write specs and prompts. The thesis is that the model does not understand, it only conditions output on context and attention. Specifying well requires understanding context, attention and memory, separating model work from script work, recognizing that models are not interchangeable, and accounting for the extra token cost of writing in Portuguese. Topics: spec-driven development, specs, prompts, context engineering, context window, attention, memory, tokenization, token cost, model work versus script work, agents, LLM, Transformer - AI in production is decided on the thousandth call, not the first (https://mwguerra.com/blog/en/ai-in-production-is-decided-on-the-thousandth-call-not-the-first) Every tutorial teaches the first model call. Production is the thousandth: budgets, prompt versioning, schema validation, and telemetry. The model is the easiest part of your AI feature. - The next race isn't AI adoption, it's AI efficiency. (https://mwguerra.com/blog/en/the-next-race-isnt-ai-adoption-its-ai-efficiency) "Tokens will keep getting cheaper, so cost stops being a problem." The first half is true. The second half is where enterprise AI bills are about to blow up, and where engineering starts to matter again. - Serious AI adoption is still the exception in the Brazilian mid-market (https://mwguerra.com/blog/en/serious-ai-adoption-is-still-the-exception-in-the-brazilian-mid-market) AI hype is high, serious adoption is still low. The bottleneck isn't tech, it's operationalization. Treating AI as engineering — process, metrics, governance — separates who capitalizes from who stages theater. - Merged PRs: the "lines of code" of the AI era (https://mwguerra.com/blog/en/merged-prs-the-lines-of-code-of-the-ai-era) Merged PRs stopped meaning what they used to. The data shows the bill of speed without quality — and the choice is no longer 'whether' to use AI, it's at what quality. That call belongs to tech leadership. - Traditional technical seniority is looking at the wrong bottleneck (https://mwguerra.com/blog/en/traditional-technical-seniority-is-looking-at-the-wrong-bottleneck) 40% of code generated by AI in early 2023, near 100% on the 2024 horizon. The bottleneck of senior work simply left the stage — and what remains is what no one wants to claim publicly: discovery, decision, review. - AI in production is revealing the real maturity of technology teams (https://mwguerra.com/blog/en/ai-in-production-is-revealing-the-real-maturity-of-technology-teams) Teams that looked productive start exposing their limitations once AI hits production. It doesn't create the problem — it just makes visible what was always there, redefining what the market calls basic.