There is no perfect recipe, choosing a technology is like choosing a design pattern: « pick your poison ».
As for any decision, everyone has its own process. Here are some thoughts I decided to share.

1. Stay simple

As we say « simple is beautiful ».
The reason is that it often increases control by reducing complexity.

However this can be interpreted both ways:

  1. Choosing a vanilla solution (e.g. language) to not include too much dependency. No need to kill a fly with a tank.
  2. Choosing a well-known solution (e.g. framework) to not reinvent the wheel. Quick to setup and contains a lot of work done.

Keep in mind that the final goal is to deploy a product in the hand of end users:

  • The more complex your ideas are, the more likely it’ll take iterations and time.
  • The details (the last 5%) that make the difference often require a complete control over the stack.

2. Understand before using

We are often attracted by innovation, and it sometimes acts as a honeypot.
While any maker should stay up to date, don’t be blinded by shiny marketing, and be sure to do your own research.

Using a technology you or your team already understand avoids (parts of) unpleasant surprises. And at the same time, no progress can be made without initiative. Read, try, and iterate.

3. Keep control

Use something on which you have control over.

Delegating power to a third-party entity (library, company, etc) entitles you to less work.
In most cases, the benefits outweigh the potential disadvantages. However, once you loose control, you have little choice but to watch.

4. Stay true to yourself

Make choices that fits your mindset.

Not because you’ll be the one who’ll live / work with the outcome ; it’s often a false statement as your decisions impacts more than yourself.
But because the project will likely evolve, and thus your reasoning. It’s easier to develop further an idea that you are comfortable with.

5. Final thoughts

While no one can accurately predict the future, using common sense is the least you can do.

You get better at deciding with time and experience. In case of doubt, trust your guts!

And don’t forget that you’re human, so you should make mistakes (at some point). But don’t let it refrain your craziness and creativity.