My approach to choosing technology is straightforward but somehow controversial:
Look at the end result
Typically, there are multiple options available for implementing a thing:
- A: difficult, slow to develop, but the end result is better
- B: fast, easy, the end result has some compromises made
When presented with such choice, imagine both futures where you deliver your product to a user. A user doesn't care if it was difficult for you, if you had to learn new things, fight with a compiler or package manager or whatever.
How would you explain that they'll have to endure the slowness of your product because you were not educated enough to make it better?
For me, that would be extremely embarrassing, so I choose option A whenever I can. This pushes me to learn new things despite them being hard or overwhelming or poorly documented. This makes me a better developer, and my users are happier even if they don't know it 😊

