Common Developer Abbreviations / Terminology cover image

Common Developer Abbreviations / Terminology

Oliver Sarfas • March 1, 2019

programming

Whether you're a non-tech or a seasoned veteran of the trade, you'll often hear developers talk of "YAGNI", "WYSIWYG", "DRY", and other such random terms. I hope to clear the mystery of these terms, and bridge the gap of communication that is so often found between technical teams and those less knowledgeable in the area.

It must be known, that it is not the responsibility of the Project Manager, Scrum Master, etc., to know these terms. However, it's helpful nonetheless.

YAGNI

You aren't going to need it

Developers will need this term for specifications that are focusing too much on a single feature that simply isn't going to be used, and could potentially be a waste of resource, or money.

It is also a term used a lot when mentoring juniors, and mid-level developers when they begin adding features to services. I've found that these colleagues are very susceptible to over-engineering, and need to "KISS" more often.

KISS

Kiss band on stage by John Pratt

Not the band I'm afraid

Keep It Simple Stupid.

A minor dig at the person receiving the comment, this refers mainly to over-engineering of a certain feature, or concentrating on granular detail.

The best way to KISS in code, it to take a step back, look at the brief / specification and simply say Does my code do that? Nothing more, nothing less.

You might realise that developers aren't just code monkeys from here! We have a sense of humour sometimes, although it's often very DRY

DRY

Oh, what a convenient transition there..!

Don't Repeat Yourself.

This one is mainly for the programmers, and not so much the non-techs. In a basic rule of programming, especially OOP style, nothing should ever be programmed twice. If you find yourself using the old "copy paste" - you're probably doing it in an inefficient manner.

CRUD

Create, Read, Update, Delete

By now, you're learning that Developers, and Software Engineers, are lazy and dont like to say a lot - so we abbreviate the most common terms.

CRUD is our BREAD (the bold will make sense in a minute) and butter. 90% of the work we do, is manipulating data, in one of these 4 terms. Often creating panels that let you manage the 4 actions in a single location. More recently, there's been a movement in the community, to stop referring to CRUD, and instead use BREAD.

BREAD

close up photo of brown cookie by Jonathan Pielmayer

Rustic and delicious. This BREAD is a little different though

Browse, Read, Edit, Add, Delete

In more modern applications, users are expecting to see a list of the resources they're managing, as well as having the functionality to do classic CRUD actions on them. Hence the "Browse" element here.

Personally I will use the term BREAD more than CRUD now, as it's far less intimidating to clients/customers when explaining how a certain feature works. It's also far easier to remember than CRUD.

JSON

JavaScript Object Notation

Not one to remember if you're not a developer, or work directly in IT. This is essentially the language that most services will speak to eachother with. It's flexible, light, fast, and universally accepted.

Most commonly, you'll see, or hear (it's pronounced "Jason"), this used alongside REST and API.

REST

Representational State Transfer

This is just a set of guidelines that define how a software solution should talk to another. You'll often hear of services being described as RESTful, this is an extension of REST.

The most common use of REST, is with APIs and Web Services.

API

Application Programming Interface

As the last word infers, this is an "interface" into an application. This can take many forms; Web, Remote, Operating System, and Library.

The most common that a developer will use, is the Web API. In plain terms, it's where the developer will send data to, or receive it from.

OAuth

Open Authorization

No, this does not mean that your application has no authentication / login layer. Quite the opposite.

During the childhood of the web, building login areas, and sharing them between platforms, was a chore, and a headache to any developer. Nowadays we use OAuth, mainly OAuth2.

This is a set of rules, and standards, that allow developers to build industry standard authorization layers into an application.

If you've ever "Logged in with Facebook" to a website, you've used OAuth without realising.

red panda door GIF

Using OAuth allows you to keep unwanted visitors out of your services

REGEX

Regular Expression

This is a universal method of searching in text, for certain conditions. If you're looking for "all the entries that have a comma in them", or "does this contain 3 numbers, and a lower case letter" - RegEx is your friend.

Programmers have a love/hate relationship with this beast. It's very particular about how you code the "search term" - luckily, there's tools like RegExr that help us do this.

CMS

Content Management System

Pretty self explanatory one this. It's a system, that manages content. The most popular ones are Wordpress, Joomla, and Drupal at the moment.

If you ask for a website to be built, and you want to be able to manage the content yourself - your developer will tell you that they'll provide a "CMS" for you. These will often include tools such as a WYSISYG

WYSIWYG

What You See Is What You Get - pronounced "wizzy wig"

Ever written a blog post on a website, formatted it with some bold, italics - headings even. Some will let you embed images, videos, other such resources?

Yeah, that's a WYSISWYG editor. Does exactly what it says on the tin. Customer puts in some content, and that's what they get on the output.