In past job interviews, way before getting a dev job I have had a few embarrassing experiences not knowing what a specific acronym from the world of web development means and what it does.
We often find ourselves using some technology for a long time and just skipping or forgetting the basic information of that technology even after extensive use. Being able to name an acronym and explain it in a few sentences can tip the scale in your favor (if the other parts of the interview were not a disaster).
I will skip the basic acronyms that we all know (WWW, HTML, CSS, HTTP) and write a list of acronyms that as a web developer you should know when going to a job interview.
The “should” in the last sentence is of course very relative and/or different from person to person and depends on the type of the job that you are after and the knowledge that you have (knowing an acronym does not help much if you don't know anything else about the thing).
So, this list is based on my experience with attending a number of job interviews for a web developer position (front-end & back-end).
API - application programming interface
A set of subroutine definitions, protocols, and tools for building application software.
a set of Web development techniques using many Web technologies on the client side to create asynchronous Web applications. With Ajax, Web applications can send and retrieve data from a server asynchronously (in the background) without interfering with the display and behavior of the existing page.
ARIA - Accessible Rich Internet Applications
Web standards published by the World Wide Web Consortium (W3C). The ARIA specification defines different front-end methodologies that make web content accessible for disabled people who access the web with assistive technologies (AT), such as screen
BOM - Browser Object Model
A browser-specific convention referring to all the objects exposed by the web browser. Unlike the Document Object Model, there is no standard for implementation and no strict definition, so browser vendors are free to implement the BOM in any way they wish.
CDN - Content Delivery Network
A network of distributed servers that store duplicate copies of our web content.
CDNs allow us to deliver content to each user from a server that is closer to their location or less overloaded. This way we can achieve better performance and reduce server downtime.
CORS - Cross-Origin Resource Sharing
A mechanism that allows restricted resources (e.g. fonts) on a web page to be requested from another domain outside the domain from which the first resource was served.
It allows for more freedom and functionality than purely same-origin requests, but is more secure than simply allowing all cross-origin requests.
CRUD - Create, Read, Update, Delete
A term used in database management, it contains the four basic functions of a persistent database.
In SQL, the four related commands are: INSERT (for Create), SELECT (for Read), UPDATE (for Update), and DELETE (for Delete).
CRUD functions describe the typical data life cycle on dynamic websites.
CTA - Call-To-Action
A marketing term frequently used in web design.
A CTA is a message directed to users or prospective customers to take an immediate action. In web design, CTAs are usually dressed up links that aim to entice users to click a button, banner, advertisement, etc.
DOM - Document Object Model
An API for HTML and XML documents, used by browsers to render these documents.
The DOM specifies the logical structure of a document, and represents it as a node tree in which nodes are objects that represent different parts of the document.
DRY - Dont Repat Yourself
A principle of software development aimed at reducing repetition of software patterns, replacing them with abstractions; and several copies of the same data, using data normalization to avoid redundancy.
ECMASscript - European Computer Manufacturers Association Script (ES)
IDE - Integrated Development Environment
A software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools, and a debugger.
IIFE - Immediately-Invoked Function Expression
LAMP - Linux, Apache, MySQL, PHP/Python/Perl
A popular web stack for creating dynamic websites.
The LAMP stack consists of Linux as operating system, Apache as web server, MySQL as database management software, and PHP, Perl or Python as scripting language. Its Windows variant is called WAMP, while its OS X variant is MAMP.
MEAN - MongoDB, Express.js, Angular, Node.js
MIME - Multipurpose Internet Mail Extensions
An Internet standard that extends the format of email to support:
- Text in character sets other than ASCII
- Non-text attachments: audio, video, images, application programs etc.
- Message bodies with multiple parts
- Header information in non-ASCII character sets
MVC - Model View Controller
Commonly used for developing software that divides an application into three interconnected parts. This is done to separate internal representations of information from the ways information is presented to and accepted from the user. The MVC design pattern decouples these major components allowing for efficient code reuse and parallel development.
ORM - Object-Relational Mapping
A technique that lets you query and manipulate data from a database using an object-oriented paradigm. When talking about ORM, most people are referring to a library that implements the Object-Relational Mapping technique, hence the phrase "an ORM".
An ORM library is a completely ordinary library written in your language of choice that encapsulates the code needed to manipulate the data. In that way you interact directly with an object in the same language you're using.
PHP - (recursive acronym for PHP: Hypertext Preprocessor)
A widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
REST - Representational State Transfer
An architectural style that defines a set of constraints and properties based on HTTP. Web Services that conform to the REST architectural style, or RESTful web services, provide interoperability between computer systems on the Internet.
Sass - Syntactically Awesome Style Sheets
A preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS).
SDK - Software Development Kit
A software development kit (SDK or devkit) is typically a set of software development tools that allows the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar development platform.
SMACSS - Scalable and Modular Architecture for Cascading Style Sheets
A CSS writing methodology that allows us to modularize CSS code, and make it more readable and maintainable.
SMACSS defines 5 types of style rules (base, layout, module, state, theme), and identifies them with different selector prefixes.
SOAP - Simple Object Access Protocol
A messaging protocol specification for exchanging structured information in the implementation of web services in computer networks.
SOAP allows processes running on disparate operating systems (such as Windows and Linux) to communicate using Extensible Markup Language (XML). Since Web protocols like HTTP are installed and running on all operating systems, SOAP allows clients to invoke web services and receive responses independent of language and platforms.
SSH - Secure Shell
A cryptographic network protocol for operating network services securely over an unsecured network. The best known example application is for remote login to computer systems by users.
TLS - Transport Layer Security
TLSand its predecessor, Secure Sockets Layer (SSL), which is now prohibited from use by the Internet Engineering Task Force (IETF) – are cryptographic protocols that provide communications security over a computer network. The TLS protocol aims primarily to provide privacy and data integrity between two communicating computer applications.
UX - User Experience
User Experience refers to a person's emotions and attitudes about using a particular product, system or service. It includes the practical, experiential, affective, meaningful and valuable aspects of human–computer interactionand product ownership. Additionally, it includes a person’s perceptions of system aspects such as utility, ease of use and efficiency. User experience may be considered subjective in nature to the degree that it is about individual perception and thought with respect to the system. User experience is dynamic as it is constantly modified over time due to changing usage circumstances and changes to individual systems as well as the wider usage context in which they can be found. In the end user experience is about how the user interacts with and experiences the product.
XML - 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.
The design goals of XML emphasize simplicity, generality, and usability across the Internet. It is a textual data format with strong support via Unicode for different human languages. Although the design of XML focuses on documents, the language is widely used for the representation of arbitrary data structures such as those used in web services.
XSS - Cross-site scripting
A type of computer security vulnerability typically found in web applications. XSS enables attackers to inject client-side scripts into web pages viewed by other users. A cross-site scripting vulnerability may be used by attackers to bypass access controls such as the same-origin policy.
Thirty (30) acronyms conclude this list. It could have been longer. Maybe it should have been shorter. That is completely up to each individuals wishes and goals.
So if your goals are in that area or you just want to extend your knowledge a bit, this information here should be helpful.
And because I think some additional knowledge is always good no matter what – here is a quick list of some more interesting acronyms.
- SCM – Source Control Managment
- FTU – First Time Use
- AMP - Accelerated Mobile Pages
- SHA - Secure Hash Algorithm
- DDD - Domain-Driven Design
- B2B - Business to Business
- B2C - Business to Customer
- B2G - Bussines to Goverment
- DBMS - Database Management System
- DNS - Domain Name System
Do you think something is missing on this list? Do you think something should not be on this list? Let me know.