An engineer I work with gave me a simple rule for using AI: brain → AI → brain. Understand the problem before the agent builds. Then check its work before anyone else has to. New post: terriblesoftware.org/2026/10/02/t...
Matheus Lima
Matheus Lima
@terriblesoftware.org
💡 Posting about Software, Management, and Tech 👨💻 Engineering Manager @ Tremendous 🚀 Previously, Sr. Software Engineer @ Carta ✍️ terriblesoftware.org
890 followers189 following117 posts
I also recommend you to read @charity.wtf 's piece, which is very similar to what I wrote Friday... charity.wtf/p/confession...
I 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...
I 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...
Matheus Lima reposted
“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.
AI 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...
AI should make you think better. It should not become a comfortable place to hide from the work. terriblesoftware.org/2026/05/27/u...
Some 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...
Everyone'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...
You 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...
"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...
"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...
Here 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!
I 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...
"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...
January: "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...
I 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...
I'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...
The 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...
New 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...
Politics 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...
Matheus Lima reposted
ICYMI: 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.org
Read 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...
Matheus Lima reposted
This 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.
How 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...
How 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...
The 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...
Built 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
After 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...
Matheus Lima reposted
Fantastic 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...
Last 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...
Really 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...
Hot 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...
Matheus Lima reposted
Your engineers don't want you to make them "happy" — they want you to help them ship meaningful work. terriblesoftware.org/2025/05/16/m...
Your engineers don't want you to make them "happy" — they want you to help them ship meaningful work. terriblesoftware.org/2025/05/16/m...
I 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...
When I posted this, I didn't expect the amount of engagement it's been getting. People are really resonating with it.
Strengths and weaknesses are two sides of the same coin. As managers, our job isn't to "fix" people but to help them recognize when to dial traits up or down. Just published: terriblesoftware.org/2025/03/31/y...
Matheus Lima reposted
I 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.
It seems indisputable to me that a lot of the interest in LLM-written code comes from business owners whose main goal is to reduce worker power. That wasn't the explicit goal of technologies to make either writing or image creation faster and more accessible except MAYBE at the moment when typists
New 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...
Strengths and weaknesses are two sides of the same coin. As managers, our job isn't to "fix" people but to help them recognize when to dial traits up or down. Just published: terriblesoftware.org/2025/03/31/y...
Matheus Lima reposted
Matheus Lima reposted
★ Something Is Rotten in the State of Cupertino
Matheus Lima reposted
Psychological safety is NOT about lack of disagreement. Psychological safety REQUIRES: * disagreement and debate * setting standards for behavior and performance, and enforcing them * telling people things they don't want to hear * courage, from the bottom up * humility, from the top down
Controversial take: teams that never argue are often the most dysfunctional ones. Here's why your team should be fighting more. terriblesoftware.org/2025/03/12/w...
Controversial take: teams that never argue are often the most dysfunctional ones. Here's why your team should be fighting more. terriblesoftware.org/2025/03/12/w...
I've been using this note taking system for a while, and decided to share with you all 📝 Hope you enjoy it! terriblesoftware.org/2025/02/17/a...