Matheus Lima
banner
terriblesoftware.org
Matheus Lima
@terriblesoftware.org
💡 Posting about Software, Management, and Tech
👨‍💻 Engineering Manager @ Tremendous
🚀 Previously, Sr. Software Engineer @ Carta
✍️ terriblesoftware.org
Pinned
If you're a new manager, or about to become one, these insights are for you.

I realized that many of the mistakes I've made during my transition into management are very common, and that's why I decided to write this down.

terriblesoftware.org/2024/12/04/t...
The 6 Mistakes You’re Going to Make as a New Manager
Transitioning from an individual contributor to a manager is tough but rewarding. The key is to delegate, find new sources of fulfillment, focus on quality over quantity, maintain proper engagement…
terriblesoftware.org
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...
“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.
terriblesoftware.org
October 24, 2025 at 3:40 PM
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...
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.
terriblesoftware.org
October 1, 2025 at 5:35 PM
Reposted by Matheus Lima
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
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!
archives.balancedengineer.com
August 25, 2025 at 1:50 PM
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...
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…
terriblesoftware.org
August 22, 2025 at 12:48 PM
"Be the pilot, not the turbulence."

Great parenting advice that's equally true for management.
August 4, 2025 at 2:34 PM
Reposted by Matheus Lima
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.
July 30, 2025 at 12:04 AM
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...
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.
terriblesoftware.org
July 18, 2025 at 4:15 PM
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...
What Doesn’t Change
Why the faster tech evolves and AI advances, the more valuable computer science fundamentals become. Understanding principles beats chasing trends.
terriblesoftware.org
July 14, 2025 at 2:56 PM
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
June 27, 2025 at 4:02 PM
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...
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.
terriblesoftware.org
June 24, 2025 at 1:36 PM
New post is out; I think you'll link this one!

terriblesoftware.org/2025/06/13/g...
Good Engineer/Bad Engineer
Why the best engineers aren’t always the smartest — and what separates engineers who ship from those who just code.
terriblesoftware.org
June 13, 2025 at 2:07 PM
When AI says, "You're absolutely right!", something bad usually follows
June 12, 2025 at 6:08 PM
Reposted by Matheus Lima
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...
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.
terriblesoftware.org
June 9, 2025 at 3:30 PM
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...
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.
terriblesoftware.org
June 9, 2025 at 3:54 PM
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...
My AI Skeptic Friends Are All Nuts
My smartest friends have bananas arguments about LLM coding.
fly.io
June 3, 2025 at 4:05 PM
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...
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.
terriblesoftware.org
May 28, 2025 at 6:54 PM
Reposted by Matheus Lima
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...
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.
terriblesoftware.org
May 16, 2025 at 5:58 PM
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...
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.
terriblesoftware.org
May 16, 2025 at 5:58 PM
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...
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?
terriblesoftware.org
April 23, 2025 at 5:31 PM
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...
Your Strengths Are Your Weaknesses
The qualities you value most in engineers are also creating your biggest problems. Here’s how to handle this paradox.
terriblesoftware.org
April 21, 2025 at 2:14 PM
Vibe coding is fun, but don't be fooled: it can only get you so far.
April 14, 2025 at 2:02 PM
Reposted by Matheus Lima
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
April 12, 2025 at 8:53 PM
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...
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.
terriblesoftware.org
April 7, 2025 at 7:00 PM
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...
Your Strengths Are Your Weaknesses
The qualities you value most in engineers are also creating your biggest problems. Here’s how to handle this paradox.
terriblesoftware.org
March 31, 2025 at 7:29 PM
Reposted by Matheus Lima
I have a passive theory that the manner in which junior and senior devs leverage AI assistance for coding is fundamentally different: (1/?)
March 18, 2025 at 4:38 PM