Top
Best
New

Posted by kiyanwang 4/11/2025

Strengths Are Your Weaknesses(terriblesoftware.org)
346 points | 110 commentspage 3
kwakubiney 4/11/2025||
I think this goes in line with companies as a whole as well. I work at a place where features are pushed at a very very high speed and we have realized that the tradeoff is us missing pretty crucial edge cases in our development. Now i’m not sure if people have worked in a place where they shipped products fast but were able to minimize bugs but i’d love to hear how your company achieved that. Is it even possible? Does it all come down to hiring to suit your fast paced needs?
calebio 4/11/2025||
Is it fair to say that also in your experience, those crucial edge cases/misses accumulate over time, making it even harder to ship things?

I've found this a lot in data systems where folks glue stuff together as fast as possible to "ship", while missing the huge glaring issues with the foundation that they've built on top of wet, sliding mud.

kwakubiney 4/11/2025||
Yeah pretty fair to say. The company is in a domain where accuracy is very important and crucial because we deal with people’s money, but most products are also in a market where competition is high so moves must be made quickly.I have not been there for long but it seems in the beginning, the foundation laid because of fast shipping culture has caused all these problems.
foolfoolz 4/11/2025||
it depends on the business and industry. at some phases in a business’s life you need to get features out more than stability. some industries are more sensitive to bugs than others. it’s not a one size fits all approach.

to shift the culture from “fast” to “safe” is mostly a team-based effort because not all teams need to shift. and even within a team you may have experimental and mature products.

i’ve seen this shift happen successfully multiple times. it must come from leadership. C-level and down. even if it’s just for one team. or one product. you need the buy in all the way up. and then your people in the chain will adapt to changing expectations

bch 4/12/2025||
Just yesterday i saw this quote from Brian Eno -

Every increase in your knowledge is a simultaneous decrease. You learn and you unlearn at the same time. A new certainty is a new doubt as well.

I pondered it a bit and arrived at "learning is losing innocence", from the point of view of somebody who mulls over Enos process. I think that sort of ties-in with this article.

pentamassiv 4/11/2025||
My professor always said: "The sum of the problems is constant"

You can code faster, but then you might overlook things. You can work a lot and earn a lot of money, but you might struggle with nurturing your friendships. You can have a partner but then you'll have arguments with them. You can remain single but then you'll have to deal with loneliness.

procaryote 4/11/2025||
It's pretty obviously wrong though. People aren't zero-sum creatures of perfect balance.

There are plenty of slow coders who overlook more things than some fast coders. Plenty of people not working a lot who still struggle to nurture friendships, and so on.

trash_cat 4/11/2025||
Isn't that quite a pessimistic view though? Of course there will always be something that irks you, but that does not mean you can't be fulfilled at some point in life and be aware that you are really happy and there is nothing you would change.
pentamassiv 4/11/2025||
I think it depends on your perspective. You can think of it as pessimistic or optimistic. An optimistic view would be: There will always be problems, but I can deal with them. Everyone else also has problems. No matter the decisions I made, there is no reason to have regrets.

It helps me to know that the richest, most attractive or smartest person alive has the same amount of problems. It's just part of life and I am happy

karmakaze 4/11/2025||
How can having a comprehensive understanding of your infrastructure/stack be a weakness exactly?

My high-level view of backend development is to make functions that transform one persisted consistent state to another. Define the start/end states and all the code that's used to do that is implementation detail. The other part is fast reads of same.

lawn 4/11/2025||
> How can having a comprehensive understanding of your infrastructure/stack be a weakness exactly?

It may cause you to favor complex solutions that are obvious to you, but inscrutable to people without your deep knowledge.

This is very common with people who are very skilled at a complex tool (such as C++ or Kubernetes).

karmakaze 4/11/2025||
> It may cause you to favor complex solutions that are obvious to you, but inscrutable to people without your deep knowledge.

This is a valid concern that I'm aware of and I try to make things as clear to others as possible. Often my PR descriptions are much longer than my code changes with tests that illustrate exactly what's being done and including links to reference documentation that spells out what's being used. Most often others immediately understand it and were merely only unaware of its existence.

It's not exactly that I lack experience elsewhere, only that I find understanding the base to be the biggest force multiplier when things get tough.

w10-1 4/11/2025||
> How can having a comprehensive understanding of your infrastructure/stack be a weakness exactly?

Weakness in the inverse: not being ready to change to new code, because you have a clear and distinct understanding of the old, and an uncertain take on the new. In that case, even if the new were better objectively, it would be discounted for you by uncertainty.

Conversely, if you understand something complex deeply and newbies don't, to them something that's easy to understand (but defers problems your stack solves) is preferable, and you end up with culture and governance issues. Managers who are relatively ignorant then set up competitions to surface issues, validate claims, and develop alternatives to mitigate their reliance risks on employees.

So: move fast and forget things, and expect a fight :)

karmakaze 4/11/2025||
Any code runs on the infrastructure/stack, so old or new it's the same underlying foundation. If there's a change or proposed change to the infrastructure/stack the first thing I'd do is become very familiar with it.

I don't understand your 2nd point. I also spend a fair amount of time educating others on the importance of knowing what's underneath.

lanfeust6 4/11/2025||
The only context for my weakness being a strength is running operations or my own business, or high-level architecture. My preference is for not being detail-oriented, but I rally to do that when I have to, which is often when troubleshooting code. I have to break down the problem and simplify it, not just to be effective but to keep motivated.
iamwil 4/11/2025||
The article mentioned speed of dev as a trait that's both a strength and a weakness. I suppose the opposite of that is quality orientated, but not very fast.

What are other dimensions along which there's this duality of strength/weakness in engineers (or even in the general workplace) that you've seen either in yourself or other coworkers?

bsenftner 4/11/2025||
This is a good, astute essay providing a useful mental framework that can undermine many a developer's innate imposter syndrome. The concept of duality is a great discriminator, it is just subtle enough that focusing on one's strength as a duality is a mind game that distracts from what normally spirals into negative self suspicion.
gnuser 4/11/2025||
Wow, I hadn’t thought of it like that before. I’ve recently been finding real insights in such reframing.
rkowal 4/11/2025|
100% true and research backs this up: strengths are also risks (or weaknesses). - If you're very disagreeable you will offend people, but at the same time hold your ground (important in high impact roles). - If you're very driven, you might tend to dominate people. - If you're very flexible, you might be impulsive.

and so on.

Try this https://www.gyfted.me/personality-quiz/strengthsfinder-test-... or this https://www.gyfted.me/quiz-landing/bfas-personality-test to learn more about your strengths/traits

More comments...