Tech Glossary

Definitions of key concepts and entities in my digital garden.

A

Agile

Methodology

A mindset and set of values for software development. It prioritizes individuals and interactions over processes and tools.

Agile is often misunderstood as “no documentation” or “do whatever you want.”

In reality, Agile is about feedback loops. It’s the humility to admit that we don’t know everything at the start. Instead of planning the entire jungle (Waterfall), we build a path, step by step, adjusting as we learn.

It values working software over comprehensive documentation and customer collaboration over contract negotiation.

API

Architecture

Application Programming Interface. The entry point for interacting with a service or library.

Imagine a restaurant menu. You (the client) don’t go into the kitchen (the server) to cook. You tell the waiter (the API) what you want, and they bring it back.

APIs define how software components talk to each other. In web development, we often build REST APIs that accept requests and return data (usually JSON).

An API contract is a promise. Breaking it breaks every application that depends on it. Versioning and clear documentation are critical.

C

CI/CD

DevOps

Continuous Integration and Continuous Deployment. The practice of automating the integration and delivery of code changes.

CI/CD is the heartbeat of a healthy engineering team.

  • CI (Integration): Automatically checks your code (tests, linting) every time you push to Git. It drastically reduces integration hell.
  • CD (Deployment): Automatically ships your code to production (or staging) if the tests pass.

This pipeline builds confidence. You trust the system to catch regressions, allowing you to deploy multiple times a day without fear. It transforms deployment from a stressful event into a non-event.

Code Review

Workflow

The systematic examination of computer source code by someone other than the author.

Code review is the most effective way to share knowledge and maintain code quality. It is not about criticism; it is about collaboration.

Reviewers look for bugs, logic errors, adherence to SOLID principles, and potential Technical Debt. Authors learn from feedback, and reviewers learn from reading new code.

It transforms coding from a solitary activity into a team sport.

Composer

Tools

Dependency Manager for PHP. The tool that modernized the PHP ecosystem by allowing easy package management.

Before Composer, managing PHP libraries was a nightmare of include statements and manual downloads. Composer standardized how we share and consume code.

It handles the “plumbing” of your project—pulling in libraries, managing versions, and setting up autoloading so you never have to write a require statement manually again.

It is the backbone of modern PHP development, enabling the rich ecosystem we enjoy today, including Laravel.

D

Dependency Injection (DI)

Architecture

A design pattern where objects receive their dependencies from the outside rather than creating them internally.

Think of it this way: If you want a banana, you shouldn’t have to build the entire jungle.

Without Dependency Injection, a class is responsible for creating its own dependencies (the jungle). It becomes tightly coupled to them. If you want to change the jungle (the database, the mailer), you have to rebuild the class.

With DI, you just ask for the banana. The framework (like Laravel’s Service Container) hands it to you. This makes your code modular, testable, and sane.

It is the practical application of the ‘D’ in SOLID (Dependency Inversion).

Docker

DevOps

A platform for developing, shipping, and running applications in containers.

Docker solved the “it works on my machine” problem.

By packaging code and its dependencies (libraries, runtime, system tools) into a container, we ensure that the application runs exactly the same way in development, staging, and production.

For a PHP developer, it means no more fighting with XAMPP or MAMP versions. You define your environment in a Dockerfile and docker-compose.yml, and you’re ready to build.

G

Git

DevOps

The time machine of code. A distributed version control system that tracks changes and enables collaboration.

Git is more than just a backup tool; it’s the history of your thought process. It allows you to experiment fearlessly, knowing you can always return to a safe state.

For a junior developer, mastering Git is a superpower. It dissociates the fear of breaking things from the act of creation.

“Commit early, commit often.”

Treat your commit history as a narrative for the future maintainer (which is often you, six months later). Good commit messages explain the why, not just the what.

H

HTTP

Networking

HyperText Transfer Protocol. The foundation of data communication on the World Wide Web.

HTTP is the protocol that powers the web. It defines how messages are formatted and transmitted.

It relies on a request-response model. A client (browser) sends a request, and a server returns a response. The response includes a status code indicating success (200 OK) or failure (404 Not Found, 500 Internal Server Error).

Understanding HTTP status codes and headers is fundamental for debugging web applications and building robust APIs.

J

JavaScript

Frontend

The scripting language of the web. It enables interactive web pages and is an essential part of web applications.

JavaScript started as a simple scripting language for browsers but has evolved into a powerhouse. It runs everywhere: in the browser (handling UI interactions), on the server (Node.js), and even on IoT devices.

In the Laravel ecosystem, it often powers reactive frontends using frameworks like Vue.js or React, or simpler interactions via Alpine.js.

It is the “logic” layer of the frontend, manipulating the DOM and communicating with backend APIs.

JSON

Data Format

JavaScript Object Notation. A lightweight data-interchange format that is easy for humans to read and write and easy for machines to parse and generate.

JSON has become the lingua franca of the web. It replaced XML as the standard format for API responses because of its simplicity and direct mapping to JavaScript objects.

It supports primitive types like strings, numbers, booleans, and null, as well as complex structures like arrays and objects.

Every modern language, including PHP, has built-in support for encoding and decoding JSON.

L

Laravel

Framework

The framework for web artisans. It makes development a joy with its expressive syntax and robust ecosystem.

It’s not just a framework; it’s an ecosystem that anticipates your needs.

Taylor Otwell didn’t just build a tool; he built a philosophy. One that values developer happiness and expressive code. Whether I’m building a simple API or a complex SaaS, Laravel provides the scaffolding so I can focus on the art of the code.

It bridges the gap between the structure of enterprise software and the agility of a startup. It is the embodiment of “Structure + Emotion.”

Build with grit, but build with joy.

Large Language Model (LLM)

Artificial Intelligence

A statistical model that predicts the next token. In practice, it's a reasoning engine that amplifies human capability.

At its core, an LLM is a text predictor. It’s math, not magic. But the emergent behavior—the reasoning, the coding, the creativity—is transformative.

I don’t see LLMs as a replacement for the engineer. I see them as a telescope. They allow us to see further, to build faster, and to tackle problems that were previously out of reach.

Integrating LLMs into applications (like using the OpenAI API with Laravel) opens up a new frontier of interaction design. It’s no longer just about clicking buttons; it’s about intent and conversation.

This is the new endurance sport of tech: learning to guide these models to produce excellence.

LLM Tools

Artificial Intelligence

Functions or capabilities that an LLM can invoke to perform actions outside of text generation.

An LLM by itself is just a brain in a jar. It can think, but it can’t do.

Tools are the hands we give the AI. They are defined functions—like “search_web”, “query_database”, or “send_email”—that the model can choose to call when it needs to perform an action or retrieve information it doesn’t have.

This capability (often called Function Calling) is what powers modern agents. It allows the model to bridge the gap between “I know how to write SQL” and “I have actually executed the query for you.”

M

MCP

Artificial Intelligence

Model Context Protocol. An open standard that enables AI assistants to interact with your data and tools.

MCP is the missing link between LLMs and the real world.

Until now, connecting an AI to your database or internal tools required building custom, fragile integrations. MCP standardizes this. It provides a universal way for models to “see” your context (files, database schemas) and “act” on it (run commands, edit code).

It transforms an AI from a smart chatbot into a capable agent that can work alongside you in your environment.

MVC

Architecture

Model-View-Controller. An architectural pattern that separates an application into three main logical components.

MVC is the classic structure for web applications, popularized by frameworks like Laravel and Ruby on Rails.

  • Model: The data and business logic (e.g., querying the database).
  • View: The user interface (e.g., HTML/Blade templates).
  • Controller: The coordinator (receives requests, talks to the Model, and selects a View).

This separation of concerns makes code easier to manage. A designer can work on the View without breaking the database logic in the Model.

P

PHP

Backend

The workhorse of the web. A pragmatic, server-side scripting language that prioritizes getting things done.

PHP is the language that refuses to die, and for good reason. It powers nearly 80% of the web.

Modern PHP is a far cry from the chaotic scripts of the early 2000s. It’s fast, type-safe, and incredibly robust. For me, PHP represents pragmatism. It’s not about being the “coolest” language; it’s about shipping products.

“Keep moving forward.”

It allows me to focus on the architecture and the solution, rather than fighting the tools.

Pull Request (PR)

Workflow

A method of submitting contributions to a software project. It lets you tell others about changes you've pushed to a branch in a repository on GitHub.

A Pull Request (often called a Merge Request in GitLab) is where the conversation happens. It is the primary mechanism for code review.

It’s not just about merging code; it’s about sharing context, catching bugs early, and ensuring quality. A good PR includes a description of what changed and why, often referencing a ticket or issue.

It is the gatekeeper of the Git history, ensuring only reviewed and tested code enters the main branch.

R

Refactoring

Coding

The process of restructuring existing computer code—changing the factoring—without changing its external behavior.

Refactoring is cleaning up. It’s paying down Technical Debt.

You improve the design, clarify the variable names, extract methods, and enforce SOLID principles, all while ensuring the functionality remains exactly the same (verified by Testing).

It is not rewriting. Rewriting is starting from scratch. Refactoring is continuous improvement. It keeps the codebase healthy and adaptable.

Repository Pattern

Architecture

A design pattern that mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects.

The Repository Pattern is about decoupling your business logic from the details of how data is stored.

Instead of writing User::find(1) directly in your controller, you ask a UserRepository for the user.

Why? Because today your data is in MySQL, but tomorrow it might be in an external API or a microservice. By using a repository, your business logic doesn’t care where the data comes from, only that it gets it. It makes your application robust and testable.

REST

Architecture

Representational State Transfer. A set of architectural constraints for creating web services.

REST is like a standardized grammar for the web. It uses standard HTTP methods (GET, POST, PUT, DELETE) to manipulate resources.

  • GET /users: List all users.
  • POST /users: Create a new user.
  • GET /users/1: retrieve user #1.

It is stateless, meaning each request contains all the information needed to process it. It simplifies the interaction model and makes APIs predictable.

S

Scrum

Methodology

A framework for developing likely complex products. It is the most popular implementation of Agile.

Scrum is about rhythm. It breaks work into fixed-length iterations called Sprints (usually 2 weeks).

It defines specific roles (Scrum Master, Product Owner, Team) and ceremonies (Daily Standup, Review, Retrospective). The goal is not just to “go fast,” but to inspect and adapt frequently.

Used correctly, it empowers the team. Used poorly (Zombie Scrum), it becomes a micromanagement tool.

SOAP

Legacy

Simple Object Access Protocol. A protocol for exchanging structured information in the implementation of web services.

Before REST took over the world with its JSON simplicity, there was SOAP.

SOAP is rigorous, strict, and verbose. It uses XML for its message format and relies on WSDL (Web Services Description Language) to define the contract.

While often considered “legacy” or “heavy,” SOAP is still prevalent in enterprise environments (banking, insurance) because of its built-in standards for security (WS-Security) and reliability. It’s the armored tank to REST’s motorcycle.

SOLID

Architecture

Five design principles intended to make software designs more understandable, flexible, and maintainable.

SOLID is the compass for writing clean object-oriented code.

  • Single Responsibility Principle: Do one thing and do it well.
  • Open/Closed Principle: Open for extension, closed for modification.
  • Liskov Substitution Principle: Subtypes must be substitutable for their base types.
  • Interface Segregation Principle: Many client-specific interfaces are better than one general-purpose interface.
  • Dependency Inversion Principle: Depend on abstractions, not concretions.

Adhering to these principles prevents Technical Debt and makes Refactoring easier. It’s about building software that can evolve without collapsing under its own weight.

T

Technical Debt

Software Engineering

The implied cost of future reworking required when choosing an easy solution now instead of a better approach that would take longer.

Imagine code as a house. Technical debt is like choosing to build with cheap materials or skipping inspections to finish faster.

Sometimes, debt is strategic—you need to ship now. But if you don’t pay it back (by Refactoring), the interest accumulates. Eventually, adding a new room (feature) becomes impossible without risking collapse.

The best engineers manage debt wisely, balancing speed with sustainability.

Testing

Quality Assurance

The practice of writing code to verify that your application code works as expected. Includes Unit, Feature, and Integration tests.

Tests are your safety net. without them, every change is a gamble.

  • Unit Tests: Check individual components in isolation (e.g., a single function). Fast and precise.
  • Feature Tests: Check how components work together (e.g., an API endpoint). Slower but more realistic.

Writing tests forces you to think about edge cases and design. It enables Refactoring because you can change code with the confidence that you haven’t broken existing functionality.

X

XML

Data Format

Extensible Markup Language. A markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.

XML was the data format of choice for the early web. It is strict and hierarchical, like HTML but for data.

While JSON has largely replaced it for modern web APIs due to its lightweight nature, XML is still the backbone of SOAP services and configuration files in many enterprise systems. It forces you to be explicit, which can be both a blessing and a curse.