I have been software developer since 2015 and have learned to use many different kinds of technologies along the way.

As a software developer I am expected to learn new skills and master existing ones as I keep growing.

Below is an up-to-date list of technologies I am comfortable using, divided into logical categories.

Frontend technologies

Frontend technologies are tools, frameworks and coding languages which are used to build the client side of the web page. Client side of a web page is the one that is run inside the browser and is visible for the end-user.

Client side includes the user interface which can be built using multiple different languages and tools like once I have listed below.

HTML

Hypertext Markup Language (HTML) is a language used for building the basic structure of a web page. This text as you see right now is part of the HTML code.

CSS

Cascading Style Sheets is a language that applies the visual styles for HTML elements. The size of this text is handled by CSS language.

JavaScript

JavaScript is a programming language which can be used for manipulating a web page in a dynamic way. Clicking the hamburger menu from the top header of this web page (on mobile) triggers a JavaScript function that includes the instructions for toggling a sidebar menu.

TypeScript

TypeScript is an additional layer on top of JavaScript for adding static type definitions such as classes and interfaces. TypeScript helps with maintainability of the codebase and makes coding JavaScript less error prone.

Service Workers

Service Workers are JavaScript workers that are running in their own background thread separate from the main thread of the web page. Service workers add an additional layer or a proxy between the main thread of the web page and the external network. Service workers aim to bring native app-like functionalities to the web.

REST

REST refers to an architectural design where information is exposed between resources. REST is used for transferring data. This text was fetched from an API via REST before it was displayed here on the client.

JSON

JSON is an object notation syntax used for representing data. This text sits in a NoSQL database inside a JSON object.

Backend technologies

Backend technologies refer to coding languages and frameworks which are invisible for a web page end-user and function in the background inside a web server. Backend technologies’ responsibilities include CRUD (Create, Read, Update, Delete) operations as well as server-side logic. This text was fetched from a backend web server by the client.

Node.js

Node.js is a JavaScript runtime environment which is used for building asynchronous event-based web pages.

Java

Java is an object-oriented programming language and a computing platform used for building multi-purpose applications and services with as little implementation dependencies as possible.

Databases

Databases are systems that organise and collect data.

NoSQL

NoSQL database is a collection data that is not strictly organised nor structured in any specific manner.

MySQL

MySQL database is a relational collection of data that runs on a web server.

SQL

Structured Query Language is a query language which is used for accessing and modifying data within a relational database.

Infrastructure & networking

Infrastructure and networking work as enablers for all information technology operations. These include a wide range of hardwares and softwares as well as configurations.

Docker

Docker is a tool which makes it easier to create containerised applications.

Kubernates

Kubernates is an open-source system for managing containerised applications.

Jenkins

Jenkins is an automation server that aims to make it easier to build, test and deploy applications reliably.

Linux

Linux is an open-source operating system.

Load balancers

Load balancers distribute traffic between clients and web servers.

DNS

Domain Name System is a decentralised system for matching human readable addresses with network ip-addresses.

Google Cloud Platform

Google Cloud Platform (GCP) is a cloud computing provider that enables businesses and individuals to run software and hardware with Google’s services.

Other miscellaneous specialisations

Other important frameworks and tools needed for creating and managing software.

SEO

Search Engine Optimisation refers to the process of optimising and improving a web page for the search engines.

Google Analytics

Google Analytics is a tool for tracking and measuring the usage and the metrics of a web page.

Git

Git is a version control system that makes collaboration between teams and developers easier and more efficient.

DevOps

DevOps is a methodology for running software focused projects with both management and software development included.

SAFe & Agile

Scaled Agile Framework (SAFe) refers to the process of implementing Agile practices on the organisation scale. Agile is a practice of building and delivering software systems in timed iterations.

Conclusions

By no means am I an expert in all of the listed technologies, tools and frameworks above. I only listed the ones which I am 100% comfortable using and practicing.

I do not regularly use all of the listed items and some might even require extra practice to get a hang of them again. Then again, some of these items I could consider myself somewhat of an expert already.