9

How To Choose Between A Career in Frontend vs. Backend

 3 years ago
source link: https://hackernoon.com/how-to-choose-between-a-career-in-frontend-vs-backend-u44q33dw
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

How To Choose Between A Career in Frontend vs. Backend

@davidmlesDavid Morales

Computer engineer. Working as a web developer since 2000.

Frontend and backend are two different specializations in web development. In the 2000s, a frontend developer was the same person who designed the site, while the rest were backend developers.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Now in a medium or big company there are many more roles involved. But in small companies (commonly called startups), it is normal to have two types of developer: one for the frontend and one for the backend.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Designer

The frontend developer is not a designer. This is a misconception. The designer is the professional who draws the design on paper or uses an application like Photoshop. The designer must provide the final design as an image format, also delivering the rest of the graphic elements of the website.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

If the website must change drastically between different devices (using responsive design), the designer is also responsible for designing what those different versions will look like.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Frontend

The frontend is everything associated with the user interface and interactions. This includes HTML as the language for presenting information, CSS as the language for styling that information, and JavaScript as the language for interactions.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

To make the job easier, frontend developers usually use some kind of CSS framework, being Twitter Bootstrap the most popular. This represents having a series of files that define the basis of the style, and the frontend developer can customize it.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

If the application provides an API, the common practice is to use a JavaScript framework to implement all templates, so that the backend only communicates with the frontend through the API. These JavaScript frameworks have methods to modularize the code, so maintenance is easier. Examples of these frameworks could be Angular, React, Vue, etc.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

If you want to use the template system of the backend framework, then the frontend developer must adapt to the language chosen to write the templates. But if you only want to use the backend as an API, then the templates must be implemented in the frontend part.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

In short, a frontend developer must know essentially HTML, CSS and JavaScript, the latter being increasingly necessary. From this point, a lot of tools and frameworks are available to make the job easier, although at first you will have to go through a learning curve.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Backend

The backend is what you can’t see directly in the browser. It is something processing information and preparing it in the background.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Nowadays nobody implements a backend from scratch (except for those large internet companies you already know). To make the job easy, it is common to use a framework. For Ruby the most common framework is Ruby on Rails, which provides an MVC pattern. The V is where the backend can overlap with the frontend, as we have seen before with templates.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

But if the application must offer a simple API, there are interesting micro-frameworks such as Sinatra, which allows you to implement routing and controllers in a single file.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

The backend developer should normally be in charge of the database, which can be relational (such as PostgreSQL) or document-oriented (such as MongoDB). The latter type is also known as NoSQL. When a database is large enough to be the core of the company, another role takes over: the database administrator.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

But it is not all about presenting information to the user who is browsing your website. Sending email notifications is something that is managed by a queuing system that runs asynchronously to improve concurrency. There are several solutions to this matter. In Ruby’s world a popular system is Sidekiq, which uses Redis to get quick access to what it needs to process.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Finally, the application must be transferred to the server. Except for Microsoft web technologies, the rest use Linux servers, so the backend developer needs to have the knowledge to setup and optimize this operating system. So, with the help of a deployment tool (like Capistrano), only the changes are transferred.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Full Stack

Finally we come to the Full Stack developer role, which groups the backend and the frontend. This type of developer is the most common in development teams. In the end we must all work in this way, making the development process more agile.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

In my opinion and experience, a full stack developer is usually a backend developer with a good knowledge of frontend, knowing CSS in depth and some JavaScript framework.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

In this case there may be several frontend developers who support the work of the full stack.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Conclusion

When you start learning about web development, you need to be clear about which way to focus, because both the backend and frontend are already big and are making huge progress.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

If you like user interfaces and are comfortable using HTML and CSS, frontend is your area. But keep in mind that JavaScript is a must, because you will use it in all kinds of tools and frameworks. Remember that the frontend developer is not a designer.

0 reactions
heart.png
light.png
thumbs-down.png
money.png

If you feel more comfortable working with databases and serving requests, the backend is for you. You may also need to manage the operating system and deployments (transfer the updated code to the server). But the most important thing is to choose a language that you like. Ruby is a good choice. In fact, Ruby’s slogan is “the programmer’s best friend” 🙂

0 reactions
heart.png
light.png
thumbs-down.png
money.png

Also published here.

0 reactions
heart.png
light.png
thumbs-down.png
money.png
8
heart.pngheart.pngheart.pngheart.png
light.pnglight.pnglight.pnglight.png
boat.pngboat.pngboat.pngboat.png
money.pngmoney.pngmoney.pngmoney.png
Share this story

@davidmlesDavid Morales

Read my stories

Computer engineer. Working as a web developer since 2000.

Join Hacker Noon

Create your free account to unlock your custom reading experience.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK