# Choosing Technologies

* This applies to technologies(free or paid), libraries, frameworks, languages, databases etc etc

## Do's

* If it has something vital for your system that needs it
* Allows you to apply your current working practices ie TDD, CI/CD etc
* It is better than what you have
* Low cost of failure using it
  * mature
  * active development, fixing bugs, adding features, new versions
  * Good documentation and examples
  * Others using it
  * Blogs, stack overflow, conferences about it

## Don'ts

* You are bored want something exciting
* Cause you have used it before or it is the latest buzz
  * No research into it for your particular use case
* For your resume
* To create a buzz, to seem up to date using latest trends
* Avoid using too many things, especially new things

## How

* Try it out with the idea that you can back out easily
  * free trials
  * spikes or proof of concepts
* Watch out for sunk cost fallacy
* Vendor lock in
  * might be tied to a particular technology choice, meaning that you cannot change it or need to pick certain tech to work with it
* Achieve consensus
* Know what you are looking for, and research tech that matches that
  * read documentation and other sources
* Gather different types of techs to make decisions from
* users of tech can work with it
  * low upskilling
  * familiarity

## Links

* <https://youtu.be/qVLpMC001AA> Top MISTAKES When Choosing A Technology Framework
* <https://boringtechnology.club/>
  * <https://mcfunley.com/choose-boring-technology>
