https://github.com/evermade/tech-radar
Evermade tech radar.
https://github.com/evermade/tech-radar
Last synced: 5 months ago
JSON representation
Evermade tech radar.
- Host: GitHub
- URL: https://github.com/evermade/tech-radar
- Owner: evermade
- Created: 2018-09-24T12:00:50.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-25T11:15:09.000Z (over 7 years ago)
- Last Synced: 2025-05-22T11:36:25.592Z (about 1 year ago)
- Homepage: https://www.evermade.fi
- Size: 7.81 KB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Evermade Technology Radar 2018
Welcome to Evermade tech radar - inspired by Zalando. This is intended to help our developers to improve their skills and pick up the right tools for projects. Tech radar is referring to our future plan - not necessarily the existing stack.
Tools, technologies and concepts are divided into four categories:
- **Adopt**
Technologies we should use and get familiar with.
- **Trial**
Widely used mature technologies we will most likely adopt to our workflow at some point.
- **Assess**
Something we see could be a part of our stack in the future but might still be too experimental or business needs are still unclear.
- **Hold**
Technologies we should avoid. We might have used these in the past but we are not going to use in the future.
## Methodologies / concepts
### Adopt
- **Analytics**
Analytics is more than just throwing in a GTM script to . Settings goals and following them should start before we've even started to write code. Better analytics understanding is one of our core company goals.
- **Continuous integration & deployment**
Just `git push` and magic happens. Too fun to be ignored.
- **Service design**
Some might wonder what is this doing on tech radar? Service design means "taking a service and making it meet the user's and customer's needs". Doesn't like something developers can ignore. We are creating services for humans. Everyone in our company should understand the meaning of the work we are doing.
- **Architecture design**
Serverless? MVC? Separation of concerns? Understanding software architecture design and patterns helps us make better decisions.
### Trial
- **Automatic testing and test driven development**
Really helps improve the quality and saves time in long run. Testing requires a mindset change and adaptation of new tools.
- **Scrum & project management**
We aim to be self-driven, and understanding how to run agile projects helps.
- **REST API design**
Almost every project involves some kind of API integration. Sometimes we use APIs and sometimes we design them. It's worth understanding what it takes to design a good API.
### Assess
- **AI**
Ahhh, the hottest buzzword out there. Let's keep calm and follow the situation. In the future AI will definitely be integral part of... everything. So we can't ignore it. Let's keep our eyes open.
- **AR / VR**
These were peaking on a hype curve a few years ago. There are some clear use cases in some projects so let's keep our eyes on this every now and then.
### Hold
- **N/A**
## Frameworks and platforms
### Adopt
- **WordPress**
Our number one CMS. But forget hacking with shitty plugins and readymade templates. We take WordPress more seriously.
- **React**
Already widely used in our projects. Must know.
- **Redux + other libraries**
Redux is a standard state manager these days. It is worth learning even if it comes with some unnecessary boilerplating. Also other related libraries like Redux Saga, Redux Thunk, ImmutableJS and Reselect.
### Trial
- **Contentful**
Powerful content as a service -platform. Offers tools for creating content models and adding content. Works nicely with headless tools.
- **Shopify**
Powerful, scalable and customizable webshop SaaS-platform with powerful API and integration options. Has proven its value.
### Assess
- **Express.js**
If we boild Node.js backends, it's recommended to use Express.js. Mature, supported and capable.
- **Headless technologies**
Headless tools like Gatsby.js offers a reliable and fast way to compile sites. Definitely worth investigating.
- **Laravel**
The best PHP framework out there. If we do backend with PHP instead of Node.js, we use Laravel.
### Hold
- **CraftCMS**
Great CMS and might do some things better than WordPress, but overall let's try to keep our stack aligned and focus on only a few platforms. Worth experimenting with, and worth following how it evolves.
- **Vue**
Vue is a great, easy to learn and powerful library. However, to keep our stack unified, let's focus on React.
- **Angular**
Great framework but let's focus on React.
- **HubSpot**
From developer's point of view HubSpot is quite far from what we would like to do.
## Infrastructure and tools
### Adopt
- **Docker**
Docker is an integral part of our tooling and everyone should have at least basic understanding how Docker works and what's the motivation for using it.
- **NPM / Yarn**
For today's frontend developer this should be quite obvious.
- **Webpack**
Module bundler for JavaScript used in almost every project.
- **Composer**
PHP dependency manager.
- **Bitbucket Pipelines**
Continuous delivery tool used in our projects.
- **NGINX**
Our primary web server and almost everyone needs to open config files every now and then.
- **SSL**
At first glance it might be weird to see SSL on this list, but understanding how certificates work and how they can be configured is definitely beneficial for all of us.
### Trial
- **End-to-end testing**
Learning end-to-end testing tools like Mocha/Chai/Puppeteer or Cypress is definitely worth learning.
- **Netlify**
Netlify offers powerful tools for building and hosting web services. Definitely worth having a look at.
- **Amazon AWS infrastructure**
Amazon AWS offers zillions of different tools. Tools like EC2, Fargate, S3, CloudFront, API Gateway, Lambda and RDS are worth considering.
- **Server-level caches**
Server-level caches like Redis, Varnish and FastCGI Cache offer better performance than language level caches (like WordPress cache plugins). Consider using in projects.
### Assess
- **Terraform**
Great tool for orchestrating infrastructure. Understanding best practices is important for successful use.
- **Swagger**
Swagger is a great tool for planning, documenting and testing REST APIs. Recommended for any API project.
## Hold
- **Bower**
Deprecated package manager. Do not touch.
- **Flightplan**
Flightplan is a tool to run sequences of shell commands against remote hosts. We have been using this for deployment but it will be replaced by CI.
- **CircleCI**
We experimented with various CI tools and ended up using Bitbucket Pipelines. To keep our stack more consistent let's not use CircleCI anymore.
- **Apache**
We have switched to NGINX. Apache should be used only if there's good reason to do so.
- **Ansible**
Ansible is a great tool for orchestrating server infrastructure and we have used it extensively. However we are using
Ansible mostly for provisioning servers but not for keeping their stack up to date. For only initializing servers it's overkill and will be replaced by init scripts.
- **Gulp**
Although Gulp is still widely used in our projects it's more or less replaced by Webpack in later builds. Use carefully.
## Languages, language tools & transpilers
### Adopt
- **JavaScript (>= ECMAScript 2015)**
Just do it.
- **PHP (>= 7.2)**
WordPress is powered by PHP so it's good to understand the underlying language.
- **SASS**
Powerful extension to CSS widely used in our projects.
### Trial
- **Node.js**
Server side JavaScript. Node.js is natural backend choise for us, because it's widely adopted and we have experience on it.
- **TypeScript**
TypeScript is is a strict syntactical superset of JavaScript which brings in static typing. Definitely worth learning and experimenting with.
### Assess
- **Shell scripting**
Shell scripts are swiss army knives for all developers.
### Hold
We have had internal discussions about all of these languages and some people has experience with these. However we do not see these to be suitable for Evermade. Learning curve would be too steep and educating the whole team is not worth it. Let's focus on JavaScript/Node.js and PHP.
- **Python**
- **Go**
- **Elixir**