Discussion

(2 comments)
  • 4
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    2 years ago

    In a nutshell, it's a huge predictor.

    If an organisation does not value quality code but no. of features shipped, I feel it would eventually face difficulty in adding new features.

    Everyone should care about quality, even the smallest startup (like Taro). While it's true that a small company will prioritize velocity over quality as you described, there is a floor. No matter what, quality needs to be decent to make the product fairly usable. The trade-off is between decent and stellar quality, not between decent and horrible quality. Unfortunately I've seen a lot of startups with horrible quality - They will release their new app and it has a ton of features, but they don't work half the time and the app has an average rating of 3 stars out of 5 already.

    For your specific example, there's further nuance in that you should evaluate the attitude. Here's how I envision good vs. bad with this mentality:

    • Good: "We really want to make this good, but the aggressive go-to-market timeline requires us to sacrifice some quality to get everything out the door on time. We'll come back to it later when things cool down."
    • Bad: "Quality is a waste of time; we need to move fast."

    What separates the good from the bad is the nuance and will. There is a desire from the good example to polish things more. The people behind the bad example are likely just lazy and making excuses to ship bad code.

    If I were to zoom all the way out, I think the main way to evaluate engineering culture is to see if they think in the long-term. Every startup wants to become a giant successful company like Google someday - Everyone should at least be making an effort to think on a longer-term horizon. They don't need to act on it immediately, but it should be on their mind and woven into their conversation.

    Short-term thinking always blows up on you eventually. A classic example is burning out your team. Eventually making everyone work insane hours will lead to their productivity dropping and hating you. Crunch is necessary at some times, but it should be rarely used and when it is, it must be for a very good reason.

  • 2
    Profile picture
    Eng Manager at Meta, Principal Eng at Microsoft
    2 years ago

    Hey, I would look at it the other way around as well - If your personal values aligns better with what company values, it will be just better and easier for you. If you have the luxury of choice, go for one where it is better aligned but also try to understand why a company values it less. In their best intentions, a company is trying to do best for themselves, if they are valuing shipping more than quality, try to understand the reason, if it doesn't resonate, you can even advocate for the change.

    Overall, huge predictor. Also, more senior one is, more affect it will have.