Back-End Development For Beginners

image source

Welcome back! If you’ve been reading along, I mentioned at the end of my last post that I wanted to cover an introduction to back-end development. Wether you’re teaching yourself how to code or are learning in a structured classroom setting, the back-end can be difficult to conceptualize.

Most introductory courses and resources teach aspiring programmers front-end development first. Why is that? Because a student is able to see and affect what the user sees. It’s easy to see how their work manipulates the content on the browser. The back-end, however, is hidden from the user. It’s less intuitive because it does its work behind the scenes. It’s abstract.

I want to demystify that perceived abstraction. There are few technologies that people are more universally familiar with than the browser but how many people understand how it fundamentally works? It’s just a page on the internet, right? The internet may drive modern technology, commerce, and communication but all of these feats are accomplished at their core over a relatively simple process.

image source
  1. A user makes a request for specific pieces of data that are sent out over the internet.
  2. Depending on what type of information they are requesting and the application or program they are using, that request attempts to gather that information.
  3. These processes are communicated to a server that, much like an old-school telephone operator, connects the request to the desired data.
  4. That data is retrieved from a database and returned to a specific API — application program interface.
  5. The request has been fulfilled and the relevant data is returned over the internet and back to the user navigating the browser!

That, my friends, is just the tip of the iceberg…

This is where things get a bit more technical. I’m primarily a JavaScript developer, but don’t let the specific technologies discourage you if you code in another language — the general concepts are still the same!

It may or may not come as a surprise to find JavaScript on the back-end. With the advent of Node.js, the powerful scripting language took its event-handling talents to the server.

image source

As you can see from the figure above, Node.js does not wait for an available thread. Handling events, or requests to the server, are done over a single asynchronous thread. This creates very fast and smooth communication to occur over the server.

Express.js is a Node.js framework that accelerates the process further by adding functionality to connect and build on top of middleware and enables it to respond to the browser via HTTP requests. What connects Express.js to the database is your preference of Node.js driver. My recommendation is PostgreSQL.

If that’s confusing, Node.js and Express.js are both written in JavaScript. Node.js uses Express.js to optimize functionality and then teams up with PostgreSQL to communicate specific requests to and from the database. It’s the data returned from the database or designated API that give us the information we look for when we use applications. Databases may seem dense or uninteresting but they are anything but!

Databases store information and at their simplest create, update, retrieve, and delete data — you may have heard this referred to as the CRUD model. What becomes interesting is what else you are able to do with that data. Further study and manipulation of databases can lead to exciting projects in machine learning, IoT, artificial intelligence…etc.

When you break it down, back-end development is really just handling requests over servers that talk to databases and return data. If you’re interested in a good place to start learning back-end development on your own, NodeSchool is a great place to start!

I hope this basic introduction is helpful and encourages you to explore unleashing the power of back-end development on your next project.

Until next time, best of luck and code on!

- Will




Software Engineer passionate about learning, building and ping pong.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Android Firebase Clould Function:Take Control Of Your Firebase Backend

You definitely should be using Suspense in React — code splitting and preloading

10 Basic Concepts of React

Custom hook to identify unsaved changes in ReactJs

React: The Basics of Data Visualization Using Recharts

2019 NYC Demographic Data

Looking For The Best API To Get Aluminium Rate In JSON Format?

I will be holding a short zoom meeting tomorrow,it a a short class of me saying thank you and i…

Data Binding In Angular

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
William Elliott

William Elliott

Software Engineer passionate about learning, building and ping pong.

More from Medium

Node.js Basics

Clean Code: Tips to Keep Your Code Clean


GitHub: Contributing to Someone Else’s Project