Sign in

Matheus Lima

@terriblesoftware.org
874 followers 189 following 115 posts

💡 Posting about Software, Management, and Tech 👨‍💻 Engineering Manager @ Tremendous 🚀 Previously, Sr. Software Engineer @ Carta ✍️ terriblesoftware.org

PostsRepliesMedia
Matheus Lima @terriblesoftware.org · 16/09/2026
Thank 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/2026
I also recommend you to read @charity.wtf 's piece, which is very similar to what I wrote Friday... charity.wtf/p/confession...
charity.wtf
Confessions of an Unrepentant Slop Snob
A framework for thinking about when AI involvement is additive or a violation
020
Matheus Lima @terriblesoftware.org · 10/09/2026
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...
terriblesoftware.org
AI Is Breaking This Thing We Call Trust
AI-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 Lima
Stef 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.org
You 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/2026
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...
terriblesoftware.org
You 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/2026
AI should make you think better. It should not become a comfortable place to hide from the work. terriblesoftware.org/2026/05/27/u...
terriblesoftware.org
Using My Fucking Brain
AI 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/2026
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...
terriblesoftware.org
Say the Thing You Want
If you want something at work, say it out loud. Your silence isn’t saving you.
010
Matheus Lima @terriblesoftware.org · 27/03/2026
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...
terriblesoftware.org
“Good Taste” Is Just Experience
What people call “good taste” is really just experience earned through reps. Stop making it sound innate.
000
Matheus Lima @terriblesoftware.org · 04/03/2026
Of course!
110
Matheus Lima @terriblesoftware.org · 03/03/2026
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...
terriblesoftware.org
Nobody Gets Promoted for Simplicity
We 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.org
Why 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.org
Why I Still Write Code as an Engineering Manager
I 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/2026
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!
210
Matheus Lima @terriblesoftware.org · 15/01/2026
I 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/2026
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...
terriblesoftware.org
Life Happens at 1x Speed
Why 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.org
Creating Your Own Opportunities
The 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/2025
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...
terriblesoftware.org
A 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/2025
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...
terriblesoftware.org
The Strange Case of Engineers Who Dismiss AI
Some engineers dismiss AI coding tools as ‘garbage’ without trying modern versions. Their outdated opinions are costing them.
010
Matheus Lima @terriblesoftware.org · 11/12/2025
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...
terriblesoftware.org
AI 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/2025
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...
terriblesoftware.org
What Actually Makes You Senior
The 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/2025
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...
terriblesoftware.org
“ChatGPT said this” Is Lazy
When 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 · 13/10/2025
Thank you! 🙇
030
Matheus Lima @terriblesoftware.org · 07/10/2025
This is good stuff!
010
Matheus Lima @terriblesoftware.org · 01/10/2025
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...
terriblesoftware.org
Stop Avoiding Politics
Most 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 Lima
Brittany Ellich @brittanyellich.com · 25/08/2025
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
archives.balancedengineer.com
The Balanced Engineer • Issue #34
Diving 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 · 25/08/2025
Thank you! 🙇
010
Matheus Lima @terriblesoftware.org · 22/08/2025
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...
terriblesoftware.org
The 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 Lima
Charity Majors @charity.wtf · 30/07/2025
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.
38213
Matheus Lima @terriblesoftware.org · 18/07/2025
Would love your take on this one, @charity.wtf
110
Matheus Lima @terriblesoftware.org · 18/07/2025
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...
terriblesoftware.org
Why Most Feedback Shouldn’t Exist
Before 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/2025
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...
terriblesoftware.org
What Doesn’t Change
Why 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/2025
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
041
Matheus Lima @terriblesoftware.org · 24/06/2025
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...
terriblesoftware.org
Why 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/2025
New post is out; I think you'll link this one! terriblesoftware.org/2025/06/13/g...
terriblesoftware.org
Good Engineer/Bad Engineer
Why 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/2025
When AI says, "You're absolutely right!", something bad usually follows
030
Reposted by Matheus Lima
Dan Denney @dandenney.com · 09/06/2025
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...
terriblesoftware.org
Duplication Is Not the Enemy
We’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 · 10/06/2025
Thank you! 🙇
000
Matheus Lima @terriblesoftware.org · 09/06/2025
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...
terriblesoftware.org
We’ve Been Here Before
Technological 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/2025
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...
fly.io
My AI Skeptic Friends Are All Nuts
My smartest friends have bananas arguments about LLM coding.
020
Matheus Lima @terriblesoftware.org · 28/05/2025
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...
terriblesoftware.org
Duplication Is Not the Enemy
We’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 Lima
Matheus Lima @terriblesoftware.org · 16/05/2025
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...
terriblesoftware.org
Manage For Success, Not Comfort
Great 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/2025
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...
terriblesoftware.org
Manage For Success, Not Comfort
Great 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/2025
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...
terriblesoftware.org
The Hidden Cost of AI Coding
AI 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/2025
That's awesome, thank you!
010
Matheus Lima @terriblesoftware.org · 21/04/2025
When 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/2025
Vibe coding is fun, but don't be fooled: it can only get you so far.
A graph showing software development progress over time. Initial "vibe coding" creates rapid progress to ~80% (prototype), while the "long tail" slowly reaches production-ready state.
031
Reposted by Matheus Lima
Charity Majors @charity.wtf · 12/04/2025
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.
5544
Matheus Lima @terriblesoftware.org · 12/04/2025
Thank you 🙇🏻 You can see the most read posts here: terriblesoftware.org/about/
terriblesoftware.org
About
Hi, 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/2025
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...
terriblesoftware.org
Making AI Actually Work on Your Team
Engineering leaders can no longer ignore AI. Learn practical steps to guide your team through AI adoption while maintaining quality and addressing legitimate concerns.
110