dwyl / dwyl/technology-stack

What Does Your Tech Stack Optimise For? 💭

Open
#148 0 comments 1 reaction 0 assignees View on GitHub
discuss T25m technical
Dominant language
JavaScript
Stars
291
Forks
25
PR merge metrics
No merged PRs in 30d

Description

There are _many_ variables to consider when selecting a Technology Stack here are our **Top 10**:

1. **Customer Satisfaction** - do the `people` _using_ your product/service _love_ or _hate_ using it?
2. **Time to Market** - time between ideas and delivering _useable_ features; shorter is better.
3. **_Total_ Cost of Ownership** - how much does it cost to develop, deploy, run and _maintain_ the app?
4. **Reliability** / **Availability** - does your App perform reliably with the required service level e.g: 99.99% uptime?
5. **Developer Experience** - Happiness and effectiveness at delivering features _reliably_.
6. **Ecosystem** - are there good packages/modules available to extend the tech if needed?
7. **Scalability** - does the technology need to serve just one person, millions or even billions of people?
8. **Hiring** - availability of competent/experienced people who are available for the price you want to pay.
9. **Maintainability** - how easy/difficult is it to maintain the tech over its useful life?
10. **Performance** - the amount of useful work accomplished by a [computer system](https://en.wikipedia.org/wiki/Computer_system). Relevant to conserve/maximise computing resources.

> **Note**: the _order_ in which your company/team place these _competing_ priorities
will inform your selection of technology. ⬇️

Performance often becomes a "my language is _faster_ than yours" pointless debate and loses track of other important factors.
If your `server` is ultra-fast but `frontend` has horrible UX or uptime and nobody _uses_ it, you are just wasting time/money.

Other factors we consider as "given" are **Security**, **Privacy** and **Standards**: https://github.com/nelsonic/nelsonic.github.io/issues/54#issuecomment-150835857

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.