- Backend Weekly
- Posts
- What is Backend Engineering?
What is Backend Engineering?
More than 90% of people will get it wrong.
Hello “👋”
Welcome to another week, another opportunity to become a world-class Backend Engineer.
Today’s issue is brought to you by MasteringBackend. A great resource for backend engineers: Next-level Backend Engineering training and Exclusive resources.
If you’re asked, “What is Backend Engineering?”
What will you say?
More than 90% of people will get it wrong. You can pause your reading here and reply to this email or comment with your answer.
waiting…
waiting…
waiting…
Alright. Let’s move on.
In today’s issue, we will explore what backend engineering means. Before we start, let’s go back a little to when the word '“Web Developers” was used frequently.
When you hear the word “Web Developers,” it majorly refers to Backend engineers now. Back then, we used to have “Web Designers” too, which refers to the “Frontend Engineers.”
According to the U.S. Bureau of Labor Statistics, the role of “Web Developer” is expected to increase by 13% from 2020 to 2030, well above an average of 8% for all occupations.
Therefore, a backend engineer is expected to make an average salary of $158,000 in the United States as of the time of writing, according to indeed.com.
Salary of a backend engineer
This means that if you want to build a career in a field that is steadily in high demand and has high salary expectations, backend engineering is one such field.
If we want to succeed in any career with backend engineering included, We need to understand exactly what it means.
From my question above, If you think Backend engineering is the "Behind-the-scenes activities of software," then you’re wrong because what about DevOps engineers and platform Engineers they also do the behind-the-scenes activities.
However, Backend Engineering is the act of creating and maintaining the business logic of a software system.
The definition didn't say "managing, scalability" the business logic, but it said "Creating and Maintaining."
So, the DevOps and Platform Engineers are now responsible for scaling and managing.
However, we were all grouped under Software Engineers or Web Developers back then, and we did everything, including building, deploying, and maintaining.
Therefore, if a person can be all or do all, then the person can be called a "Backend Engineer with DevOps knowledge and others." However, you must choose your main focus, backend or platform engineering.
It is a good thing and adds more advantages if you can learn backend engineering, DevOps, or platform engineering, but you can't be called a "Great Backend Engineer" because of these added advantages.
To become a great backend engineer, there are other steps to take, which we will explore in our next newsletter issue.
Moving on, in this modern time, division of labor and specialization are great ways to achieve mastery in any field.
Now that we have a clear distinction. Let’s go deeper into backend engineering.
The backend comprises all the standard components a regular user does not directly interact with, such as
Databases
Servers
Application logic
APIs.
Exploring the components further, you discover that something is always missing. All we talk about is technologies and tools such as servers, databases, etc.
What about “Business Domain Knowledge”?
Let’s talk about it.
Understanding Business Domain In the Backend
We don’t usually take the business or application logic very seriously. But other components of the backend rely on your application/business logic.
To build the business logic of any application, you need to have domain knowledge of that business before you start building the business logic.
To do so efficiently, you need to understand the company's business. To understand the business efficiently, you need to study its niche, the users, the customers, and a little of all its business angles.
This new knowledge helps you to:
Build logic that aligns with the business.
Build logic that aligns with their target users.
Code fast and reduce unnecessary research.
Align and work with team members well.
Engage in critical strategy sessions.
etc
Having domain knowledge of your company and the business is a great addition to you as a backend engineer. It is almost as important as the different backend components. Because with it, you can create better business and application logic for the business.
Next, let’s explore who a backend engineer is and some of the responsibilities of a backend engineer.
Who is a backend engineer?
By now, you should guess who a Backend engineer is, which is based on what Backend engineering is all about.
A Backend Engineer is a skilled software developer responsible for or skilled enough to understand, plan, develop, and test an application's server-side/business logic.
In conjunction with other team members, he is responsible for deciding the most suitable tools and technologies for the project.
Backend engineers create this infrastructure and work to ensure that the components of backend engineering, such as Databases, APIs, Servers, and application logic, function properly.
Next, backend engineers are responsible for creating and maintaining a software application. What exactly are some of the responsibilities?
Responsibilities of a Backend Engineer
This is a critical section as it answers the question:
“What do backend engineers do?”
Backend engineers build, maintain, and debug the application's backend. This can range from a simple application to a complex and enterprise application. Therefore, this is a large responsibility that can be broken down into different tasks.
In addition, the responsibilities of a backend engineer will solely depend on the company or the type or scope of the project the engineer is working on. However, here are some of the responsibilities of a backend engineer.
Developing the systems and processes to meet business and application-specified requirements.
Developing, managing, and working with external API resources across all devices securely.
Finding and fixing bugs in the backend codebase
Maintaining databases, including data storage, retrieval, organization, backups, and security.
Organizing the logic of the system using and implementing proper algorithms.
Creating and maintaining libraries of backend codes that engineers across the company can reuse
Conducting performance optimization to increase efficiency and improve the user experience.
Securing the application from attacks
Managing any APIs the company uses to integrate external and internal applications.
Understand the goals of the software and come up with effective solutions.
Helping develop the overall architecture of the application’s backend
Compile and analyze data, processes, and codes to troubleshoot problems and identify areas of improvement.
Collaborating with the front-end developers and other teams to establish objectives and design models (architecture).
Manipulating data and ensuring authorized access to it at all times.
Backend Development: Tools and Technologies
To become a backend engineer, you need to learn and master many sets of skills and tools to build great backend systems.
I have discussed the responsibilities of a backend engineer and what they do, but what do you need to know to do it?
As you can see, here’s a pictorial representation of a backend engineer’s roadmap. It’s repetitive. If you can, to a specific point. Let’s say “Intermediate” level. You can relearn each technology to make sure you master them before moving to the next stage.
Also, while you’re at any stage, you can come back or forward to learn any concept to help you achieve your goal.
Backend Engineering Roadmap
As we progress in this newsletter, we will explore each of these concepts one after the other. So stay subscribed and share this newsletter with your friends.
Did you enjoy this read? Let me know. Reply to this mail or comment on what you learned.
Weekly Backend Engineering Resources
Backend Development: The Ultimate Guide 2022 by Solomon Eseme
Jasmine Unit Testing Tutorial: A Comprehensive Guide by Solomon Eseme
NodeJS Unit Testing Tutorial: A Comprehensive Guide by Solomon Eseme
JavaScript Unit Testing Tutorial: A Comprehensive Guide by Solomon Eseme
How to Dockerize an AdonisJS Application by Solomon Eseme
That's all for this letter. See you next time, and stay safe!
It will help if you forward or share this email with your friends and leave a comment to let me know what you think. Also, if you've not subscribed yet, kindly subscribe below.
Reply