Matthias Dittgen

April 18, 2022

Tech Radar

Ask why»

When I was working at Futurice eight years ago, we had these stickers with the words “Ask why” on it. It should be a reminder to ask ourselves, customers and end users the right questions.

You will get the motivation behind their wishlist. Why do you want, why do you need this? So let’s start with the why in this post as well.

Section;Orbit;Attribute;Title;Description
Technology;Adopt;New;Artificial Intelligence;AI is a field of study that focuses on the development of intelligent machines that can perform tasks that typically require human intelligence, such as visual perception, speech recognition, decision-making, and natural language processing.
Tools;Trial;Moved in/out;Visual Studio Code;VS Code is a lightweight but powerful source code editor that can be used for coding, debugging, and building web and cloud applications. 
Platforms;Assess;No change;Kubernetes;Kubernetes is an open-source platform that automates container deployment, scaling, and management. 
Languages;Hold;No change;Assembly Language;Assembly Language is a low-level programming language used for programming embedded systems and other devices where performance and control are critical. 
Frameworks;Adopt;Moved in/out;React;React is a JavaScript library used for building user interfaces and web applications. 
Infrastructure;Assess;New;Serverless Computing;Serverless Computing is a cloud computing model in which the cloud provider manages the infrastructure and automatically allocates resources as needed, allowing developers to focus on writing code. 
Data Modeling;Adopt;No change;Relational Database;A Relational Database is a type of database that stores and organizes data in tables and uses SQL to access and manipulate the data. 
Network & IT;Trial;New;5G;5G is the latest generation of wireless technology that promises faster data transfer speeds, lower latency, and greater network capacity. 
Security;Hold;Moved in/out;Encryption;Encryption is the process of encoding information so that only authorized parties can access it. 
Organization;Assess;No change;Agile Methodology;Agile is a software development methodology that emphasizes collaboration, flexibility, and rapid iteration. 
Technology;Adopt;New;Quantum Computing;Quantum Computing is a field of computing that uses quantum-mechanical phenomena to perform calculations and solve problems that are difficult or impossible for classical computers. 
Tools;Trial;New;Postman;Postman is a collaboration platform for API development that simplifies testing, documentation, and sharing of APIs. 
Platforms;Assess;Moved in/out;Amazon Web Services;AWS is a cloud computing platform that provides a wide range of services, including computing, storage, databases, analytics, and machine learning. 
Languages;Hold;Moved in/out;Ruby;Ruby is a dynamic, object-oriented programming language that is popular for building web applications and scripting. 
Frameworks;Adopt;No change;Django;Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. 
Infrastructure;Assess;Moved in/out;Docker;Docker is an open-source platform for developing, shipping, and running applications in containers. 
Data Modeling;Adopt;Moved in/out;NoSQL;NoSQL is a type of database that stores and retrieves data using methods other than the traditional table-based relational databases. 
Network & IT;Trial;Moved in/out;Blockchain;Blockchain is a distributed ledger technology that provides secure and transparent transactions without the need for a central authority. 
Security;Hold;No change;Firewalls;A Firewall is a network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules. 
Organization;Assess;Moved in/out;DevOps;DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to improve collaboration, automation, and deployment of software. 
Technology;Trial;Moved in/out;Internet of Things (IoT);IoT refers to a network of physical devices, vehicles, buildings, and other objects embedded with sensors, software, and connectivity that enables them to collect and exchange data. 
Tools;Hold;Moved in/out;Jenkins;Jenkins is an open-source automation server that helps to automate parts of the software development process, such as building, testing, and deployment. 
Platforms;Assess;New;Google Cloud Platform;GCP is a suite of cloud computing services offered by Google, including computing, storage, databases, and machine learning. 
Languages;Adopt;Moved in/out;TypeScript;TypeScript is a typed superset of JavaScript that is designed for large-scale applications and provides enhanced type checking and class-based object-oriented programming. 
Frameworks;Hold;Moved in/out;AngularJS;AngularJS is a JavaScript framework used for building dynamic web applications that provide a high level of interactivity and responsiveness. 
Infrastructure;Adopt;New;Edge Computing;Edge Computing is a distributed computing paradigm that brings computing power closer to the edge of the network, allowing for faster processing and reduced latency. 
Data Modeling;Assess;New;Graph Databases;Graph Databases are a type of NoSQL database that store data in the form of nodes, edges, and properties, and are designed to handle highly connected data sets. 
Network & IT;Adopt;Moved in/out;Software-Defined Networking (SDN);SDN is an approach to networking that separates the control plane from the data plane, allowing for centralized control and management of network resources. 
Security;Assess;Moved in/out;Multi-Factor Authentication;MFA is a security mechanism that requires users to provide two or more forms of authentication before being granted access to a system or application. 
Organization;Hold;Moved in/out;Waterfall Methodology;Waterfall Methodology is a linear project management approach that proceeds sequentially through phases of planning, analysis, design, implementation, and maintenance. 
Technology;Adopt;Moved in/out;Robotic Process Automation (RPA);RPA is a software technology that allows businesses to automate repetitive and rule-based tasks, such as data entry, invoice processing, and customer service. 
Tools;Assess;Moved in/out;GitHub Actions;GitHub Actions is a continuous integration and delivery (CI/CD) platform that automates the software development lifecycle, from testing to deployment. 
Platforms;Hold;No change;Microsoft Azure;Azure is a cloud computing platform and service provided by Microsoft that offers a range of services, including computing, storage, databases, and machine learning. 
Languages;Assess;Moved in/out;Kotlin;Kotlin is a statically typed programming language for the JVM, Android, and JavaScript that is designed to be concise, expressive, and safe. 
Frameworks;Trial;Moved in/out;React Native;React Native is a mobile application development framework that allows developers to build native apps for iOS and Android using JavaScript and React. 
Infrastructure;Hold;Moved in/out;Kubernetes;Kubernetes is an open-source container orchestration system that automates the deployment, scaling, and management of containerized applications. 
Data Modeling;Trial;Moved in/out;Data Warehousing;Data Warehousing is the process of collecting, storing, and managing data from multiple sources to provide insights and support decision-making. 
Network & IT;Assess;Moved in/out;Content Delivery Network (CDN);A CDN is a geographically distributed network of servers that delivers content to end-users from the nearest server, improving performance and reducing latency. 
Security;Adopt;Moved in/out;Zero Trust Security;Zero Trust Security is an approach to cybersecurity that requires strict identity verification for every user and device accessing a network, regardless of their location or level of access. 
Organization;Adopt;Moved in/out;Agile Methodology;Agile Methodology is an iterative and collaborative project management approach that prioritizes customer satisfaction and responds to changing requirements and feedback. 
Technology;Assess;Moved in/out;Digital Twins;Digital Twins are virtual replicas of physical objects or systems that enable simulations, testing, and optimization of performance and maintenance. 
Tools;Adopt;Moved in/out;Slack;Slack is a team communication platform that allows for real-time messaging, file sharing, and integration with other tools and services. 
Platforms;Trial;Moved in/out;Heroku;Heroku is a cloud-based platform as a service (PaaS) that allows developers to deploy, manage, and scale web applications and services. 
Languages;Hold;No change;Python;Python is a high-level, interpreted programming language that is popular for scientific computing, web development, and automation. 
Frameworks;Assess;Moved in/out;Spring Framework;Spring Framework is a popular Java framework that provides a comprehensive programming and configuration model for building modern enterprise applications. 
Infrastructure;Adopt;Moved in/out;Serverless Computing;Serverless Computing is a cloud computing model in which the cloud provider manages the infrastructure and automatically scales resources based on demand, allowing developers to focus on code. 
Data Modeling;Hold;No change;Relational Databases;Relational Databases are a type of database that stores data in a structured format using tables, columns, and rows, and are widely used for transactional processing and analytics. 
Network & IT;Hold;Moved in/out;Virtual Private Network (VPN);A VPN is a secure and encrypted connection between two networks or devices over the internet, allowing for remote access and private communication. 
Security;Assess;Moved in/out;Blockchain;Blockchain is a decentralized and distributed ledger technology that allows for secure and transparent record-keeping and transactions, and has applications in finance, supply chain, and other industries. 
Organization;Assess;Moved in/out;DevOps;DevOps is a set of practices that combines software development and IT operations to improve collaboration, automation, and delivery of software products and services. 
Technology;Trial;Moved in/out;Quantum Computing;Quantum Computing is a technology that uses quantum-mechanical phenomena, such as superposition and entanglement, to perform complex computations that are beyond the capabilities of classical computers. 
Tools;Hold;Moved in/out;Jira;Jira is a project management tool that allows teams to plan, track, and manage software development projects and workflows. 
Platforms;Assess;Moved in/out;Amazon Web Services (AWS);AWS is a cloud computing platform and service provided by Amazon that offers a wide range of services, including compute, storage, databases, and analytics. 
Languages;Adopt;Moved in/out;TypeScript;TypeScript is a typed superset of JavaScript that adds optional static type-checking and other features for building large-scale applications. 
Frameworks;Hold;Moved in/out;Ruby on Rails;Ruby on Rails is a popular web application framework for the Ruby programming language that emphasizes convention over configuration and rapid development. 
Infrastructure;Assess;Moved in/out;Software-defined Networking (SDN);SDN is a network architecture that separates the control plane from the data plane, allowing for programmable and flexible network management and automation. 
Data Modeling;Adopt;Moved in/out;Data Science Platforms;Data Science Platforms are integrated and scalable environments that enable data scientists and analysts to develop and deploy machine learning models and workflows. 
Network & IT;Adopt;Moved in/out;Internet of Things (IoT);IoT is a network of interconnected devices and sensors that collect and exchange data, enabling smart and connected systems for various applications. 
Security;Hold;Moved in/out;Multi-Factor Authentication (MFA);MFA is a security mechanism that requires users to provide multiple forms of identification, such as a password and a security token, to access a system or application. 
Organization;Assess;Moved in/out;Scaled Agile Framework (SAFe);SAFe is a framework for scaling agile practices across an organization, enabling alignment, collaboration, and delivery of large-scale software projects. 
Technology;Hold;Moved in/out;Augmented Reality (AR);AR is a technology that overlays digital information or content onto the physical world, allowing for immersive and interactive experiences. 
Tools;Adopt;Moved in/out;Visual Studio Code;VS Code is a free and open-source code editor that supports multiple programming languages and offers extensions, debugging, and other features for efficient coding. 
Platforms;Hold;No change;Google Cloud Platform (GCP);GCP is a cloud computing platform and service provided by Google that offers a wide range of services, including compute, storage, databases, and AI. 
Languages;Assess;Moved in/out;Go;Go is a statically typed programming language developed by Google that emphasizes simplicity, concurrency, and performance, and is commonly used for network and distributed systems. 
Frameworks;Adopt;Moved in/out;Django;Django is a high-level web application framework for Python that follows the Model-View-Template (MVT) architecture and includes many built-in features for rapid development. 
Infrastructure;Assess;Moved in/out;Edge Computing;Edge Computing is a distributed computing model that brings processing and storage closer to the devices and sensors at the edge of a network, enabling low-latency and real-time processing of data and applications. 
Data Modeling;Hold;Moved in/out;Big Data Platforms;Big Data Platforms are scalable and distributed systems that allow for the storage, processing, and analysis of large and complex datasets, and include tools and technologies such as Hadoop, Spark, and Hive. 
Network & IT;Assess;Moved in/out;Software-defined Wide Area Networking (SD-WAN);SD-WAN is a software-defined networking approach to wide area networks that allows for centralized and automated management of multiple network connections, improving performance, security, and cost-efficiency. 
Security;Adopt;Moved in/out;Zero Trust Security;Zero Trust Security is a security model that assumes no trust for any user or device, and requires continuous verification and authorization for access to any resource or data. 
Organization;Adopt;Moved in/out;Site Reliability Engineering (SRE);SRE is a discipline that combines software engineering and operations to improve the reliability, availability, and performance of software systems and services, through automation, monitoring, and proactive measures. 
Technology;Assess;Moved in/out;Quantum Cryptography;Quantum Cryptography is a technology that uses the principles of quantum mechanics to generate and distribute cryptographic keys, ensuring secure communication and data protection. 
Tools;Assess;Moved in/out;GitHub Actions;GitHub Actions is a continuous integration and deployment (CI/CD) tool that automates workflows and tasks in a GitHub repository, enabling faster and more reliable software delivery. 
Platforms;Adopt;Moved in/out;Kubernetes;Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications across clusters of nodes or hosts. 
Languages;Hold;Moved in/out;Scala;Scala is a statically typed programming language that runs on the Java Virtual Machine (JVM) and combines object-oriented and functional programming paradigms, with features such as pattern matching and higher-order functions. 
Frameworks;Assess;Moved in/out;React Native;React Native is a framework for building mobile applications using JavaScript and React, enabling cross-platform development and native-like performance and user experience. 
Infrastructure;Adopt;Moved in/out;Serverless Computing;Serverless Computing is a cloud computing model that allows developers to build and run applications without managing or provisioning servers, and pay only for the actual usage of resources and services. 
Data Modeling;Assess;Moved in/out;DataOps;DataOps is a methodology that applies agile and DevOps practices to data management and analytics, improving collaboration, automation, and quality of data products and services. 
Network & IT;Hold;Moved in/out;Content Delivery Networks (CDN);CDNs are distributed networks of servers and data centers that cache and deliver content, such as web pages and media, to end-users based on their location and requests, improving performance and reliability. 
Security;Assess;Moved in/out;Cloud Access Security Broker (CASB);CASBs are security solutions that provide visibility, control, and protection for cloud services and applications, by monitoring and enforcing security policies and detecting and responding to threats and anomalies. 
Organization;Hold;Moved in/out;Agile Coaching;Agile Coaching is a role and practice that supports agile teams and organizations in adopting and improving agile methodologies, values, and principles, through coaching, training, and facilitation. 
Technology;Hold;Moved in/out;Virtual Reality (VR);VR is a technology that creates immersive and interactive digital environments, simulating sensory experiences and enabling various applications in entertainment, education, and training.

Why is there a technology radar?»

One of the first technology radars was probably the one from the company ThoughtWorks, the idea probably dates back to 2008.

They say about themselves:

We are a leading global technology consultancy that integrates strategy, design and software engineering to enable enterprises and technology disruptors across the globe to thrive as modern digital businesses.

So they see the radar not only for themselves, but almost as a recommendation for the entire industry. Think big! ;) They have a Technology Advisory Board of around twenty people, who contemplate about this. They have divided the radar view into four other quadrants, which usually are Languages & Frameworks, Platforms, Tools and Technology. Because of their attitude, they describe the rings/orbits like this:

One company that jumped on the band wagon was Zalando with slightly other quadrants as well as some tempered description of the orbits. They state about the radar that it should

support Engineering teams at Zalando to pick the best technologies for new projects; it provides a platform to share knowledge and experience in technologies, to reflect on technology decisions and continuously evolve our technology landscape.

In other words, while putting time and effort into doing this visualization, it could probably be helpful for consolidation and strategy decision if done right and recurring. Managers like dashboards, so they might love it! ;)

Why would I do another radar visualization?»

Nowadays I work at Valiton which has its own Technology radar since not so long ago. It was implemented by a colleague of mine with React almost starting from scratch.

Because I am doing stuff with Svelte in my spare time and thought about some meaningful idea, I thought this would have a nice scope to do as a side project. I also think, it might be even easier done with Svelte and SVG as with React. And it is also a good learning experience to work with a more complex use-case in Svelte to use the store and context concepts offered by Svelte.

Why using a radar for technology only?»

Good question! The radar visualization can be good for other stuff as well. The metaphor of a flight radar comes into mind. Planes appear and are being tracked on their way. But the radar visualization is more for tracking things in different sections, split up in the same orbits. Item might be added, migrated to another orbit or disappear again.

Most of the time, such a representation serves to find out what you or your team should focus on. You wouldn’t even need a technical tool, but could start at a blank paper canvas. Easiest step to make it digital would be, for example using a this Miro board ”What’s on Your Radar“.

Implementation details»

I won’t go into that deep into details or code samples, but can give you some high-level hints, how easy it is to build a radar visualization using Svelte and SVG.

TL;DR: or let me jump right to the Demo

Cutting in sub components»


  {
    "sections": [
      "SECTION 1",
      "SECTION 2",
      "SECTION 3"
    ],
    "orbits": [
      "ORBIT"
    ],
    "attributes": [],
    "items": []
  }

  {
    "sections": [
      "SECTION 1",
      "SECTION 2",
      "SECTION 3"
    ],
    "orbits": [
      "ORBIT 1",
      "ORBIT 2",
      "ORBIT"
    ],
    "attributes": [],
    "items": []
  }

  {
    "sections": [
      "SECTION 1",
      "SECTION 2",
      "SECTION 3",
      "SECTION 4",
      "SECTION 5",
      "SECTION 6"
    ],
    "orbits": [
      "ORBIT 1",
      "ORBIT 2",
      "ORBIT"
    ],
    "attributes": [
      "A",
      "B",
      "C"
    ],
    "items": [
      { "id": "01", "name": "ITEM 1", "description":  "", "sectionIndex": 0, "orbitIndex": 1, "attributeIndex": 0 },
      { "id": "02", "name": "ITEM 2", "description":  "", "sectionIndex": 0, "orbitIndex": 1, "attributeIndex": 1 },
      { "id": "03", "name": "ITEM 3", "description":  "", "sectionIndex": 0, "orbitIndex": 2, "attributeIndex": 2 },
      { "id": "04", "name": "ITEM 4", "description":  "", "sectionIndex": 0, "orbitIndex": 2, "attributeIndex": 2 },
      { "id": "05", "name": "ITEM 5", "description":  "", "sectionIndex": 1, "orbitIndex": 0, "attributeIndex": 0 },
      { "id": "06", "name": "ITEM 6", "description":  "", "sectionIndex": 3, "orbitIndex": 2, "attributeIndex": 0 },
      { "id": "07", "name": "ITEM 7", "description":  "", "sectionIndex": 3, "orbitIndex": 1, "attributeIndex": 1 },
      { "id": "08", "name": "ITEM 8", "description":  "", "sectionIndex": 5, "orbitIndex": 2, "attributeIndex": 1 }
    ]
  }

It was and still is a good exercise for clean code. I did cut things into components from the outside to the inside. The inner component actually put SVG pathes into the sites Markup.

Radar > n * Section > m * Oribit > k * Item with one of i * Attribute

Drawing Arcs»

A Section component represents a piece of the pie, but doesn’t directly draw SVG elements. It does so by using the Orbit component, which then is using the Arc component. The Arc component then draws a path. I fortunately already had a component for that, you find the source at the linked Demo.

The Orbit component also consists of Item components, which are rendered specific to their Attribute (new in, moved, no change).

Predictable random numbers»

The position of Items within an Orbit (or Arc) is random. But to make it predictable, I used Prando, a deterministic pseudo-random number generator. It can be used to create a series of random numbers that can later be re-created given the same seed.

So the position of Items looks random but does resample everytime, so you can find an Item where you saw it before.

I also use the triangular number formula to calculate places within an Orbit, because the inner length of an Arc is smaller than the outer length. So there’s more space the more you reach the outer side of the Orbit.

Store, Context and Tweens»

At first I worked with a store.js file. So I could access all the state from everywhere in the app, no need to pass props from component to sub component. And beside writable store variables, you can use the special store tweened, which makes animations easy. So whenever you set a new value to a tweened store, it interpolates the values automatically.

import { readable, writable } from 'svelte/store';
import { tweened } from 'svelte/motion';

export const radarRadius: writable(460);
export const orbitWeight: tweened(0.33, { duration: 400, easing: quadOut});

In a component it is easy like this. If you know Svelte, you probably know about the $ prefix in front of store variables.

<script>
  import { radarRadius, orbitWeight } from 'store.js';

  orbitWeight.set(1.0);
</script>

radar radius is: {$radarRadius}
orbit weight is: {$orbitWeight}

But this store was to global. As soon as I had two <TechRadar /> elements at a page, they both shared all the store values. So I went over to context and created kind of a context store.

import {
  setContext as setSvelteContext,
  getContext as getSvelteContext
} from 'svelte';

const CONTEXT_NAME = "radar";

export const setContext = () => {
  const context = {
    radarRadius: writable(460),
    orbitWeight: tweened(0.33, { duration: 400, easing: quadOut}),
  };
  setSvelteContext(CONTEXT_NAME, context);
  return context;
};

export const getContext = () => getSvelteContext(CONTEXT_NAME);

In a component I now can use the contextual store like this. Be careful, as you should use setContext() in your topmost component to build the context store, and getContext() in whatever sub component to access the same store variables.

<script>
  import { setContext } from './context.js';

  const {
    radarRadius,
    orbitWeight
  } = setContext();

  orbitWeight.set(1.0);
</script>
 
radar radius is: {$radarRadius}
orbit weight is: {$orbitWeight}

Custom Elements (Web Components)»

If I think of my Svelte based Tech Radar as a product, it would be nice, if everyone could create their own radar without compilation or dependencies, even without using node oder npm at all.

And this is possible, when compiling the Svelte component as a Web component or custom element. And because the data is changing not so much, we would not need to fetch it, but could instead put it as content of our custom element. And I could even support differen formats like JSON or CSV. Doesn’t that sound good?

There will be a new Svelte version 4 soonish (in May or June 2023) with better Custom element support. Maybe this will give this post another update. But until then, it was quite a hassle to get this running. But now you can use the whole TechRadar like in the following code snippet. Or you have a look at this Example page.

<script defer type="application/javascript"
  src="https://matthias.dittgen.name/blog/tech-radar/bundle.min.js"></script>

<tech-radar mode="json" orbitweight="1" sectioncount="4">
  {
    "sections": [
      "Languages & Frameworks",
      "Tools",
      "Platforms",
      "Technology"
    ],
    "orbits": [
      "Hold",
      "Assess",
      "Trial",
      "Adopt"
    ],
    "attributes": [
      "new",
      "moved",
      "no change"
    ],
    "items": [
      {
        "id": "01",
        "name": "Svelte",
        "description":  "Instead of using a framework...",
        "sectionIndex": 0,
        "orbitIndex": 1,
        "attributeIndex": 0
      }
    ]
  }
</tech-radar>

Demo»

This is the radar, I’ve created. You can use the range-sliders below to customize different values like padding or scale of the oribit rings and the like. The demo data was created by ChatGPT.

Section;Orbit;Attribute;Title;Description
Technology;Adopt;New;Artificial Intelligence;AI is a field of study that focuses on the development of intelligent machines that can perform tasks that typically require human intelligence, such as visual perception, speech recognition, decision-making, and natural language processing.
Tools;Trial;Moved in/out;Visual Studio Code;VS Code is a lightweight but powerful source code editor that can be used for coding, debugging, and building web and cloud applications. 
Platforms;Assess;No change;Kubernetes;Kubernetes is an open-source platform that automates container deployment, scaling, and management. 
Languages;Hold;No change;Assembly Language;Assembly Language is a low-level programming language used for programming embedded systems and other devices where performance and control are critical. 
Frameworks;Adopt;Moved in/out;React;React is a JavaScript library used for building user interfaces and web applications. 
Infrastructure;Assess;New;Serverless Computing;Serverless Computing is a cloud computing model in which the cloud provider manages the infrastructure and automatically allocates resources as needed, allowing developers to focus on writing code. 
Data Modeling;Adopt;No change;Relational Database;A Relational Database is a type of database that stores and organizes data in tables and uses SQL to access and manipulate the data. 
Network & IT;Trial;New;5G;5G is the latest generation of wireless technology that promises faster data transfer speeds, lower latency, and greater network capacity. 
Security;Hold;Moved in/out;Encryption;Encryption is the process of encoding information so that only authorized parties can access it. 
Organization;Assess;No change;Agile Methodology;Agile is a software development methodology that emphasizes collaboration, flexibility, and rapid iteration. 
Technology;Adopt;New;Quantum Computing;Quantum Computing is a field of computing that uses quantum-mechanical phenomena to perform calculations and solve problems that are difficult or impossible for classical computers. 
Tools;Trial;New;Postman;Postman is a collaboration platform for API development that simplifies testing, documentation, and sharing of APIs. 
Platforms;Assess;Moved in/out;Amazon Web Services;AWS is a cloud computing platform that provides a wide range of services, including computing, storage, databases, analytics, and machine learning. 
Languages;Hold;Moved in/out;Ruby;Ruby is a dynamic, object-oriented programming language that is popular for building web applications and scripting. 
Frameworks;Adopt;No change;Django;Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. 
Infrastructure;Assess;Moved in/out;Docker;Docker is an open-source platform for developing, shipping, and running applications in containers. 
Data Modeling;Adopt;Moved in/out;NoSQL;NoSQL is a type of database that stores and retrieves data using methods other than the traditional table-based relational databases. 
Network & IT;Trial;Moved in/out;Blockchain;Blockchain is a distributed ledger technology that provides secure and transparent transactions without the need for a central authority. 
Security;Hold;No change;Firewalls;A Firewall is a network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules. 
Organization;Assess;Moved in/out;DevOps;DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to improve collaboration, automation, and deployment of software. 
Technology;Trial;Moved in/out;Internet of Things (IoT);IoT refers to a network of physical devices, vehicles, buildings, and other objects embedded with sensors, software, and connectivity that enables them to collect and exchange data. 
Tools;Hold;Moved in/out;Jenkins;Jenkins is an open-source automation server that helps to automate parts of the software development process, such as building, testing, and deployment. 
Platforms;Assess;New;Google Cloud Platform;GCP is a suite of cloud computing services offered by Google, including computing, storage, databases, and machine learning. 
Languages;Adopt;Moved in/out;TypeScript;TypeScript is a typed superset of JavaScript that is designed for large-scale applications and provides enhanced type checking and class-based object-oriented programming. 
Frameworks;Hold;Moved in/out;AngularJS;AngularJS is a JavaScript framework used for building dynamic web applications that provide a high level of interactivity and responsiveness. 
Infrastructure;Adopt;New;Edge Computing;Edge Computing is a distributed computing paradigm that brings computing power closer to the edge of the network, allowing for faster processing and reduced latency. 
Data Modeling;Assess;New;Graph Databases;Graph Databases are a type of NoSQL database that store data in the form of nodes, edges, and properties, and are designed to handle highly connected data sets. 
Network & IT;Adopt;Moved in/out;Software-Defined Networking (SDN);SDN is an approach to networking that separates the control plane from the data plane, allowing for centralized control and management of network resources. 
Security;Assess;Moved in/out;Multi-Factor Authentication;MFA is a security mechanism that requires users to provide two or more forms of authentication before being granted access to a system or application. 
Organization;Hold;Moved in/out;Waterfall Methodology;Waterfall Methodology is a linear project management approach that proceeds sequentially through phases of planning, analysis, design, implementation, and maintenance. 
Technology;Adopt;Moved in/out;Robotic Process Automation (RPA);RPA is a software technology that allows businesses to automate repetitive and rule-based tasks, such as data entry, invoice processing, and customer service. 
Tools;Assess;Moved in/out;GitHub Actions;GitHub Actions is a continuous integration and delivery (CI/CD) platform that automates the software development lifecycle, from testing to deployment. 
Platforms;Hold;No change;Microsoft Azure;Azure is a cloud computing platform and service provided by Microsoft that offers a range of services, including computing, storage, databases, and machine learning. 
Languages;Assess;Moved in/out;Kotlin;Kotlin is a statically typed programming language for the JVM, Android, and JavaScript that is designed to be concise, expressive, and safe. 
Frameworks;Trial;Moved in/out;React Native;React Native is a mobile application development framework that allows developers to build native apps for iOS and Android using JavaScript and React. 
Infrastructure;Hold;Moved in/out;Kubernetes;Kubernetes is an open-source container orchestration system that automates the deployment, scaling, and management of containerized applications. 
Data Modeling;Trial;Moved in/out;Data Warehousing;Data Warehousing is the process of collecting, storing, and managing data from multiple sources to provide insights and support decision-making. 
Network & IT;Assess;Moved in/out;Content Delivery Network (CDN);A CDN is a geographically distributed network of servers that delivers content to end-users from the nearest server, improving performance and reducing latency. 
Security;Adopt;Moved in/out;Zero Trust Security;Zero Trust Security is an approach to cybersecurity that requires strict identity verification for every user and device accessing a network, regardless of their location or level of access. 
Organization;Adopt;Moved in/out;Agile Methodology;Agile Methodology is an iterative and collaborative project management approach that prioritizes customer satisfaction and responds to changing requirements and feedback. 
Technology;Assess;Moved in/out;Digital Twins;Digital Twins are virtual replicas of physical objects or systems that enable simulations, testing, and optimization of performance and maintenance. 
Tools;Adopt;Moved in/out;Slack;Slack is a team communication platform that allows for real-time messaging, file sharing, and integration with other tools and services. 
Platforms;Trial;Moved in/out;Heroku;Heroku is a cloud-based platform as a service (PaaS) that allows developers to deploy, manage, and scale web applications and services. 
Languages;Hold;No change;Python;Python is a high-level, interpreted programming language that is popular for scientific computing, web development, and automation. 
Frameworks;Assess;Moved in/out;Spring Framework;Spring Framework is a popular Java framework that provides a comprehensive programming and configuration model for building modern enterprise applications. 
Infrastructure;Adopt;Moved in/out;Serverless Computing;Serverless Computing is a cloud computing model in which the cloud provider manages the infrastructure and automatically scales resources based on demand, allowing developers to focus on code. 
Data Modeling;Hold;No change;Relational Databases;Relational Databases are a type of database that stores data in a structured format using tables, columns, and rows, and are widely used for transactional processing and analytics. 
Network & IT;Hold;Moved in/out;Virtual Private Network (VPN);A VPN is a secure and encrypted connection between two networks or devices over the internet, allowing for remote access and private communication. 
Security;Assess;Moved in/out;Blockchain;Blockchain is a decentralized and distributed ledger technology that allows for secure and transparent record-keeping and transactions, and has applications in finance, supply chain, and other industries. 
Organization;Assess;Moved in/out;DevOps;DevOps is a set of practices that combines software development and IT operations to improve collaboration, automation, and delivery of software products and services. 
Technology;Trial;Moved in/out;Quantum Computing;Quantum Computing is a technology that uses quantum-mechanical phenomena, such as superposition and entanglement, to perform complex computations that are beyond the capabilities of classical computers. 
Tools;Hold;Moved in/out;Jira;Jira is a project management tool that allows teams to plan, track, and manage software development projects and workflows. 
Platforms;Assess;Moved in/out;Amazon Web Services (AWS);AWS is a cloud computing platform and service provided by Amazon that offers a wide range of services, including compute, storage, databases, and analytics. 
Languages;Adopt;Moved in/out;TypeScript;TypeScript is a typed superset of JavaScript that adds optional static type-checking and other features for building large-scale applications. 
Frameworks;Hold;Moved in/out;Ruby on Rails;Ruby on Rails is a popular web application framework for the Ruby programming language that emphasizes convention over configuration and rapid development. 
Infrastructure;Assess;Moved in/out;Software-defined Networking (SDN);SDN is a network architecture that separates the control plane from the data plane, allowing for programmable and flexible network management and automation. 
Data Modeling;Adopt;Moved in/out;Data Science Platforms;Data Science Platforms are integrated and scalable environments that enable data scientists and analysts to develop and deploy machine learning models and workflows. 
Network & IT;Adopt;Moved in/out;Internet of Things (IoT);IoT is a network of interconnected devices and sensors that collect and exchange data, enabling smart and connected systems for various applications. 
Security;Hold;Moved in/out;Multi-Factor Authentication (MFA);MFA is a security mechanism that requires users to provide multiple forms of identification, such as a password and a security token, to access a system or application. 
Organization;Assess;Moved in/out;Scaled Agile Framework (SAFe);SAFe is a framework for scaling agile practices across an organization, enabling alignment, collaboration, and delivery of large-scale software projects. 
Technology;Hold;Moved in/out;Augmented Reality (AR);AR is a technology that overlays digital information or content onto the physical world, allowing for immersive and interactive experiences. 
Tools;Adopt;Moved in/out;Visual Studio Code;VS Code is a free and open-source code editor that supports multiple programming languages and offers extensions, debugging, and other features for efficient coding. 
Platforms;Hold;No change;Google Cloud Platform (GCP);GCP is a cloud computing platform and service provided by Google that offers a wide range of services, including compute, storage, databases, and AI. 
Languages;Assess;Moved in/out;Go;Go is a statically typed programming language developed by Google that emphasizes simplicity, concurrency, and performance, and is commonly used for network and distributed systems. 
Frameworks;Adopt;Moved in/out;Django;Django is a high-level web application framework for Python that follows the Model-View-Template (MVT) architecture and includes many built-in features for rapid development. 
Infrastructure;Assess;Moved in/out;Edge Computing;Edge Computing is a distributed computing model that brings processing and storage closer to the devices and sensors at the edge of a network, enabling low-latency and real-time processing of data and applications. 
Data Modeling;Hold;Moved in/out;Big Data Platforms;Big Data Platforms are scalable and distributed systems that allow for the storage, processing, and analysis of large and complex datasets, and include tools and technologies such as Hadoop, Spark, and Hive. 
Network & IT;Assess;Moved in/out;Software-defined Wide Area Networking (SD-WAN);SD-WAN is a software-defined networking approach to wide area networks that allows for centralized and automated management of multiple network connections, improving performance, security, and cost-efficiency. 
Security;Adopt;Moved in/out;Zero Trust Security;Zero Trust Security is a security model that assumes no trust for any user or device, and requires continuous verification and authorization for access to any resource or data. 
Organization;Adopt;Moved in/out;Site Reliability Engineering (SRE);SRE is a discipline that combines software engineering and operations to improve the reliability, availability, and performance of software systems and services, through automation, monitoring, and proactive measures. 
Technology;Assess;Moved in/out;Quantum Cryptography;Quantum Cryptography is a technology that uses the principles of quantum mechanics to generate and distribute cryptographic keys, ensuring secure communication and data protection. 
Tools;Assess;Moved in/out;GitHub Actions;GitHub Actions is a continuous integration and deployment (CI/CD) tool that automates workflows and tasks in a GitHub repository, enabling faster and more reliable software delivery. 
Platforms;Adopt;Moved in/out;Kubernetes;Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications across clusters of nodes or hosts. 
Languages;Hold;Moved in/out;Scala;Scala is a statically typed programming language that runs on the Java Virtual Machine (JVM) and combines object-oriented and functional programming paradigms, with features such as pattern matching and higher-order functions. 
Frameworks;Assess;Moved in/out;React Native;React Native is a framework for building mobile applications using JavaScript and React, enabling cross-platform development and native-like performance and user experience. 
Infrastructure;Adopt;Moved in/out;Serverless Computing;Serverless Computing is a cloud computing model that allows developers to build and run applications without managing or provisioning servers, and pay only for the actual usage of resources and services. 
Data Modeling;Assess;Moved in/out;DataOps;DataOps is a methodology that applies agile and DevOps practices to data management and analytics, improving collaboration, automation, and quality of data products and services. 
Network & IT;Hold;Moved in/out;Content Delivery Networks (CDN);CDNs are distributed networks of servers and data centers that cache and deliver content, such as web pages and media, to end-users based on their location and requests, improving performance and reliability. 
Security;Assess;Moved in/out;Cloud Access Security Broker (CASB);CASBs are security solutions that provide visibility, control, and protection for cloud services and applications, by monitoring and enforcing security policies and detecting and responding to threats and anomalies. 
Organization;Hold;Moved in/out;Agile Coaching;Agile Coaching is a role and practice that supports agile teams and organizations in adopting and improving agile methodologies, values, and principles, through coaching, training, and facilitation. 
Technology;Hold;Moved in/out;Virtual Reality (VR);VR is a technology that creates immersive and interactive digital environments, simulating sensory experiences and enabling various applications in entertainment, education, and training.
radar start: 0.00 radar start: 0.00
radar length: 1.00 radar length: 1.00
section padding: 5 section padding: 5
orbit weight: 0.33 orbit weight: 0.33
section count: 10 section count: 10

Changelog»

Although the post has a date, this one is kind of a project, so the date might be the time of the initial publication. I might change, optimize or enhance the radar in future. I’ll try to keep a list of updates below.

Updates 03/2023:

Updates 04/2023:

Backlog: