101 Software Engineering Terms Every Web Developer Should Know

We only partner with brands that we know and trust. If you use our links to buy a product we may make a small commission at no extra cost to you. Thank you for supporting HHT!

Developers love to use jargon.

We love it. Maybe because it's fun to confuse the people in management or Product, but the why isn't really important for now.

Just remember, developer jargon is everywhere. And for people that have been using it for a while (tech leads, senior developers, et cetera), they don't even notice it anymore.

If you've started your junior developer career or are hoping to start soon, you might have worried about this – what do I do when I don't know what they're talking about?

I've been in that same position before, and even after scouring the web for help, sometimes I just couldn't find the answers I was looking for.

This guide isn't an exhaustive list, but it should give you enough common terms to hold your ground as a junior dev. Hell, you might even impress your tech lead a smidge by sprinkling in words like containerization or feature creep in one of your dev meetings.

A-F

1) A/B Testing

A user experience research technique where two variants of a feature (A and B) are randomly assigned to a population of users as a way to collect consumer data.

What is A/B testing and what can it be used for? - Seobility Wiki
  • Save

2) Agile Development

Agile is an iterative software development methodology that focuses on creating small, functional bits of code and deploying them as regularly as possible. The goal is to build software in a modular and repeatable fashion to keep the development process as inline with consumer requirements as possible.

3) AJAX

AJAX is a commonly-used web technology that allows for data to be sent and received between web applications and interfaces. It's common in Progressive Web Applications (defined here).

4) Antipattern

Common techniques or design patterns in software that are known to lead to issues or buggy code. Common antipatterns include God classes, repetitive code, lengthy methods, and so on.

5) Apache

Apache is a company that creates and maintains a number of programs developers use to build software, namely Apache's open-source HTTP server.

6) API

API, or application program interface, defines a protocol by which a programmer can connect one software program to another. This is how software programs that aren't inherently linked can communicate with one another.

7) Atlassian

Atlassian is a company that creates a number of productivity and development-related software products that many development teams use, notably Jira, Confluence, and BitBucket.

8) AWS

Amazon Web Services (AWS) is an umbrella company for Amazon's various cloud-computing services. These are common in the web development industry because of Amazon's pay-as-you-go model, making it easy to deploy a small application without too much cost.

  • Save

9) Azure

Azure is similar to AWS but is Microsoft's cloud-computing service. It's common in enterprise applications and is well-known for its robustness and various features.

10) Bootstrap

Bootstrap is a modern CSS framework that's commonly used in web development to simplify the process of responsive web design.

  • Save

11) Best Practice

A software best practice is widely-accepted technique that is known to be successful and effective. An example of this would be DRY code, the idea of keeping your code as readable and maintainable as possible.

12) Bug

A bug is piece of a program that doesn't function as expected – the term was originally coined in the 20th century when it was observed that actual insects would get sometimes stuck in the inner workings of a computer's hardware, leading programs to malfunction.

13) Build Tool

A build tool is a software services that automates the process of compiling and linking programs together. Popular options include Gradle, Maven, and Ant.

  • Save

Gradle's build automation process in a nutshell (from Gradle.org)

14) Bytecode

Bytecode is a program's source code that has been compiled into low-level code that computers understand. From there, bytecode can be further processed into machine code, the lowest-level form of code a computer can interpret.

15) Continuous Integration

Continuous integration is the practice of merging work from many developers (across multiple teams or platforms) into the working, production pipeline for a software.

16) Cloud Computing

Cloud computing is the process by which programmatic logic can be executed using on-demand resources from a cloud-based computing system.

17) Confluence

Confluence is an Atlassian productivity software that aims to help developers collaborate as seamlessly as possible.

  • Save

18) CORS

CORS stands for cross-origin resource sharing and describes a HTTP protocol by which a server can specify where resources can be loaded from (i.e. the origins it will permit resources to be loaded from).

19) Cron Job

Cron jobs are time-scheduled software-related tasks that are often too tedious to perform manually (daily server updates could be set up with cron, for example).

20) REST Controller

A REST controller is component in a RESTful web service architecture that maps specific endpoint requests to programmatic logic. This is why different URL structures of a RESTful API would most likely return unique data – a REST controller handles this functionality.

21) Daemon

A daemon is a generalized software program that runs as a background process. It usually performs low-level tasks and can even coordinate cron jobs, as well.

22) Data Architecture

A data architecture is a set of rules, policies, and models that describes how a software system collects and manages its data.

23) Data Modeling

Data modeling is the process of describing (in detail) the data collection and management procedure outlined in a software's data architecture.

24) DDoS

Distributed Denial of Service is a type of cybersecurity event where hackers attempt to overload a web service with malicious requests.

File:Ddos-attack-ex.png - Wikimedia Commons
  • Save

A common set-up for DDoS attacks – the attacker controls a number of computers or private servers that spam a customer's endpoint, either crashing the service completely or severely limiting performance / traffic

25) Deprecated

Deprecated is a common programmatic annotation that is used to label programs or methods that are no longer in use.

26) DevOps

DevOps is a set of software development and IT practices meant to facilitate seamless software development and continuous integration with as little errors as possible.

27) Design Pattern

A design pattern is a generalized solution to a common problem in software development. These are widely used in both backend and frontend development because they provide a useful framework for approaching common software design issues.

28) Diff

Diffing is the process of identifying how two source files are different. It's a fundamental algorithm, most notably used by Git as a way to identify changes in source code over time.

File:Mediawiki diffView.JPG - Wikipedia
  • Save

An example of diffing in action on one of Wikipedia's articles – color-coded highlighting indicates which areas were edited, removed, or added

29) DNS

Domain Name System (DNS) is the decentralized architecture that defines how information is attributed to a domain name. In software, DNS resolution is the process by which a domain name (example.com) is converted into a computer-readable MAC address.

30) Docker

Docker is a commonly-used containerization service – it provides a useful interface for packaging and deploying software in a microservice architecture and is very common in large-scale enterprise web applications.

File:Docker-containerized-and-vm-transparent-bg.png - Wikimedia Commons
  • Save

Containerized applications are known for their performance benefits and improved simplicity over virtual machines – as you can see from the diagram, each VM contains its own operating system, which can lead to inconsistency and bugs when deploying a complex software application

31) Epic

An Epic is a term commonly used in agile software development to describe a large body of work. Each Epic is typically composed of multiple Stories, which are then further broken down into tickets. This clearly-defined hierarchy makes diagnosing and solving complex software issues more streamlined.

32) Endpoint

An endpoint defines one end of a communication channel of an API. When a programmer makes a call to an API (a.k.a requesting data from another piece of software), this is typically done by invoking a particular endpoint (i.e. GET or POST requests) and passing certain parameters that specify what data should be returned.

33) Favicon

A favicon is a small icon that usually appears as a shortcut preview in browsers and may also appear when a website is linked in an external resource.

What is a favicon? Definition and explanation - Seobility Wiki
  • Save

34) Feature Creep

Feature creep is the excessive addition of features to a software product that weren't initially defined in the scope of development. This can (and usually does) lead to unforeseen delays in the software development life cycle.

35) Flat File

A flat file is a commonly used type of database that stores data in a plain-text format. These are common when data doesn't need to have any indexing or complicated associations, and can offer significant performance benefits over more structurally-complex relational databases.

36) Frontend Framework

Frontend frameworks are packages of pre-defined code that define the syntax and structure of how a web application should be built. While there is a considerable learning curve to mastering frontend frameworks, they're extremely common in software development. Some examples include React, Angular, and Vue.js.

  • Save

An example of how React works – using their syntax, developers can create reusable, highly modular components that can accept, modify, or delete user data reactively. To replicate something as functional as this with pure HTML and CSS, it would be infinitely more complicated and messy, hence why frameworks are so popular

G-O

37) Gantt Chart

Gantt charts show the various tasks involved in a project as the overlap in time. They're a common way to visualize the progression of software development tasks and are typically bundled into productivity services like Confluence or Monday.com.

File:Gantt-chart-textless.png - Wikipedia
  • Save

38) Garbage Collection

Garbage collection is an automated process Java performs to manage application memory. Garbage collectors within Java's virtual machine find unused objects and delete them from memory.

39) Git

Git is a software service that tracks changes in source code files and is most often used by software development teams to coordinate changes to a program's source code.

40) Github

GitHub is a cloud-based service that employs Git to facilitate software version control for developers. It provides a clean and intuitive interface for using git's basic actions and is a commonly-used tool in many development teams.

  • Save

An overview of Github's key features (from Github.com )

41) GNU

GNU, pronounced guh-new, stands for “GNU's Not Unix” and is a collection of open-source software often used as a fully-fledged operating system, similar to UNIX.

42) GUI

GUI stands for graphical user interface and describes the set of components or source code files that dictate how a software application looks on the frontend.

43) Heroku

Heroku is a Platform as a Service (PaaS) company that developers and freelancers use to deploy, scale, and manage cloud-based applications (similar to AWS and Azure).

  • Save

44) Hot Fix

A hot fix is developer slang for when a bug is patched in production code – this means the code is fixed live, as the application is still running (and presumably, being used by real end-users).

45) IaaS

Infrastructure as a Service (IaaS) is a type of cloud-computing-based service through which companies can rent out compute and storage capabilities. This is a common service that software companies use to keep costs low – instead of provisioning their own cloud services, they might decide to rent out a certain amount of cloud-based resources from IaaS providers.

46) IDE

An IDE, short for Integrated Development Environment, is the software most developers use to write code in. Some popular choices include Vs Code, IntelliJ IDEA, and Eclipse.

  • Save

VS Code is one of the most popular and feature-rich IDEs out there

47) Issues

Issues are Jira's main building blocks for creating Stories and Epics – they can be used to represent a feature idea, a bug that needs to be fixed, or any other kind of software-related task.

48) Internet Of Things (IoT)

Internet of Things describes any type of physical object than can be used to interface with the internet. This can be anything from a Wifi modem to a smart home appliance.

Network Iot Internet Of Things - Free vector graphic on Pixabay
  • Save

Visual representation of the Internet of Things (printers, digital scales, TVs, Bluetooth camera, wireless headphones are all examples of IoT objects)

49) JDBC

JDBC (Java Database Connection) is an API for Java that allows a program to interface with a database and perform basic CRUD operations (Create, Read, Update, and Delete)

50) Jira

Jira is the go-to bug-tracking software service most development teams use – Confluence, also created by Atlassian, is typically used in tandem with Jira to coordinate agile development.

  • Save

51) JSON

JSON is short for Javascript Object Notation and describes a standard practice for encoding data that's transferred between APIs. It's easy to write and read, making it popular among developers.

  • Save

Typical structure of JSON data – hierarchical, easy to read, and clear

52) KISS Principle

KISS stands for Keep It Simple, Stupid and is a commonly-used (albeit blunt) mindset for maintaining readable, functional code. The primary philosophy of KISS is that most software problems, no matter how complex they may initially seem, often have simple solutions.

53) LAMP Stack

LAMP is a web server stack that uses Linux, Apache, MySQL database, and PHP. It's common in web development because all of the technologies it employs are open-source and rigorously maintained.

54) Legacy Code

Legacy code refers to parts of a code base that were developed in the past, or currently use outdated logic, technologies, or libraries. Often times junior developers are (unfairly) tasked with refactoring legacy code and making it more modern and performant.

55) Localhost

Localhost refers to the computer that's running a program or webserver. In modern software development, code will often be deployed and tested on localhost before deploying to production (which is typically hosted on a domain, i.e. my-web-app.com).

56) Lua

Lua is a high-level, object-oriented programming language often used by developers to write lightweight scripts and automation modules.

  • Save

57) MEAN Stack

MEAN stack (MongoDB, Express, Angular, Node.js) is a collection of web technologies commonly used together to develop modern software applications.

58) Merge

Merge is a Git-specific action that allows a programmer to push their code changes (usually created in a local branch) and combine it with a code base's main branch.

How git maintains commits from deleted branch? - Stack Overflow
  • Save

59) MERN Stack

MERN stack (MongoDB, Express, React, Node.js) is a collection of web technologies commonly used together to develop modern software applications. It's similar to MEAN, but employs React as its frontend framework instead of Angular.

60) Microservice Architecture

Microservice architecture is a method of developing applications where each concern (or functionality) the application supports is bundled into its own service. Each of these services are coupled together to create a cohesive software experience. Microservices have become increasingly popular in recent years because of their resilience and scalability.

  • Save

Microservices are commonly deployed in the cloud – Azure, Microsoft's cloud server provider, is a prime of example of where a company might host their microservices

61) Monolithic Architecture

In direct contrast to the microservices architecture, monolithic architectures use very few classes or programs, each of which contain programmatic logic that governs a number of features. This was known to cause numerous problems in the past – in particular, if one part of a monolithic program fails, all of its connected features will also fail, too (this isn't the case with isolated microservices which each govern one specific feature or functionality).

62) MVC

MVC stands for model-view-controller and describes a common template for designing web applications. Programmatic logic is split into one of the three components of MVC, depending on what function it performs – model components interact with data, view components govern how the data is displayed on the front end, and controller components mediate interactions between the model and view layers.

Interaction within MVC pattern The Model component correlates with all... |  Download Scientific Diagram
  • Save

63) OAuth

OAuth defines a standard protocol for access delegation – it allows one application to grant access to another application without exchanging passwords, but by instead relying on authorization tokens.

  • Save

Many modern services allow you to create accounts and sign in with 3rd party apps like Facebook or Google – these connections rely on OAuth

P-Z

64) Patch

A patch is a general term for an improvement or bug fix.

65) Postman

Postman is a popular software service for testing, developing and collaborating on API development. It provides a sandbox environment for creating and saving HTTP requests (which would eventually hit your API's endpoints) as well as verifying the data responses you get from each request.

  • Save

From Postman's website

66) PR

PR stands for pull request, a Github-related action where a programmer requests a review on whatever changes they've made to a branch of code. Once those changes are approved (typically by a manager or tech lead), the code is integrated into its parent branch.

67) Progressive Web Application (PWA)

A Progressive web application is a type of software that's delivered through the web, built on modern web technologies including frontend frameworks and server-side JavaScript libraries like Node.js or TypeScript.

68) Proxy Server

A proxy server is an intermediary server that mediates request between a client and the main application server. It's often used in modern applications as a security measure or to load balance a high volume of requests.

What is a proxy server? Definition + Explanation - Seobility Wiki
  • Save

69) Pseudocode

Pseudocode is informal code that doesn't need to follow strict syntax – it's primarily used by developers to quickly brainstorm solutions to problems, or develop algorithms conceptually.

psuedo code example for geometric problem
  • Save

An example of pseudocode – this is not a real program and wouldn't run in any IDE, but it describes a set of rules and conditions that outline the basic structure of an algorithm

70) Quality Assurance (QA)

Quality assurance developers are engineers that monitor a codebase for defects and bugs. They typically work inline with devops and continuous integration engineers to ensure that any code hitting production is clean and fully functional.

71) Relational Database Management System (RDBMS)

RDBMS is a type of database that stores data in a structured format, namely with tables, columns, and rows. The most common example of an RDBMS in software development is MySQL.

72) Redis

Redis is a highly-performant key-value-based database system, primarily used for data that needs to be accessed quickly. In modern software systems, Redis is often deploying as a caching layer because of how quickly it can access and modify data.

73) Regression Testing

Regression testing is the practice of re-running a code base's testing suite to ensure that previously-developed code still functions after new changes are made.

74) Responsive Design

Responsive design is a practice in modern web development to ensure that an application's user interface functions properly on both desktop and mobile screens sizes.

75) RESTful Service

RESTful services are lightweight, functional web apps that use the REST architecture (REpresentational State Transfer). RESTful services are typically used to design APIs and any other type of software that clients interface with through the internet.

76) ROI

ROI stands for return on investment – it's used as a way to numerically measure progress or performance in a software development team. You'll hear this term thrown around in meetings with managers or C-level employees when they discuss the relative pros or cons of developing a particular feature or subset of a software.

77) SaaS

Software as a service (SaaS) companies provide their software product to clients and make profit by charge access or subscription fees. Spotify is an example of software as a service – you pay a monthly fee, and in exchange, Spotify keeps track of your favorite songs, stores your playlists and radio stations, and recommends new content based on your preferences.

78) Schema

Schema is a general term for an outline, diagram or model. Schemas are often used in data modeling to outline the specific details of how a software will manage data.

File:MediaWiki 1.18 database schema.svg - Wikimedia Commons
  • Save

Schemas can quickly become large and complex – in many use cases, modern software development is turning to NoSQL (non-relational) databases because they don't require schemas

79) Scrum

Scrum is a form of agile software development that hinges on three main principles: transparency, inspection, and adaptation. It's common in the software world because it makes creating functional code an iterative, effective, and repeatable process.

80) SDK

A standard development kit (SDK) is a collection of software tools that facilitate the creation of a software application. For example, if you want to create a Java app, you'd need to install the Java SDK. This will provide you with the compiler, debugger, and any other software packages needed to run Java code.

81) SDLC

The software development lifecycle is the standardized process for developing, testing, and deploying software applications.

82) Serverless Functions

Serverless functions are discrete units of programmatic logic that are hosted on cloud-based servers. These serverless functions don't normally depend on other components to be fully functional and can be invoked on-demand.

83) SharePoint

SharePoint is a Microsoft collaboration platform common in software engineering circles. Its direct integration with the rest of the Microsoft Office suite makes it a prime choice for most dev teams.

  • Save

From Microsoft.com

84) Spaghetti Code

Spaghetti code is an informal way to describe unclean, messy, or unnecessarily convoluted code.

85) Sprint

Sprints are the building blocks of Stories (agile development). Each Sprint has a specific time limit (usually around 1-2 weeks) during which a dev team sets out to complete a clearly-defined amount of work.

86) Spring Framework

Spring is a Java-centric development framework that facilitates inversion of control. It's commonly used to develop enterprise-level applications, often in conjunction with object-relational mapping frameworks like Hibernate.

spring's features java development
  • Save

From Spring.io

87) Story

A Story is a key component of the agile development system and is used to describe an end-goal for a software system. Developers work to complete Stories through smaller bodies of work, usually Sprints.

88) Test-Driven Development

Test-driven development is a software development practice where developers first map out a software's given features into test cases – once the tests are created, the features are built to complement them. This is common practice for software systems where fault tolerance is extremely low (think aviation industry or similar).

89) Ticket

A ticket is a discrete problem or bug corresponding to a software system. Developers are usually assigned tickets that come from customer reports – i.e. someone noticed this bug here, figure out where it came from in the software.

All about Jira Ticketing | Smartsheet
  • Save

How tickets look in Jira

90) Unit Testing

Unit testing is a software development practice where specific sections of a code base are tested for functionality and robustness. Each section of the software being tested is its own unit – in ideal cases, if one unit fails its tests, other units might still be able to pass their own tests.

92) Usability Testing

This is a user-experience-related testing practice that aims to evaluate a product's ease of use. Since it describes how real users interact with a software product, it's often considered an essential best practice.

91) User Experience (UX)

User experience describes how a user interacts with a software product, including the user's understanding of its features and how easy the software is to interact with.

93) User Interface (UI)

User interface describes the collection of components and visual elements that make up what a user sees when interacting with a software. UI design focuses on creating enjoyable, frictionless, and functional interfaces for software products.

94) Version Control

Version control is the software development practice of tracking changes to source code files over time. In modern software development, this is usually handled by version control software such as Github, Gitlab, Bitbucket, or similar services.

95) Virtual Machine

A virtual machine is the emulation of a computer system without necessarily being bound to the hardware of a computer system. One desktop, for example, could be running multiple virtual machines even though it only has the hardware capabilities for one physical machine.

96) Wiki

A wiki is a collaborative website or online platforms which allows for any qualified user to edit its content. This is usually the place where most engineers would publish how-to guides, critical documentation, or other important instructions on how to develop or interact with the code base. Since wikis often contain sensitive details about a software's design, they're typically only accessible to internal employees.

  • Save

Azure, a popular cloud service provider, supports the creation of internal wikis to facilitate easier collaboration across development teams

97) Wireframe

Wireframing is the practice of creating a skeletonized draft or schema of a software product. It outlines critical details and structural information about how a software will look or function, but doesn't describe the details of its implementation.

Mother Earth Home Page wireframe | One of the early stages o… | Flickr
  • Save

A typical wireframe for a website landing page – it maps out key sections of the website and describes their purpose, but doesn't necessarily detail how each should look or function

98) Whiteboarding

Whiteboarding is the collaborative process of brainstorming ideas or early-stage concepts for a software's design. It's often used in Product and Engineering teams to map out key requirements and features that a software must have.

99) WYSIWYG

Pronounced “wizzy-wig”, WYSIWYG is an acronym for “what you see is what you get” and describes a type of text editor where you can modify text properties without knowing HTML. If you've ever edited text online and been able to bold or italicize words, you've used a WYSIWYG editor.

100) XML

Extensible Markup Language is a markup language used to encode a set of rules or requirements for a software application. It's commonly adopted in configuration files (Spring uses it heavily, for example) because XML is both human and machine readable.

File:RecipeBook XML Example.svg - Wikimedia Commons
  • Save

101) YAML

YAML (an acronym for YAML Ain't Markup Language – yes, I'm not kidding) is a markup language used to encode data transferring between API endpoints or in configuration files for a software application. It's similar to XML but is more commonly used in modern software services because of how human readable it is.

  • Save

The Bottom Line

Software jargon is one of those things that can't really teach.

It's part of the job, and in most cases, you learn it on the job. Each development team has their own rituals, uses their favorite services, and talks about code in their unique style.

I started out in software with no internship or practical experience, so I had even less knowledge of the nuts and bolts of common software terms. Let me tell you, it made for a pretty confusing (and stressful) first couple of weeks and months.

I compiled this (nowhere near exhaustive) list of common software terms so that can have a brief introduction to common developer jargon.

Knowing how to communicate technical thoughts is a huge part of the job, and if you learn just one term from this list that helps you articulate better, I'll be a happy camper.

Did I miss any essential software terms that you use on a daily basis? Let me know in the comments below, I'm always looking for suggestions!

  • Save

Leave a Reply

Share via