Restructure existing code without changing its external behavior
“We need to refactor this legacy codebase to improve maintainability.”
Origin: From Latin `re-` (again) + `facere` (to make); coined in software engineering in the 1990s
deprecated
/ˈdɛpɹəˌkeɪtəd/Marked as obsolete and scheduled for removal
“This API endpoint is deprecated and will be removed in the next version.”
Origin: From Latin `deprecari` (to pray against, to seek to avert by prayer), from `de-` (away) + `precari` (to pray)
Able to handle increased load or growth efficiently
“The architecture must be scalable to support millions of users.”
Origin: From Latin `scala` (ladder, staircase), from `scandere` (to climb)
Producing the same result regardless of how many times it's executed
“All our API endpoints should be idempotent to handle retries safely.”
Origin: From Latin `idem` (same) + `potens` (powerful, able), literally `having the same power`
Hiding complex implementation details behind a simpler interface
“Good abstraction allows developers to work without understanding every detail.”
Origin: From Latin `abstrahere` (to drag away), from `abs-` (away) + `trahere` (to draw)
boilerplate
/ˈbɔɪɫɝˌpɫeɪt/Standardized code that must be included with little modification
“The framework reduces boilerplate so you can focus on business logic.”
Origin: From 19th century printing industry; steel plates used to print standard text resembled boiler plating
technical debt
/ˌteknɪkəl ˈdet/Implied cost of future rework caused by choosing quick solutions
“We've accumulated significant technical debt that's slowing down development.”
Origin: Modern English compound; `technical` from Greek `tekhnikos` (of art/skill) + `debt` from Latin `debitum` (thing owed)
A bug that causes a feature that worked before to stop working
“The new release introduced a regression in the payment flow.”
Origin: From Latin `regredi` (to go back), from `re-` (back) + `gradi` (to step, walk)
The delay before a transfer of data begins
“We reduced latency by deploying servers closer to our users.”
Origin: From Latin `latens` (lying hidden, present participle of `latere` meaning to lie hidden)
The amount of data processed in a given time period
“The new database configuration doubled our throughput.”
Origin: Modern English compound from `through` + `put`; industrial term from early 20th century
asynchronous
/ˈeɪˈsɪŋkɹənəs/Not occurring at the same time; non-blocking operations
“Asynchronous processing prevents the UI from freezing during long operations.”
Origin: From Greek `a-` (not) + `syn` (together) + `chronos` (time)
Software that acts as a bridge between different applications
“The authentication middleware validates tokens before requests reach the API.”
Origin: Modern English compound from `middle` (Old English `middel`) + `ware` (Old English `waru` meaning goods)
A single-tiered software application with all components unified
“We're breaking down the monolithic application into microservices.”
Origin: From Greek `monos` (single) + `lithos` (stone)
Unable to be changed after creation
“Using immutable data structures prevents accidental state mutations.”
Origin: From Latin `immutabilis`, from `im-` (not) + `mutabilis` (changeable), from `mutare` (to change)
polymorphism
/ˌpɑˌɫiˈmɔɹfɪzm/The ability of objects to take many forms
“Polymorphism allows us to write flexible, reusable code.”
Origin: From Greek `poly` (many) + `morphe` (form)
encapsulation
/ɪnˌkæpsjʊˈleɪʃən/Bundling data with methods that operate on that data
“Encapsulation protects internal state from external interference.”
Origin: From Latin `capsula` (small box), diminutive of `capsa` (box)
A design pattern restricting instantiation to one object
“The database connection pool is implemented as a singleton.”
Origin: From `single` (Latin `singulus` meaning one) + English suffix `-ton`
dependency injection
/dɪˈpendənsi ɪnˌdʒekʃən/Supplying dependencies to an object rather than creating them internally
“Dependency injection makes our code more testable and modular.”
Origin: Modern English compound; `dependency` from Latin `dependere` (to hang from) + `injection` from Latin `inicere` (to throw in)
continuous integration
/kənˌtɪnjuəs ˌɪntɪˈɡreɪʃən/Frequently merging code changes into a shared repository
“Continuous integration catches bugs early in the development cycle.”
Origin: Modern English compound; `continuous` from Latin `continuus` (uninterrupted) + `integration` from Latin `integrare` (to make whole)
The process of releasing software to a production environment
“The deployment pipeline automates testing and release processes.”
Origin: From French `déployer` (to unfold, display), from Latin `dis-` (apart) + `plicare` (to fold)
The ability of different parts or units of a program to be executed out-of-order
“Concurrency improves performance on multi-core processors.”
Origin: From Latin `concurrere` (to run together), from `con-` (together) + `currere` (to run)
A set of practices that combines software development and IT operations
“DevOps practices have shortened our development cycle.”
Origin: Modern portmanteau from `development` + `operations`, coined in 2009