/whatwhat.dev

A glossary of software industry terms explained in simple terms for devs and non devs

Software Developer Terms 101

It is common knowledge that software is eating the world and doing so at an accelerating pace. A problem with that is the vast and ever growing glossary of terms used in the industry. This can make it difficult for new entrants and even current residents to wrap their head around what different terms mean or why development has a front-end and a back-end.

This isn't an exhaustive list and honestly, as time goes on terms might change or lose their meaning, to help with that I'll also host this list over on github so that anyone can help contribute to it.

Methodology

This article will essentially be a little dictionnary of terms from the development (and adjacent) industries, a definition, and where possible a link to some articles that I feel give a more complete explanation.

Types of software development

API Development

See API first.

API development involves creating the interfaces that enable other developers and their software to be more extensible. Since each API is specifically built for its service, an API developer would need to become familiar with the service's capacities to expose them to other developers and programs. Being aimed at other developers, developer experience is a key consideration.

API development is often also a task for back-end developers.

More Info

Learn

Application Development

Application development is the area people might initially think of when it comes to software development because the results are the kinds of software we interact with most often on our computers. Programs like Word, Chrome, Spotify, and similar are examples of the type of software made by application developers.

More Info

Learn

Back-end Development

Also referred to as server side programming, this is the counterpart to and consists of the work done behind the scenes to ensure the front-end of an application continues working smoothly.

Back-end development consists of everything that the users do not direclty interact with like managing databases to store application information, business logic, calculations, and sometimes the whole architecture of the application.

More Info

Learn

Cloud Development

Cloud computing is the constant availability of computer resources and services over the internet/cloud. A cloud developer works to move the software development cycle to cloud based development, testing, release, and deployment. It can also mean working on developing cloud based software such as PaaS, SaaS, and IaaS. Such development requires a developer to be comfortable with cloud service providers like AWS, Azure, GCP, and more.

More Info

Learn

Data Science

Embedded Systems Development

Front-end Development

In contrast to back-end development, Front-end development concerns the client/user facing portion of an application. Used in the context of web development, this would be the interface of the website or app as well as all the logic and data handling that is done within the browser instead of a server. The developer must also be comfortable using APIs in order to send and receive data to various servers and cloud services.

More Info

Learn

Game Development

Mobile Development

Security Software Development

Software Tools Development

Systems Development

Web Development

Common Terms

Accessibility

Accessibility sometimes written as a11y (eleven letters between the 'a' and 'y'), refers to how easy your software is to use if you suffer from things like color blindness, motor control, and more. It is often used to describe websites

More Info

Learn

API

API stands for application programming interface. What this means is that an API is essentially like a remote control for different software that you can control with your own code. For example let's look at YouTube, you can interact with it through the usual channels, with the mobile app, on the website or maybe through your smart TV. But what if you wanted more control, or had a use case that YouTube itself didn't cater to very well, that's where an API comes in.

If we continue with the remote control analogy, the YouTube API gives you a remote with buttons that let you search for content, upload videos, manage playlists and more. And just like with a remote, you don't need to actually understand how it's all working behind the scenes.

Now, thanks to the API, you could create your own application that curates the most popular cat videos of the month based on your own criteria of what makes a video popular.

More Info

Learn

CI/CD

DX - Developer Experience

Deployment

DevOps

Functional Programming

GDPR

GUI

IDE

IaaS

ML/AI

NoSQL

OOP

PaaS

REST

SEO

SQL

SSG

SaaS

Serverless

Terminal

UI/UX

VCS - Version Control Software

Software/Programs

Git, Github, Gitlabs

IDE

Graphql

Unity

Godot

Unreal Engine

Languages

C / C++

C#

CSS

Dart

Go

HTML

Java

Javascript

Python

Rust

Frameworks

.Net

Angular

Django

Flask

Numpy

Pandas

PyTorch

React

Spring

TensorFlow

Vue

Jest

Databases

CouchDB

MariaDB

MongoDB

MySQL

PostgreSQL

PouchDB

Platforms

AWS - Amazon Web Services

Azure

Firebase

GCP - Google Cloud Platform

Heroku

Static Site Generators

Gatsby

Gridsome

Hugo

Next

Nuxt

Operating Systems

Android

FreeBSD

Linux

MacOS

Windows

iOS