Matheus Lima @terriblesoftware.org · 16/09/2026Thank you! And yes, it's here terriblesoftware.org/feed/ (You can also subscribe via email, if you prefer - the callout is at the end of any post) 010
Matheus Lima @terriblesoftware.org · 14/09/2026I also recommend you to read @charity.wtf 's piece, which is very similar to what I wrote Friday... charity.wtf/p/confession...charity.wtfConfessions of an Unrepentant Slop SnobA framework for thinking about when AI involvement is additive or a violation 020
Matheus Lima @terriblesoftware.org · 10/09/2026I used to start reviews with “is this a good change?” Now I often start with “does the author even understand what they’re sending me?” When that trust is gone, you end up doing their work before you can do yours New post: terriblesoftware.org/2026/09/10/a...terriblesoftware.orgAI Is Breaking This Thing We Call TrustAI-generated work can look finished without being understood. That uncertainty erodes trust, slows reviews, and leaves colleagues doing the missing work. 042
Reposted by Matheus LimaStef Walter @stephaniewalter.bsky.social · 08/09/2026“I would have written a shorter letter, but I did not have the time.” (Blaise Pascal). @terriblesoftware.org explains that the time “saved” by a developer who used AI to make a decision and write code isn’t saved at all. It was just transferred to the next person, who now has even more review time.terriblesoftware.orgYou Got Faster. Your Company Didn’t.AI made you faster. But you’re not more productive; you’re outsourcing the slow part to everyone else 2203
Matheus Lima @terriblesoftware.org · 17/06/2026AI made everyone on your team faster. So why are companies slower? Because "faster" usually means offloading the real work to whoever comes next. terriblesoftware.org/2026/06/17/y...terriblesoftware.orgYou Got Faster. Your Company Didn’t.AI made you faster. But you’re not more productive; you’re outsourcing the slow part to everyone else 233
Matheus Lima @terriblesoftware.org · 27/05/2026AI should make you think better. It should not become a comfortable place to hide from the work. terriblesoftware.org/2026/05/27/u...terriblesoftware.orgUsing My Fucking BrainAI is great when it extends your brain. It gets dangerous when it quietly replaces the part that was supposed to think. 140
Matheus Lima @terriblesoftware.org · 01/04/2026Some engineers quietly resent not being picked for roles they never asked for. New post on why your manager can't help you if you don't open the door: terriblesoftware.org/2026/04/01/s...terriblesoftware.orgSay the Thing You WantIf you want something at work, say it out loud. Your silence isn’t saving you. 010
Matheus Lima @terriblesoftware.org · 27/03/2026Everyone's saying "taste" is the skill that matters in the AI era. Here's why I don't like this: terriblesoftware.org/2026/03/27/g...terriblesoftware.org“Good Taste” Is Just ExperienceWhat people call “good taste” is really just experience earned through reps. Stop making it sound innate. 000
Matheus Lima @terriblesoftware.org · 03/03/2026You can't write a compelling promotion packet about the thing you didn't build. And that's the whole problem. terriblesoftware.org/2026/03/03/n...terriblesoftware.orgNobody Gets Promoted for SimplicityWe reward complexity and ignore simplicity. In interviews, design reviews, and promotions. Here’s how to fix it. 2187
Matheus Lima @terriblesoftware.org · 02/02/2026"What do you think?" without sharing what YOU think isn't collaboration, but more like outsourcing cognitive work. New post on why stating your position (even when uncertain) moves things forward faster. terriblesoftware.org/2026/02/02/w...terriblesoftware.orgWhy Am I Doing the Thinking for You?‘What do you think?’ without a position isn’t a question — it’s a task assignment. State your opinion first. Let people react to something concrete. 020
Matheus Lima @terriblesoftware.org · 22/01/2026"I'm a manager now so I don't code anymore." Is that because you genuinely can't, or because you've convinced yourself you shouldn't? terriblesoftware.org/2026/01/22/w...terriblesoftware.orgWhy I Still Write Code as an Engineering ManagerI still code as an engineering manager. Not to stay busy, but to show my team what good looks like. 021
Matheus Lima @terriblesoftware.org · 15/01/2026Here are the links: - playlumi.app - github.com/matheusml/lumi Feel free to try it out with your kids as well, and tell me what they think of it! 210
Matheus Lima @terriblesoftware.org · 15/01/2026I spent weeks looking for an iPad math app for my 6yo Most of them were bad. Notifications, streaks, weird ads, systems designed to keep her hooked So I decided to vibe code her something without any addictive shady patterns She's been loving it, so I'm making it open source and sharing it 150
Matheus Lima @terriblesoftware.org · 08/01/2026I switched everything (podcasts, YouTube, audiobooks) to 1x speed. New rule: if it's not worth consuming at 1x, it's not worth consuming at all. terriblesoftware.org/2026/01/08/l...terriblesoftware.orgLife Happens at 1x SpeedWhy I stopped consuming content at 2x speed, and the simple rule that changed how I listen to everything. 044
Matheus Lima @terriblesoftware.org · 05/01/2026"I want to grow, but my manager isn't giving me the right opportunities." I hear this a lot. Here's the thing: even the best manager can only do so much. If you want growth, start creating your own opportunities. terriblesoftware.org/2026/01/05/c...terriblesoftware.orgCreating Your Own OpportunitiesThe best career opportunities don’t necessarily come from your manager. They come from seeing potential in the boring work already on your plate. 041
Matheus Lima @terriblesoftware.org · 29/12/2025January: "maybe a few people will read this" Today: 230,000+ unique visitors, two #1 Hacker News posts, and a lot of emails from strangers My (writing) year in review: terriblesoftware.org/2025/12/29/a...terriblesoftware.orgA Year of Writing for Myself (That 230,000+ People Read)I started this blog about a year ago with pretty modest expectations. It started as a place to organize my thoughts on management, engineering, and everything else in between. I figured maybe a few… 021
Matheus Lima @terriblesoftware.org · 19/12/2025I wrote about AI and got backlash from an unexpected direction. Engineers didn't argue AI would replace them; they argued it couldn't even write code. That's... concerning. terriblesoftware.org/2025/12/19/t...terriblesoftware.orgThe Strange Case of Engineers Who Dismiss AISome engineers dismiss AI coding tools as ‘garbage’ without trying modern versions. Their outdated opinions are costing them. 010
Matheus Lima @terriblesoftware.org · 11/12/2025I've been thinking about what AI actually changes for software engineers, and what it doesn't. Wrote some thoughts: terriblesoftware.org/2025/12/11/a...terriblesoftware.orgAI Can Write Your Code. It Can’t Do Your Job.The companies building AI are spending billions to acquire engineers, not replace them. Here’s why your job is safer than you think. 020
Matheus Lima @terriblesoftware.org · 25/11/2025The thing that actually makes you senior isn't architecture or communication or ownership. It's being the person who makes fuzzy things concrete. terriblesoftware.org/2025/11/25/w...terriblesoftware.orgWhat Actually Makes You SeniorThe one skill that separates senior engineers from everyone else isn’t technical. It’s the ability to take ambiguous problems and make them concrete.Retry 0102
Matheus Lima @terriblesoftware.org · 24/10/2025New post is out 🔥 If you're copy-pasting AI responses as code review feedback, you're not helping. You're just creating more work for everyone else. Your teammates need YOUR thoughts, not ChatGPT's generic advice. terriblesoftware.org/2025/10/24/c...terriblesoftware.org“ChatGPT said this” Is LazyWhen you paste ChatGPT’s response instead of your own feedback, you’re not being helpful. You’re being lazy and creating more work for everyone. 050
Matheus Lima @terriblesoftware.org · 01/10/2025Politics isn't manipulation and backstabbing. It's understanding how decisions actually get made and learning to navigate that reality. Refusing to engage doesn't make politics go away. It just means you lose by default. terriblesoftware.org/2025/10/01/s...terriblesoftware.orgStop Avoiding PoliticsMost engineers think workplace politics is dirty. They’re wrong. Refusing to play politics doesn’t make you noble; it makes you ineffective. 397
Reposted by Matheus LimaBrittany Ellich @brittanyellich.com · 25/08/2025ICYMI: this week's Balanced Engineer Newsletter has three articles to be a more balanced software engineer: ✨ An interactive overview of Big O Notation from @samwho.dev ✨ What shouldn't be written by AI from Sean Goedecke ✨ The management skill no one talks about from @terriblesoftware.orgarchives.balancedengineer.comThe Balanced Engineer • Issue #34Diving into Big O Notation, exploring AI content norms, and understanding the management skill that nobody talks about with content from Sam Rose, Sean Goedecke, and Matheus Lima! 0114
Matheus Lima @terriblesoftware.org · 22/08/2025Read a parenting book recently (stay with me here) that completely changed how I think about management. Turns out the most important skill isn't avoiding mistakes, it's what you do after making them. terriblesoftware.org/2025/08/22/t...terriblesoftware.orgThe Management Skill Nobody Talks About“There is a crack in everything. That’s how the light gets in.” — Leonard Cohen Let me tell you something that will happen after you become a manager: you’re going to mess u… 263
Matheus Lima @terriblesoftware.org · 04/08/2025"Be the pilot, not the turbulence." Great parenting advice that's equally true for management. 020
Reposted by Matheus LimaCharity Majors @charity.wtf · 30/07/2025This is a thought provoking, bite sized little piece that boils down to, "don't give feedback on EVERYTHING, because not everything matters! give feedback on things that have impact." I think it's a *great* exercise for the feedback-giver to think through the impact they want their advice to have. 38213
Matheus Lima @terriblesoftware.org · 18/07/2025How much of your feedback is actually about performance vs. personal preference? If you can't point to specific impact, maybe the behavior that needs changing is yours. terriblesoftware.org/2025/07/18/w...terriblesoftware.orgWhy Most Feedback Shouldn’t ExistBefore giving feedback, ask yourself: is there measurable impact? Most manager feedback is just personal preference disguised as professional development. Stop policing personality. 1203
Matheus Lima @terriblesoftware.org · 14/07/2025The faster tech changes, the more valuable the things that don't change become. New post on why fundamentals matter more than ever: terriblesoftware.org/2025/07/14/w...terriblesoftware.orgWhat Doesn’t ChangeWhy the faster tech evolves and AI advances, the more valuable computer science fundamentals become. Understanding principles beats chasing trends. 020
Matheus Lima @terriblesoftware.org · 27/06/2025Built a tiny zsh plugin that's been super helpful for me - converts natural language to shell commands. Just 5KB, no dependencies. Would love feedback! github.com/matheusml/zsh-ai 041
Matheus Lima @terriblesoftware.org · 24/06/2025After 10+ years as an engineer, I became the thing I used to complain about: a manager. Finally wrote about why this relationship is so broken (and how to fix it): terriblesoftware.org/2025/06/24/w...terriblesoftware.orgWhy Engineers Hate Their Managers (And What to Do About It)Discover why engineers hate managers, the common management anti-patterns that destroy trust, and practical solutions from someone who’s been on both sides. 010
Matheus Lima @terriblesoftware.org · 13/06/2025New post is out; I think you'll link this one! terriblesoftware.org/2025/06/13/g...terriblesoftware.orgGood Engineer/Bad EngineerWhy the best engineers aren’t always the smartest — and what separates engineers who ship from those who just code. 031
Matheus Lima @terriblesoftware.org · 12/06/2025When AI says, "You're absolutely right!", something bad usually follows 030
Reposted by Matheus LimaDan Denney @dandenney.com · 09/06/2025Fantastic explanation of the challenges of developing in a codebase over time My fave line: “Every new requirement makes it slightly worse, but never quite bad enough to justify a complete rewrite.” terriblesoftware.org/2025/05/28/d...terriblesoftware.orgDuplication Is Not the EnemyWe’re taught to eliminate duplication at all costs. But the wrong abstraction is far more expensive than a little copy-paste. Here’s why. 023
Matheus Lima @terriblesoftware.org · 09/06/2025Last year I wrote about how AI won't replace programmers — just like COBOL, OOP, and Low Code didn't. Got a lot of heat for it. "This time is different!" they said. A year later, we're still here. Still shipping. Still needed. terriblesoftware.org/2024/12/14/w...terriblesoftware.orgWe’ve Been Here BeforeTechnological advancements have empowered engineers to focus on creativity and strategy. AI will similarly elevate human insight, generating growth and innovation. 020
Matheus Lima @terriblesoftware.org · 03/06/2025Really good post. I don't necessarily agree with "but the craft" section, because if engineers stop loving what they do... they'll probably stop doing it. But again, great post. fly.io/blog/youre-a...fly.ioMy AI Skeptic Friends Are All NutsMy smartest friends have bananas arguments about LLM coding. 020
Matheus Lima @terriblesoftware.org · 28/05/2025Hot take: Stop following DRY so religiously. I've seen more codebases destroyed by premature abstraction than by duplication. Sometimes copy-paste is the right answer. New post: terriblesoftware.org/2025/05/28/d...terriblesoftware.orgDuplication Is Not the EnemyWe’re taught to eliminate duplication at all costs. But the wrong abstraction is far more expensive than a little copy-paste. Here’s why. 143
Reposted by Matheus LimaMatheus Lima @terriblesoftware.org · 16/05/2025Your engineers don't want you to make them "happy" — they want you to help them ship meaningful work. terriblesoftware.org/2025/05/16/m...terriblesoftware.orgManage For Success, Not ComfortGreat managers build effective engineering teams focused on results, not just team comfort. Success drives satisfaction—not the other way around. 031
Matheus Lima @terriblesoftware.org · 16/05/2025Your engineers don't want you to make them "happy" — they want you to help them ship meaningful work. terriblesoftware.org/2025/05/16/m...terriblesoftware.orgManage For Success, Not ComfortGreat managers build effective engineering teams focused on results, not just team comfort. Success drives satisfaction—not the other way around. 031
Matheus Lima @terriblesoftware.org · 23/04/2025I just published "The Hidden Cost of AI Coding" As AI coding tools make us more productive, are we sacrificing the joy that made us fall in love with programming? terriblesoftware.org/2025/04/23/t...terriblesoftware.orgThe Hidden Cost of AI CodingAI coding tools boost productivity but may sacrifice the flow state and deep satisfaction developers experience when writing code by hand. What are we losing? 6145
Matheus Lima @terriblesoftware.org · 21/04/2025When I posted this, I didn't expect the amount of engagement it's been getting. People are really resonating with it. 130
Matheus Lima @terriblesoftware.org · 14/04/2025Vibe coding is fun, but don't be fooled: it can only get you so far. 031
Reposted by Matheus LimaCharity Majors @charity.wtf · 12/04/2025I do not think it is accurate to say "much of the interest in LLM-written code comes from business owners whose main goal is to reduce worker power." I think there are business owners who are looking for ways to move faster, who are deeply anxious about being outcompeted and left behind. 5544
Matheus Lima @terriblesoftware.org · 12/04/2025Thank you 🙇🏻 You can see the most read posts here: terriblesoftware.org/about/terriblesoftware.orgAboutHi, I’m Matheus Lima, and I made a blog. Why? Honestly, because it’s cheaper than therapy and more fun than yelling at my IDE. The name Terrible Software? It’s a nod to all the times I’ve stared at… 010
Matheus Lima @terriblesoftware.org · 07/04/2025New post is out 🔥 "The real threat isn't AI—it's sticking to outdated ways while the industry evolves around you." As engineering leaders, we can't afford to ignore AI anymore. Our teams are looking for guidance on how to use these tools effectively. terriblesoftware.org/2025/04/07/m...terriblesoftware.orgMaking AI Actually Work on Your TeamEngineering leaders can no longer ignore AI. Learn practical steps to guide your team through AI adoption while maintaining quality and addressing legitimate concerns. 110