1

How do I choose between 2 technical approaches for my project?

Profile picture
Senior Software Engineer [E5] at Meta2 years ago

For my current project, I have 2 broad options for the infra/platform to support the feature:

  1. Using a proven technology that has existing use cases within Meta but a somewhat limited API
  2. Using a new technology that's not completely done yet and has uncertainty, but should have better APIs and performance

There's also the option of trying to do both, benchmarking them against one another, and then choosing the better one. However, I don't think we'll have the time to do that.

All this being said, any thoughts on which technology to go with?

143
1

Discussion

(1 comment)
  • 1
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    First, I recommend checking out this Q&A from an engineer at Twitter that is also about project leadership/planning.

    The idea is that you should work backwards from what the project/team values and make your decision from there. When you communicate this decision (often times through Workplace), make it clear what these values are that you anchored against.

    All that being said, I heavily prefer option #1 in a vacuum. The vast majority of Meta greatly values velocity, so using something that's more proven (but janky) to expedite and de-risk the project is a very "Meta" thing to do. Going with option #2 seems like a prime recipe for getting caught up in XFN spaghetti.