A


A/B Testing

A/B testing is the practice of comparing two versions of online content—websites, apps, marketing emails, etc.—in order to see which version performs better. The two versions (A and B) are presented to users at random in order to gauge reactions.

Example

The A/B testing really helped us decide which version of our software was more preferred.

Further Reading

Agile Software Development

Agile Software Development, or Agile for short, is one of many popular software development methodologies in practice today. Agile encourages flexible planning, early delivery, and continual development within a team and product. Agile is an encompassing term that includes other methodologies such as Scrum and Kanban which also promote Agile values.

Key to Agile Software Development is the Agile Manifesto. This manifesto, crafted by seventeen software developers in 2001, outline Agile values and principles, as shown below:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Agile Software Development is directly opposed to traditional Waterfall development. Whereas Agile is run incrementally and iteratively, Waterfall is sequential in its approach: Requirements are first gathered, then a design is formed, development occurs, then shipping the application. At no point is a step revisted, even if a client is unhappy with the final product. For teams that use an Agile framework, a step is iterated on at any point during the development process, ensuring the client has feeback and recieves value.

Example

My team uses Agile Software Development to quickly iterate on our product, providing quick and meaningful value to our customer.

Further Reading

Application

An application is a program created to execute various functions, designed with end users in mind. The word application is generally abbreviated to app, and includes desktop, mobile and smart apps.

Example

Instagram is an app(lication) that allows users to share visual stories of their lives and interests.

Further Reading

Application Programming Interface

An Application Programming Interface (API) specifies how software components should communicate. It defines the kinds of requests that can be made, how to make them, the data formats that should be used, etc. There are a few types of APIs but the most common is REST.

REST (which stands for Representational State Transfer) is an API type that is used mainly on the web. We call APIs that use REST, RESTful APIs.

Example

We need to show a map on our site, let’s use the Google Maps API.

Further Reading

B


Back End

The back end of software or an application deals with the servers, databases and applications that power user interactions on the front end. Developers who work in the back end use server-side languages like PHP and Java and databases like MySQL to build applications.

Example

Back-end development can be much more varied than front-end development, which is largely driven by JavaScript, HTML, CSS, and various front-end frameworks using these languages.

Further Reading

Boilerplate

A boilerplate is a collection of code snippets and assets that can be reused to boost development.

When building an application, there are some basic global requirements as setting up the compiler, creating the app structure, setting up Redux or Apollo, etc. Rather than rebuilding these every time, developers use boilerplates.

Example

In the 1890s, boilerplate was actually cast or stamped in metal ready for the printing press and distributed to newspapers around the United States. Until the 1950s, thousands of newspapers received and used this kind of boilerplate from the nation’s largest supplier, the Western Newspaper Union. Some companies also sent out press releases as boilerplate so that they had to be printed as written.

Further Reading

  • Here’s a Wikipedia article that talks about its history and provides a good overview.

Bézier curve

Bezier curves are used in computer graphics to draw shapes, for CSS animation and in many other places.

Example

He used the Bézier curve to control the direction of the vector’s animation.

Further Reading

C


Camel Case

Camel Case is the practice of writing phrases without spaces or punctuation, indicating the separation of words with a single capitalized letter, and the first word starting with either case

Example

iPhone, eBay, const isUserLogged = true;

Further Reading

Cascading Style Sheets

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML.

Example

CSS can be used to define the cell padding of table cells, the style, thickness, and color of a table’s border, and the padding around images or other objects.

Further Reading

  • Here’s a Wikipedia article that provides detailed description about Cascading style sheets.

Cloud Computing

Cloud computing is the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet, with pay-as-you-go pricing.

Example

Companies like DigitalOcean, Amazon, Microsoft, Google, and more provide cloud computing services.

Further Reading

  • Here’s a Wikipedia article that provides detailed description about cloud computing.

Cloud Storage

Cloud storage is a model of computer data storage in which the digital data is stored in logical pools, said to be on “the cloud”. The physical storage spans multiple servers, and the physical environment is typically owned and managed by a hosting company.

Example

I used cloud storage to save my work.

Further Reading

Here’s a Cloud Storage Wikipedia article to learn more about cloud storage.

Command-Line Interface

Refers to the text-input interface commonly used by developers to interact with computers and the services or processes running on them. A command-line interface accepts text input (commands) which execute processes and typically result in text output.

Example

System administrators use the command-line interface to SSH into virtual machines running in datacenters.

Further Reading

Comment

A comment is a portion of text that you put into the source code of a computer program to help explain what is happening in that piece of code. This text portion is ignored by the compiler/interpreter and is usually considered an understandaing aid to maintainers of the said computer program.

Example

Comments are useful to help developers understand design patterns and decisions.

Further Reading

Compiler

A compiler is a program that translates code from one language to another - typically source code to machine code. Some popular compiled programming languages and associative compilers are:

  • C
    • GNU Compiler Collection (gcc), C Language Compiler (clang)
  • C++
    • GNC Compiler Collection (gcc), C++ Language Compiler (clang++), MinGw
  • Go
    • Go’s builtin compiler (go run), GNU Go Compiler (gccgo)

Examples

A developer wrote a program in C++. In order to generate and run a binary, they need to compile the C++ source code to machine language.

Further Reading

D


Data Transfer Object

A data transfer object is a type of design pattern that enables a client to pass data with multiple attributes to the server. An advantage of this is that this reduces the number of calls that the client makes to the server, and thus decreases the computer resources being used and boosts performance.

Example

Below is a simple class that holds a user’s information, and can act as a data transfer object.

public class User {
	public final String name;
	public final String email;
	public final Integer phoneNumber;
	public final String country;

	public User(String name, String email, Integer phoneNumber, String country) {
		this.name = name;
		this.email = email;
		this.phoneNumber = phoneNumber;
		this.country = country;
	}
}

Further Reading

DataFrame

A Dataframe represents a table of data in Rows and Columns. It is size-mutable, meaning the structure of the table, i.e. the rows, columns and the values that exist between them can be changed based on requirement of the user of that dataframe.

Example

The New York Stock Exchange data is loaded into a Dataframe for further Analysis.

Further Reading

Debugging

Debugging is the process of finding and fixing the bugs or errors present in a block of code.

When writing code, bugs are errors or faults in a program that prevents it from producing the desired results. Debugging is combing through the code to locate and rectify these faults.

Example

Debugging can be a time consuming process as it involves a couple of steps - locating the line number, identifying the type, take the help of google and finally, fixing the error.

Further Reading

DevOps

DevOps is the collaboration between operations and development teams within an organization to achieve shorter development cycles and greater product reliability. It is the idea that in each stage of an application lifecycle each team has a shared responsbility. This is an ongoing cycle that continues even after the application has been released.

Example

My IT team and software development team will bridge the gap between roles by working together as one unit to share accountability for each stage of the development lifecycle. They will work together through collaboration and automation to build, test, and deploy applications at a higher velocity.

Further Reading

F


FAANG

The acronym FAANG refers to the names of the five most popular tech companies in the US:

  • Facebook
  • Amazon
  • Apple
  • Netflix
  • Google

Originally coined as a stock market term to represent the largest tech companies by market capitalization–FAANG is the latest alias colloquially used among the software/IT community to describe a collective of pretigious household-name tech companies, known for their highly competitive hiring process and their generous total monetary compensation package.

Example

Microsoft is a FAANG company based in Redmond, WA.

Further Reading

Favicon

A favicon is a small 16x16 pixels icon used on web browsers to represent a website or a web page. Short for ‘favorite icon’, favicons are most commonly displayed on tabs at the top of a web browser, but they are also found on your browser’s bookmark bar, history, and more.

Example

A web designer can create such an icon and upload it to a website (or web page) by several means, and graphical web browsers will then make use of it.

Further Reading

  • Here’s a Wikipedia article that talks about its history and provides a good overview.

Flutter

Flutter is a UI software development kit that is used for developing iOS, Android, Linux, Mac, Windows, Google Fuchsia, and web applications. It is based on Dart programming language.

It provides fast development (with its Stateful Hot Reload feature) and beautiful Material Design and Cupertino widgets which incorporate critical platform differences between Android and iOS.

Example

I learned mobile application development using Flutter before beginning an internship.

Further Reading

Framework

Suite of programs used in website or software development. This lays the groundwork for the type of programming language used for your site or app development.

Example

We used the Django framework to build our website and it was quite satisfying.

Further Reading

Front End

A front end is the graphical user interface of a computer or software that makes it easier to use for end users. For example, Microsoft Windows 3.11 was a front end for the MS-DOS command line.

Example

For an application, the front end is the part that is exposed to the user.

Further Reading

G


H


HyperText Markup Language (HTML)

HyperText Markup Language, or HTML, is the markup language used to build the web. It defines the structure and basic layout of web pages, and is often used in tandem with Cascading Style Sheets (CSS) and JavaScript (JS).

Example

I created my first website in bootcamp using HTML, CSS, and JS.

Further Reading

Hypertext Transfer Protocol

Hypertext Transfer Protocol is main communication protocol using for communication between server and browser. HTML files etc. are sent and received by HTTP.

Example

Please use HTTPS instead of HTTP to improve security.

Further Reading

I


Integrated Development Environment

An Integrated Development Environment (IDE) allows developers to execute a number of tasks related to creating a computer program within one environment. A text editor, terminal, debugging tools, and code snippets are tools that may be included in an IDE.

Example

I am using Visual Studio Code as my IDE of choice because of its ease-of-use, code snippets, and customization options.

Further Reading

Internet Of Things

Describes the network of physical objects—“things”—that are embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet.

Example

Various smart devices ranging from interconnected home appliances to self-driving cars to smart lights– there is a new great wave of IOT products coming in this field.

Further Reading

J


JavaScript

JavaScript (JS) is a programming language that enables you to create dynamic web content, such as displaying live updates, interactive maps, or animated graphics.

The first ever JavaScript was created by Brendan Eich at Netscape.

Example

Java and JavaScript are both programming languages but they are not the same or related in any way at all. Java is a programming language that needs to be compiled and is object-oriented, while JavaScript is an interpreted language and is prototype-based.

Further Reading

JSON (JavaScript Object Notation)

JSON stands for JavaScript Object Notation. JSON is a lightweight format for storing and transporting data. JSON is often used when data is sent from a server to a web page.

JavaScript Object Notation is an open standard file format, and data interchange format, that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and array data types.

Since the JSON format is text only, it can easily be sent to and from a server, and used as a data format by any programming language (i.e. JSON is language independent). JSON is “self-describing” and easy to understand.

Example

The following example shows a possible JSON representation describing a person.

{
  "firstName": "John",
  "lastName": "Smith",
  "isAlive": true,
  "age": 27,
  "address": {
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021-3100"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "212 555-1234"
    },
    {
      "type": "office",
      "number": "646 555-4567"
   }
    ],
   "children": [],
   "spouse": null
}

Further Reading

K


Kluge

A kluge is a term in the developer world for the kind of fix or solution to a problem that is rushed, “hacky” and not well thought out.

It’s used to describe the kind of solution that works, but you’re not proud of it.

Example

The product manager kept pinging me asking when the fix was deployed, so I shipped a kluge that just hardcoded some of the configuration, I’ll fix it properly next week.

Further Reading

L


Linter

A linter is a tool for static code analysis that flags programming errors, bugs, and mistakes in a given style or programming language. The name originates from the extraneous fluff or lint shed from clothing.

Linting a program before manually running its code can help to minimize the debugging process, often catching bugs ahead of time.

Example

When I ran my code through a linter, I discovered I’d forgotten a closing bracket that would have broken my application.

Further Reading

  • Here’s a Wikipedia article for more detailed information on linters and their history.

M


Markdown

Markdown is a lightweight markup languange to help format plain text. The formatted text is then often converted to HTML.

Example

The project maintainer should update the README markdown file of the project to reflect the new changes made.

Further Reading

Minimum Viable Product

When working in web development, you may hear talk of “MVP” — or minimum viable product. The minimum viable product is the most pared-down version of a product that can be released to market.

When adopting an MVP approach, developers will first focus on the core features and functions that are absolutely crucial. Then, once the product has been released and user feedback has been gathered, they will continue to build the complete set of features.

Example

That was a good MVP, allowed out team to collect the maximum amount of validated learning about customers with the least effort.

Further Reading

The concept of MVP gained popularity after Eric Ries described it in his book the Lean Startup. Here’s a Wikipedia article that discusses it in greater detail.

P


PascalCase

PascalCase, also known as UpperCamelCase, is a type of naming convention in which the first letter of every word is capitalized.

Example

NintendoSwitch

WaterBottle

TypeOfAnimal

Further Reading

Proxy Server

A proxy server is an intermediary server that acts as the gateway between you and a website. It can contain functionality, security, and more.

Example

We use a proxy server to prevent our employees from spacing out on Facebook all day.

Further Reading

Proxy Servers and Tunneling

R


React

React.js (or simply React) is an open-source Javascript library for building user interfaces (UI). React enables the creation of module-like pieces of code called Components, which reflect a particular part of the UI and can be reused across several web pages.

In contrast to the traditional ways of manipulating the DOM through query selectors, React utilizes the virtual DOM - a localized copy of the DOM - to keep the UI and the state (of the changing data) in sync. It uses reconciliation to compare the current copy to the previous one and only update part of the DOM where there are changes.

React was originally created by Jordan Walke, a software engineer at Facebook.

Example

Although React is defined as a JavaScript library, it has several characteristics of a framework.

Further Reading

Ruby (programming language)

A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. Designed and developed by Yukihiro “Matz” Matsumoto.

Example

“My code is written using ruby.”

“Ruby is my main programming language”

Further Reading

S


SASS/SCSS

SASS or Syntactically Awesome Stylesheets is a preprocessor stylesheet language that’s compiled into CSS. It gives you more power while writing CSS, and includes variables, functions, nesting, mixins, and more. SCSS (Sassy CSS) is another style of SASS.

Example

The following example is implementation of SCSS

/* SCSS */
.card {
  padding: 2rem 1rem;
  box-shadow: 0 5px 10px #0002;`

  &__title {`
      font-size: 1.3rem;
  }
}

/* Compiled CSS */
.card {
  padding: 2rem 1rem;
  box-shadow: 0 5px 10px #0002;`
}

.card__title {
  font-size: 1.3rem;
}

Further Reading

Semi-Structured Data

Data which has some structure, but does not conform to any data model.

Example

All markup languages, HTML, XML, etc creates semi-structured data.

Further Reading

  • Here’s a Wikipedia article that provides detailed description about Semi structured data.

Singleton

Singleton is a type of software design pattern that restricts the instantiation of a class to one, and only one, single instance.

Example

The java.lang.Runtime.getRuntime static method, part of the Java library, returns a singleton.

Further Reading

Snake Case

Snake case (stylized as snakecase) refers to the style of writing in which each space is replaced by an underscore () character, and the first letter of each word written in lowercase.

Example

“BTW…what do you call that naming style? snake_case? That’s what I’ll call it until someone corrects me.”

Further Reading

SQL

SQL is a database computer language designed for the retrieval and management of data in a relational database.

Example

We use SQL to retrive, insert, update, delete data in relational database.

Further Reading

T


Typed

Typed programming is a programming style for declaring the data type of each variable and functions. It’s typically used as required by programming language, or through a programmer’s personal style preferences.

Example

Typescript is a language that extended from JavaScript to make JavaScript code more typed.

Further Reading

U


Unicorn

A Unicorn software developer is someone who knows web development and also has design skills.

Employers love a good unicorn developer so it’s always a good idea for a web designer to learn coding skills (and vice-versa)!

Example

I’m a unicorn developer — Android developer cum UX consultant + graphic designer & graphic artist. You might wonder how I can be all that, you may not believe that I can do all the above. But yes, I exist.

Further Reading

  • Here’s a blog and here’s a quora post where you can learn about it in greater detail.

W


Web Server

The term web server can refer to hardware or software, or both of them working together, that can satisfy client requests on the web. It processes incoming network requests over HTTP and several other related protocols.

Example

Web servers make it possible for websites to be made available on the internet.

Further Reading

What is a web server

Wiki

Wiki is a hypertext publication collaboratively edited and managed by its own audience directly using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project and may be either open to the public or limited to use within an organization for maintaining its internal knowledge base.

Example

“Take some more [[tea]],” the March Hare said to Alice, very earnestly.

“I’ve had “‘nothing”’ yet,” Alice replied in an offended tone, “so I can’t take more.”

“You mean you can’t take “less”,” said the Hatter. “It’s very easy to take “more” than nothing.”

Further Reading