Change language

Which to choose – frontend or backend?

| | |

Explaining what frontend and backend development are and which to choose in 2023.

There are two paths in web development - frontend and backend. There is a "middle way" that combines the two - fullstack - but you still have to start somewhere. This year, as always, it is better to choose what you like. This article will help you decide.

Which to choose - frontend or backend

Content:

  • What's the difference
  • Typical tasks
  • The minimum knowledge needed
  • Which one to choose

What's the difference between Backend and Frontend

Frontend

The frontend developer is responsible for what the user sees. Using embroidery as an example, he does the front, the front of the embroidery. Only if the embroidery is static, the frontend developer makes the static design layout come alive, turning it into a user-friendly interface. That is, he creates a functional page where you can press buttons, enter data and so on. At the same time, he makes sure that it is displayed correctly on all devices and browsers.

Backend

The backend developer is responsible for what the user cannot see - everything that is hidden "under the bonnet", i.e. running on the server. For example, when ordering an Uber, you enter the address, choose the type of car and pay for the ride, the backend is responsible for the "magic" that is triggered on the other side. In online shops, the backend is responsible for the invisible connection between cart submission, purchase and payment.

Typical tasks

Frontend

Make-up and creation of dynamic interfaces. This type of tasks is dominated by collaborations with studios and freelancers. There, one of the most in-demand areas is the development of typical online shops (not on the engine, if we're talking about the frontend). Smaller studios can load up the front end with layout tasks - right down to creating mailing lists.

Working with SPA (Single Page Application). SPA development and implementation of individual features are often required in product development. For example, for a banking application this may include the creation of a calculator, changeable charts, currency converter.

Backend

Creating the CRUD (an acronym for create, read, update, delete). The easiest task. For example, if a user profile is created on a website, the backend needs to write code that allows it to save changes, return the profile as well as delete it.

Structuring, processing data, and optimizing access to it. The data that comes from the front end needs to be stored and processed correctly, it needs to be in a proper and consistent structure. This is what the back end organises, working with databases, caches, search indexing.

External integration. Connecting external resources, partner APIs and so on. There is a lot of research work here: read the documentation, design so that if a partner goes down, it doesn't break the application.

Minimum required knowledge

Frontend

Base knowledge. For creating simple landing pages, it is sufficient to learn:

HTML (HyperText Markup Language) - a markup language that tells the browser what elements are contained in the page. For example, headings, paragraphs, pictures.

CSS (Cascading Style Sheets) - tells the browser exactly how to display the elements contained on the page. For example, "the header text should be bright red and written in Comic Sans font."

Preprocessors are programs that extend the capabilities of pure CSS. The most popular are SASS, LESS.

JavaScript - a programming language which is needed to "animate" the interface: to communicate with the server, validate forms, open popups.

Frameworks. To develop dynamic pages and more complex SPAs, you need to master at least one JS framework. Right now the most relevant are:

React. The most popular JS library created by Facebook in 2013. React is great for creating simple SPAs.

Angular. A framework that has a lot of stuff out of the box, allowing you to do more complex architectures. It's loved for CRMs, spreadsheets, where there's a lot of logic.

Vue. Framework - the discovery of recent years. Great for building high-performance applications. It is very popular in the Asian market. For example, it is widely used by Alibaba and Xiaomi.

Backend

Base knowledge. A necessary minimum for Juna:

A programming language. The best one to migrate to the frontend if needed is JavaScript. Go, PHP, Java and Python are also stable backends.

Git. A version control system that allows you to revert to previous versions of code. You can work with it in nearly any language and in any team.

Databases. It is hard to imagine a project where they are not needed. There are two categories of databases - relational and non-relational. It is best to start with relational databases and choose something popular - MySQL or PostgreSQL. Knowledge of at least one is sufficient to get you started.

API. You need to have at least a general idea of what they are. Know what REST is, so that you can write it properly. Familiarize yourself with JSON:API.

Frameworks. With Go there is no need for frameworks, for other languages these are now relevant:

  • Node.js for JavaScript. Node is an open-source project that brings together a large community of developers. It is a powerful tool that, once mastered, you can go into microservices if you want to. Paypal, Uber, eBay run on this framework.
  • Symfony and Laravel for PHP. Laravel is slightly more popular and in high demand in the job market. But Symfony is considered more rigorous and correct, so once you learn it, you can easily migrate to Laravel.
  • Django for Python. The best web framework for this language. Pinterest and Spotify use it.
  • Spring for Java. A versatile framework with its own MVC platform and open source.

What to choose: Backend vs Frontend

Frontend

The ideal choice if:

  • You want to get into IT quickly and start earning in just a couple of months;
  • You like to work with the visual component, to create harmony and beauty;
  • You like to see the result of your work immediately.

Backend

This is your choice if:

  • You have a mathematical mindset;
  • You can't stand the idea of any kind of layout;
  • You are likely to be interested in a career in a management position.