Tech Terms Explained Simply
A beginner-friendly glossary built by the community, for the community
OOP
software-engineering
Object-Oriented Programming organizes code around objects with data and behaviors to model real-world entities and relationships.
SOLID Principles
software-engineering
A set of five object-oriented design principles for building robust and maintainable software systems.
https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
DRY
software-engineering
Don't Repeat Yourself - a principle that encourages eliminating redundancy in code to reduce bugs and simplify maintenance.
KISS
software-engineering
Keep It Simple, Stupid - a principle that promotes simplicity in software design to avoid unnecessary complexity.
YAGNI
software-engineering
You Aren't Gonna Need It - a principle that discourages implementing features until they are actually required.
Technical Debt
software-engineering
The cost of choosing quick or easy solutions in software, which often leads to more work and complexity later.
https://www.atlassian.com/agile/software-development/technical-debt https://www.productplan.com/glossary/technical-debt
Refactoring
software-engineering
The process of restructuring existing code without changing its external behavior, improving its structure and readability.
https://www.techtarget.com/searchapparchitecture/definition/refactoring
Unit Testing
software-engineering
Writing tests for individual units of code (like functions or methods) to verify correctness in isolation.
Code Review
software-engineering
The practice of reviewing code changes made by peers to ensure quality, consistency, and shared understanding.
CSS
web-development frontend software-engineering
CSS (Cascading Style Sheets) is what makes websites look nice. It controls things like colors, fonts, spacing, and layout. HTML is the structure of the page, and CSS is the style.
Open Source
software-engineering
Open source means the code is public and anyone can look at it, use it, or even help improve it. It's a way of working together and learning by sharing.
npm
software-engineering software-engineering
npm is a package manager for JavaScript. It allows you to find and share code with other developers.
Algorithm
software-engineering
An algorithm is a set of steps a computer follows to solve a problem or do a task. It's like a recipe for computers — step 1, step 2, step 3, and so on.
Rust
software-engineering
Rust is a programming language focused on speed and safety. It's great for building things like games, tools, or systems where you need power and control — but without many of the usual bugs.
GitHub
software-engineering version-control devops
GitHub is a website where people store and share code. It helps teams work together on software projects. You can track changes, suggest improvements, or contribute to open source.
GitLab
software-engineering version-control devops
GitLab is a platform similar to GitHub, but it also includes tools for testing, deploying, and managing projects from start to finish — all in one place. Many teams use it to build and ship software.
Quick Stats
Get Involved!
Tech Terms is an open source ment to help people understand difficult tech terms.
Do you have experience in tech? Come help us! Contribute to our repository and be part of the community!