Share
The topic for today is backend development, as the concept still remains vague to many. So in order to talk about back in development, let’s revisit what front-end development is: it’s the practice of creating user interfaces that are flexible and make it easy for a user to interact with data. To simplify, it is what you see without the functionality available.
Backend development is a practice of creating those plugs into the data, oftentimes called an application program interface or API. I honestly like to think of the backend as like a panel of plugs, where each plug returns a massaged subset of the data, and the panel itself hides away all the complexity of fetching from and updating to the database. Unlike front-end development, back-end isn’t specific to any one platform; in fact, it serves as more like a foundation that supports whatever platforms sit on top of it. So you can use a Python, NodeJS, or PHP backend in combination with any sort of frontend. To illustrate this, let’s look at the ATM analogy.
When a user wants to withdraw €40 from their account, they’ll tap on various buttons on the machine (or our UI/UX & frontend in this case) that then communicates to the backend to actually carry out those tasks.
Now let’s go back to the panel of plugs visualization. Imagine the front-end plugged into one plug called “get money”.
That plug actually connects to several other plugs on the wall to do the business logic – for instance, one to check that the user actually has €40 in their account, and the other to subtract that amount from their balance. Developing each of those plugs is back-end development to make sure that the user interacts with the data safely. So what’s in the stack?
Usually, it involves two types of languages: one is a server-side programming language that helps build the API itself – commonly used are Python, Java, Ruby, PHP & Javascript. The second is a SQL language to actually fetch the data from the database.
So, what are the important factors and skills for working in back-end development? One is to have the architectural skills for making well-organized, extensible, and testable code. A big part of the back-end is organizing logic and data, so those skills allow for writing code with speed and quality.
The second is to communicate clearly with front-end developers – there’s a myth that back-end developers don’t need to know anything about users (which is wrong by the way). Back-end developers are a big part of allowing users to do what they need to do to get done, so it’s a joint effort between front-end developers and back-end developers to write code to do just this.
And that, simply, is back-end development.