Software engineers are lazy.
In addition to creating the next best app that stems from our laziness, we also coined a gazillion acronyms to consolidate a concept, framework or structure. While convenient to technical folks, these terms often end up confusing outsiders even more.
Here are three acronyms that I found most useful as I ventured into the world of backend development.
CRUD is short for Create, Read, Update, and Delete. It covers the most basic functions of an application. When brainstorming product feature ideas, developers and designers alike will make sure each user story adheres to at least one of the CRUD functions.
Think about the popular apps out there. Almost all of them allow us to create, read, update and delete our own accounts.
You would think that REST is a combination of four words. Weirdly enough, it stands for REpresentational State Transfer.
What the what?
REST is a style for computer systems to communicate on the web. Every channel of communication starts anew. The communicators on both ends (client-side and server-side for instance) understand each other without having to remember any previous messages. This is called "stateless." Developers can, therefore, implement codes on either side without one side having to know about changes of the other.
The constraints of this REST paradigm, or RESTfulness, allow for flexibility across platforms and enable web applications to scale quickly.
MVC, or Model-View-Controller, is a web framework that separates the logic of designing web applications into three parts:
This is where data is stored, manipulated, and saved.
The go-between for models and views. I tend to think of it as an air traffic control center. When a browser request "flies in," the controller will relay data from the browser to models and views, and respond to the browser after retrieving all necessary information from models and views.
CRUD, REST and MVC altogether enable developers to build an organized, functional web app. They strengthen the separation of concerns between subsections inside the framework.
These structures also reflect the convention of single source of truth, which prevents duplication of the code and/or logic.
Is there any other acronym or terminology that every backend developer must know? Please tell me in the comments below!