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

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.

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