I’m not entirely sure whether or not this will come as a surprise, but developers chat ever so much crap. In a world of heady acronyms and bizarre sounding names for really mundane things, it’s easy for an outsider to be completely lost until they enter the magic circle of utter geek-based bullshit.
Last year and for the first time, Spork hired someone without a development background. In an attempt to make them feel more at home, I took it upon myself to start writing a brief explanation of every term I could think of. Turns out there were quite a few.
Then, a couple of months ago, someone (who shall remain anonymous as I like them) actually suggested that I made up some terms for a proposal. I suppose the theory was that I would sound more specialised. Naturally, I was somewhat incredulous, and so I decided this obfuscation had to stop.
And thus, for the benefit of all old, new and prospective clients, non-technical staff, partners and friends – and in a blatant attempt to exploit its benefit to Google search (#sorryNotSorry), I thought it not a terrible idea to put this up on our website.
So, if you’re the type of person who’d like to know the difference between their backend and their backlog, or a grunt and a GIT, then, Ladies and Gentlemen, imagine no more, this page really is for you.
(Disclaimer: If you are actually a techie, some of these explanations may grate with you. If you really want to contact us to point out some spurious nuanced inaccuracy, please feel free. I will politely ignore you. Remember, this article really isn’t for you…)
In image formats on a pixel scale you can either have a block of colour, or nothing – which means if you place the image on top of something, whatever is beneath it will show through. You can also have a colour but be transparent at the same time. This is known as ‘alpha’ transparency. Think of coloured sunglasses.
In geek talk the client is a device or piece of software that accesses the backend. So, in a website, the client is the browser. In a phone app the client is the actual app that sits on the phone.
Eventually every bit of computer code somehow magically gets converted to 1s and 0s. Programmers however don’t write those 1s and 0s. Because that would be too difficult. They write languages that get converted to another language, and then that get converted to another language, and so on and so forth, until its all 1s and 0s. The process of converting a language to another language which is closer to the 1s and 0s is known as compilation.
Languages can be categorised in many different ways, but one way is whether they are compiled or not. Compiled programmes are those which are compiled before they run. They sit in the application ‘compiled’. Uncompiled languages get compiled when they run. And sit in the application uncompiled.
Compiled code tends to run quicker in software than non-compiled code. Examples are C and Java.
Often you might get compilers that are written in the language that they are compiling. Don’t worry, my brain can’t get around that either. Put on the kettle – this helps.
In the olden days, a server – where applications and websites sat for people to access over the internet – was a physical computer with a particular operating system and application installed on it. Think of Windows but without any of the fancy shit (certainly no Paper Clip animations).
Then the ‘cloud’ came along and everything was a ‘virtual server’. In practical terms there was no difference but physically the server wasn’t just one physical machine. Many many hundreds of machines all pooled their resources together virtually making hundreds and hundreds of servers. And so there was flexibility – you just used software to create a new server – you didn’t need to physically wire up and put a new machine into the building.
However, each server was essentially a virtual computer with its own operating system (Linux, Windows, Mac Server, whatever). In order to run anything you needed the entire operating system, which was wasteful.
Containers (hope you’re still with me), are a cut down version of an operating system, requiring just the barebones of what you need. They’re super flexible and efficient and require only the resource to fulfill their specific function.
‘Create Read Update Delete’, the basic functions you need to do with ‘things’ in software.
ES6/ES7/ES8 blah blah
Stands for ‘Graphic Interchange Format’. It’s an image file type. Quite old school now but was best used for logos and diagrams. Mainly usurped by the PNG format. An interesting feature of the GIF was that it can have various states and therefore be animated. Hence services like Giffy… although these days… those animations are rarely actually gifs… just short animations in a different format.
‘HyperText Markup Language’ is what a browser reads to display a webpage. Invented by Tim Berners-Lee, it was originally written to documents academic papers and share them over the World Wide Web – an application on the internet. It’s since developed into a (slightly more) sophisticated method of defining content on the page.
‘Integrated Development Environment’. So you could just write all your code in Notepad. But that’s a horrible experience. IDE’s are software programs that make writing code easier – recognising what you’re writing and adding colour, hints and shortcuts.
Java is a language supposedly written so that developers write it once but can run on many different types of platforms that support it. Used as a backend language for enterprise level applications. Our developer, Phil, is the dogs bollocks at writing it.
Not to be confused with Java, which is very different.
A web based software management platform thats allows users to track issues and manage software releases. You might have heard of the something called Trello – it’s like that, but on steroids.
A programming language to build Android Apps.
2 different techniques that both attempt to reduce the file size of a raster image.
An open source relational database that uses a language called ‘sequel’ to add, edit, select and remove entries.
‘Object Orientated Programming’ a solid way to model programming code into ‘things’ that have various properties and attributes and can also do things.
(Doesn’t really) stand for ‘Hypertext Preprocessor’. A server side scripting language which is considered shonky by many serious developers but in certain circumstances get the job done good enough. Programming language behind many CMSs including WordPress, Drupal, Craft, Joomla, Expression Engine, and the very very first version of Facebook.
‘Red Green Blue’. On a computer screen, and therefore images view on a screen, each pixel is made up of a colour. That colour is made up or a bit of red, a bit of green, and a bit of blue. That makes up all the colours in the world.
A type of Agile workflow where you divide the work up into a unit of time (say a couple of weeks), get as much as you can done during that time, and then you regroup, re-prioritise, and repeat until the work is done.
Static Site Generator
Most websites will have some type of database – containing data (no shit) – and an application that displays it on the page. A web developer wouldn’t be writing a webpage for every product page in an e-commerce site. Sites, then, have templates which contain all the layout information and the application would inject all the product information into the right part of the template with information from the database. Traditionally that injection happens when a user goes to a certain page; the application knows what page you are trying to look at (from the address) works out the right template and the data, and returns the page to the browser. Sometimes to make the site *much quicker, that injection is done at the point at which the database is updated, so every webpage is written out as if the developer had actually written every-single-page. The bit of software, that usefully does this, is known as a ‘static site generator’.
A piece of software used to design interfaces for websites, web apps, and mobile apps.
A daily meeting when everyone in an agile development teams explains what they did the previous day and what they plan on doing the day ahead. Theoretically useful as a time when people can talk through problems they may be having. Actual ‘standing up’ usually compulsory, but not at Spork.
A name often given to a server environment that’s essentially for testing or client review.
A programming language used to build apps for iPhone and iPad.
The ‘User Interface’ of an app (web or phone / tablet). In other words ‘the design’ but specifically focused on the elements which determine how the application is laid out and the interface connection with a user such as buttons, form elements, menu items.
‘User Experience’. Similar to UI, but not to be confused with it. Concerned with the whole process of using the product. The flow a user goes through, the pages they land on, how they navigate successfully to achieve what they wanted to do.
Version Control System
Software that allows teams to work on the same set of files at the same time without causing conflicts, overwriting each other’s work and a whole world of pain. The most common these days is GIT.
A new image format invented by Google. It offers both lossless and lossy compressions, and has alpha-transparency and animated versions. Basically it takes all the best bits of the JPG, GIF and PNG formats. And for that reason, it’s the nuts. Not yet supported by the Apple Safari browser though which means we all have to code around that.
The most popular open source content management system, allegedly it runs 25% of the world’s websites. It’s a flexible entry-level CMS – and free, but under the hood it’s pretty horrendous. It is, however, nice to use for the user (when configured correctly) so for that reason, it’s a CMS that we use, sometimes reluctantly.
‘eXtensible Markup Language’, essentially a type of datafile that can be transferred across the web.
I guess if you spend 15 years as a developer, you pick up some stuff along the way. If anything above here doesn’t make sense, or you think there is something we’ve missed, then why not get in touch? We’d love to hear from you.